Warehouse Manager — WMS
Department: Warehouse & Logistics
Level: Management
Primary objective: Warehouse operational efficiency, stock accuracy, uninterrupted inbound/outbound flow and OMS integration
What this role does
The Warehouse Manager supervises the entire physical and digital operation — configures warehouse structure, manages the goods catalogue, coordinates the team, monitors KPIs, investigates discrepancies, and administers OMS integration for orders from external channels. They are responsible for ensuring CRMconnect always reflects the physical reality of the warehouse.
Modules managed
| Module | Where to find it | What you use it for |
|---|---|---|
| Warehouse List | Warehouse → Warehouse List | Create and manage physical locations |
| Warehouse Settings | Warehouse → Settings | Global WMS configuration |
| Commodities | Warehouse → Commodities | Full SKU catalogue + reorder points |
| Warehouse Reports | Warehouse → Reports | KPIs, stock valuation, turnover |
| Warehouse History | Warehouse → History | Complete audit of any movement |
| OMS Sales Channels | OmniSales → Channels | Configure external channels (WooCommerce etc.) |
| OMS Orders | OmniSales → Orders | Monitor orders from external channels |
| OMS Sync Audit | OmniSales → Sync Audit | Diagnose sync issues |
| Physical Inventory | Warehouse → Physical Inventory | Approve and supervise inventory sessions |
| Adjustments & Losses | Warehouse → Adjustments | Approve high-value adjustments |
Complete traceability — flow map
As Manager, you have visibility over the entire stock lifecycle:
INBOUND
─────────────────────────────────────────────────────
[Acquisitions] Purchase Order (PO)
↓
[Receipt] GRN — Goods Receipt Note (+ barcode scanner)
↓
[WMS] Stock entered in Commodities → Warehouse History: inbound entry
INTERNAL MOVEMENTS
─────────────────────────────────────────────────────
[Inventory] Internal Transfer (Warehouse A → Warehouse B)
[Production] Material Issue Slip (stock → production/projects)
[Adjustments] Adjustments & Losses (damage, theft, expiry)
OUTBOUND
─────────────────────────────────────────────────────
[Sales] Sales Order (internal) ┐
[OMS] OMS Order (WooCommerce/marketplace) ├─→ Delivery Note
[B2B] Distributor Portal Order ┘ ↓
(+ scanner picking verification)
↓
Packing List (run manifest)
↓
Stock decremented in Commodities
Warehouse History: outbound entry
Invoice generated from Delivery Note
RETURNS
─────────────────────────────────────────────────────
[Customer → Warehouse] Delivery Returns → stock re-entered (active or quarantine)
[Warehouse → Supplier] Purchase Returns → stock out + value recovery
RECONCILIATION
─────────────────────────────────────────────────────
[Periodic] Physical Inventory (scanner) → Adjustments if needed
[Continuous] Warehouse History — any movement, any operator, any time
Configurations you manage
Warehouse structure
Warehouse → Warehouse List — create as many locations as you need:
| Example location | Use |
|---|---|
| Main Warehouse | Primary operational stock |
| Quarantine Warehouse | Non-conforming received goods awaiting inspection |
| Returns Warehouse | Returned goods awaiting decision |
| Showroom | Stock displayed in physical store |
| External Warehouse | Regional hub or 3PL |
Each warehouse has separate stock; transfers between them are recorded through Internal Transfer Notes.
Goods catalogue (Commodities)
You are responsible for ensuring each SKU has:
- Reorder point set → triggers automatic alert when stock drops below level
- Default storage warehouse → operators know where to put goods at receipt
- Correct unit of measure → prevents ordering errors
- Valuation method (FIFO / average cost) → correct financial reporting
OMS integration — channel configuration
OmniSales → Sales Channels — configure each external channel:
WooCommerce:
→ Store URL, API credentials
→ Sync frequency (e.g. every 15 minutes)
→ Product mapping: WooCommerce SKU ↔ internal CRMconnect SKU
→ Warehouse mapping: which warehouse stock decrements for orders from this channel
Marketplace (eMag, Amazon etc.):
→ Marketplace API credentials
→ Category and price mapping
→ Stock published on marketplace = available stock from selected warehouse
B2B Distributor Portal:
→ Configured separately in Portals → Distributor Portal
→ Orders enter OMS → same dispatch flow
Key rules when configuring OMS:
- Each channel sees available stock from its configured warehouse
- Stock decrements synchronously across all channels when an order is placed — prevents overselling
- If a channel shows incorrect stock → check mapping in Sales Channels
Weekly routine
Monday — warehouse health check
- Reports → Available stock — general overview
- Reports → Reorder point — SKUs below minimum level → send list to Acquisitions
- OMS Orders — filter status "New" without delivery note issued > 24h → investigate blocker
Wednesday — audit and discrepancies
- Adjustments & Losses — review week's adjustments → identify patterns (same SKU, same operator, same cause)
- OMS Sync Audit — check for repeated sync errors → if yes → escalate to IT
- Review planned cycle counts → confirm they were completed
Friday — management reporting
- Reports → Inventory valuation → stock value at week-end
- Reports → Stock turnover → slow-moving SKUs (candidates for promotion or liquidation)
- Consolidate week's KPIs for reporting
Key workflows
Workflow 1 — Add new OMS channel
Decision: opening a new WooCommerce store
→ OmniSales → Channels → Add new channel
→ Fill in: name, channel type (WooCommerce/Shopify/other), API credentials
→ Configure sync frequency (recommended: 15 min for orders, 1h for stock)
→ Map products: internal SKU ↔ external channel SKU/ID
→ Select source warehouse for stock
→ Test: place a test order from channel → verify it appears in OmniSales → Orders
→ Verify stock decrements correctly on order confirmation
→ Activate channel → picking operator sees orders in OMS
Workflow 2 — Investigate stock discrepancy
Cycle count report shows: SKU X = 80 units physical, 95 units in system
Difference: 15 units missing
→ Warehouse → Warehouse History → filter SKU X, last 30 days
→ Analyse all movements:
- Inbound (GRNs): do quantities match?
- Outbound (Delivery Notes): do all delivery notes have associated orders?
- Material Issue Slips: did anyone consume without a document?
- Adjustments: any adjustments without clear justification?
→ If cause identified → correct the problem document
→ If not found → record Adjustment with reason "Unexplained discrepancy" + investigation note
→ If patterns repeat → action: training, procedure change, internal investigation
Workflow 3 — Annual inventory preparation
2 weeks before:
→ Create Physical Inventory sessions by zone/category
→ Communicate to team: counting plan, zones of responsibility, date
→ If full inventory: block receipts and dispatches on counting day (or overnight)
Counting day:
→ Each operator receives their zone + scanner
→ Count physically → enter into platform sessions
→ Do not consult system stock while counting
Post-count:
→ Platform generates discrepancy list
→ Do second count for items with significant differences
→ Validate confirmed differences → record adjustments
→ Save inventory report → hand to Finance for balance sheet
Workflow 4 — SKU below reorder point
Automatic report or alert: SKU Y = 15 units available, minimum = 50 units
→ Check causes: unusual consumption? unexpected large order? delayed GRN?
→ Send alert to Acquisitions with: SKU, current quantity, minimum quantity, proposed order quantity
→ Acquisitions issue urgent PO
→ Track GRN → confirm stock arrives in time
→ Adjust reorder point if consumption has structurally changed
Warehouse performance metrics
| KPI | Definition | Warning signal |
|---|---|---|
| Stock accuracy | % SKUs without discrepancy at cycle count | < 97% = systemic problem |
| Order fulfilment rate | % orders dispatched without stock shortage | < 95% = poorly managed stock |
| Order → dispatch time | Hours from order confirmation to delivery note issued | > 24h = operational bottleneck |
| Adjustment value / month | Losses from adjustments as % of stock value | > 0.3% = investigate |
| OMS orders with sync error | Orders not received from external channels | > 0 in 24h = alert IT |
| SKUs below reorder point | Items with unresolved reorder alert | 0 after 48h from alert |
| Stock turnover | How many cycles per year stock renews | Industry-specific; monitored monthly |
Practical tips
Quarantine stock is not available stock. Configure a separate quarantine warehouse — don't accept that non-conforming or returned goods sit in the same "warehouse" as active stock. The confusion generates dispatches of defective products.
Failed OMS sync overnight = lost orders in the morning. Check sync audits first thing. An undetected API error for 24h = orders that never reached picking.
Reorder points are live, not static. Review them quarterly or after each season — a threshold set 2 years ago on then-current volume may be completely wrong today.
Warehouse History is the best answer to any complaint. When a customer says they received the wrong thing, when a supplier disputes a debit note, when Finance doesn't understand a balance sheet value — open History, filter, and the answer is there within 2 minutes.