Chapter 9 — Warehouse management (WMS)
Module codes: WMS_REPORTS, WMS_TRANSACTIONS, WMS_SETUP
Home: /wms/dashboard/
9.1 What the module is for
The WMS module manages a warehouse at bin level. Where the Inventory module knows that you hold 400 kg of an item in a warehouse, WMS knows which bin each pallet sits in, which bins that item is allowed to occupy, and which batch to pick first so nothing expires on the shelf.
It is used by customers who run a real physical warehouse with racking, and by customers integrated with SAP Business One, where SAP holds the quantities and the portal holds the layout and the operational screens.
How it relates to SAP Business One. In an SAP-integrated installation:
| Layer | Owns |
|---|---|
| SAP Business One | The system of record: warehouses, quantities, batches, documents |
| TOSS ERP WMS | The layout — warehouse, zone, aisle, rack bay, shelf, bin — which products may go in which bin, pick suggestions, and an audit of everything asked of SAP |
Location geometry is never synchronised from SAP; it is defined here. Quantities are read from SAP, and confirmed moves are posted back to it as stock transfer documents.
9.2 The location hierarchy
Warehouse
└── Zone e.g. raw materials, finished goods
└── Aisle sorted, to give an efficient pick path
└── Rack bay
└── Shelf level
└── Storage bin ← stock lives here
A full bin code reads like WH01-RM-01-A-02-05. Build the hierarchy once; it changes
only when the building changes.
9.3 Setup
Home: /wms/setup/
1. Hierarchy defaults
Screen: /wms/setup/hierarchy-defaults/
Set the naming and numbering conventions that new zones, aisles, bays, shelves and bins will follow. Doing this first means the codes come out consistent instead of being tidied up afterwards.
2. Warehouses
/wms/setup/warehouse/new/ create
/wms/setup/warehouse/<id>/ edit
- Enter the name and code.
- Set the role: In transit for a receiving dock, Storage for main storage, Shipping for dispatch.
- In an SAP-integrated installation, map the warehouse to its SAP warehouse code. This mapping is what lets the portal read the right quantities and post transfers back correctly.
- Save.
3. Building the layout
Create each level from its parent:
/wms/setup/warehouse/<id>/zone/new/ zone inside a warehouse
/wms/setup/zone/<id>/aisle/new/ aisle inside a zone
/wms/setup/aisle/<id>/bay/new/ rack bay inside an aisle
/wms/setup/bay/<id>/shelf/new/ shelf level inside a bay
/wms/setup/shelf/<id>/bin/new/ a single bin
/wms/setup/shelf/<id>/bin/bulk/ many bins at once
/wms/setup/shelf/<id>/duplicate/ copy a shelf and its bins
Two shortcuts save a great deal of typing:
- Bulk bin creation creates a numbered run of bins on a shelf in one action.
- Duplicate shelf copies a fully-configured shelf, including its bins, to build identical racking quickly.
4. Importing a layout from a file
/wms/setup/csv-import/ upload
/wms/setup/csv-import/sample/ template
For a new warehouse this is far faster than building it by hand. Download the sample, fill in one row per bin with its full hierarchy, and upload.
5. Bin rules — which products may go where
Open a bin (/wms/setup/bin/<id>/) and set its allowances. An allowance can be:
- Item-specific — only this item may be stored here.
- Category-wide — any item of this type.
- A general maximum quantity — a capacity cap with no product restriction.
Allowances are what make putaway suggestions trustworthy. Without them the system can only suggest an empty bin; with them it suggests a correct bin.
Use /wms/setup/bin/<id>/toggle-flags/ to take a bin offline temporarily — damaged racking,
a blocked aisle — so it stops being suggested without being deleted.
6. Putaway rules
Screen: /wms/setup/putaway-rules/
A putaway rule answers: when this arrives here, where should it go?
Each rule has three parts:
- Arrival location — chosen from the warehouses marked as transit or inbound.
- Product selector — a specific item, or an item type.
- Destination — either a shelf (the system picks an eligible bin inside it) or an exact bin.
Plus:
| Setting | Effect |
|---|---|
| Maximum quantity | Cap for this rule |
| Priority | Lower number wins when several rules match |
| Active | Turn a rule off without deleting it |
When several rules match, the system works through them by priority and then by location order, checking at each candidate that the bin's product-mix constraints and capacity allow the stock.
7. Unit conversions
/wms/setup/unit-conversions/ list
/wms/setup/unit-conversions/sample-csv/ template
Where receiving is in one unit and storage in another — buying by the tonne, storing by the bag — record the conversion here so putaway quantities come out right.
8. Layout map
Screen: /wms/setup/layout-map/
A visual tree of the whole warehouse, with child counts at every level and colour coding by level. Use Expand all to review a new layout end to end, and check that offline bins are marked as you expect.
9.4 Daily operations
The dashboard
Screen: /wms/dashboard/
Shows stock at a glance, work waiting, and — in SAP-integrated installations — transit-ready stock and expiring batches.
The shelf dashboard
Screen: /wms/shelf-dashboard/
Occupancy from the shelf's point of view: what is full, what is empty, what is approaching capacity. This is the screen for planning where an incoming container will go.
Stock views
/wms/main-stock/ stock in main storage
/wms/transit-stock/ stock sitting in transit / inbound
Syncing items
Screen: /wms/sync-items/
In an SAP-integrated installation, refreshes the item list from SAP so newly created products are available for putaway rules and transfers.
9.5 Putaway: transit to storage
Screen: /wms/transit-allocation/
This is the inbound routine, run whenever goods arrive in the transit warehouse.
- Open
/wms/transit-allocation/. Every item sitting in transit is listed with its quantity and batch. - For each line the system proposes a destination bin from the putaway rules.
- Review the proposals. Change a destination where you need to — a proposal is a suggestion, not an instruction.
- Post reservations to hold the destinations while the goods are moved physically.
- Move the stock.
- Execute the line, or Execute all ready to process everything reserved.
On execution the portal posts the transfer — in an SAP-integrated installation, a stock transfer document from the transit warehouse to the storage warehouse — and logs the attempt with its result and the SAP document number.
Print the receipt at /wms/transactions/<id>/receipt/ for the physical file.
Both Post reservations and Execute require create rights on
WMS_TRANSACTIONS. A user with view rights only can see the screen and plan, but
the actions will be refused.
9.6 Storage transfer: moving stock between bins
Screen: /wms/storage-transfer/
For consolidating part-pallets, clearing a bin, or reorganising a zone.
- Open
/wms/storage-transfer/. - Choose the source bin. The screen lists what is in it, by batch.
- Choose the item and batch and enter the quantity.
- Choose the destination bin. Allowances and capacity are checked.
- Transfer.
- Print the log at
/wms/storage-transfer/log/<id>/print/if the move needs a paper trail.
9.7 Storage to bins
Screen: /wms/storage-to-bins/
Used where stock exists in a storage warehouse but has never been assigned to a bin — typically after a go-live migration, or when SAP holds stock the portal has not yet placed. It walks the unassigned stock and lets you place it, using the same putaway rules.
9.8 Outbound delivery and FEFO picking
/wms/outbound-delivery/ deliveries to pick
/wms/outbound-delivery/pick/<id>/ the picking screen
/wms/outbound-delivery/pick/<id>/print/ printable pick list
- Open
/wms/outbound-delivery/. Deliveries awaiting picking are listed. - Open one. For each line the system suggests which bin and which batch to pick, using FEFO — first expiry, first out. The batch closest to expiry is offered first, which is what stops stock ageing out in a back corner.
- Print the pick list and pick the goods.
- Confirm the quantities actually picked, adjusting where a suggestion could not be followed.
- Submit. The delivery is posted and the bin quantities are relieved.
9.9 Permissions
| Module | Feature | Controls |
|---|---|---|
WMS_REPORTS |
wms_dashboard |
The dashboard |
wms_shelf_dashboard |
Shelf occupancy | |
wms_main_stock |
Main stock view | |
wms_transit_stock |
Transit stock view | |
WMS_TRANSACTIONS |
wms_transit_allocation |
Transit allocation and putaway |
wms_storage_transfer |
Bin-to-bin transfers | |
wms_storage_to_bins |
Placing unassigned stock | |
wms_receipts |
Receipts | |
wms_item_sync |
Syncing items from SAP | |
WMS_SETUP |
wms_warehouses |
Warehouses |
wms_zones_aisles |
Zones and aisles | |
wms_shelves_bins |
Shelves and bins | |
wms_putaway_rules |
Putaway rules | |
wms_unit_conversions |
Unit conversions | |
wms_layout_map |
Layout map | |
wms_hierarchy_defaults |
Naming defaults | |
wms_csv_import |
Layout import |
The usual split is: warehouse operators get WMS_TRANSACTIONS create rights and
WMS_REPORTS view; supervisors additionally get WMS_SETUP.
9.10 Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No destination suggested during putaway | No matching putaway rule, or every candidate bin is full or disallowed | Add or widen a rule; check bin allowances and capacity |
| A bin is never suggested | It is offline, full, or its allowance excludes the item | Check the bin's flags and allowances |
| Post reservations or Execute is refused | View-only rights on WMS_TRANSACTIONS |
Grant create rights |
| Transfer fails when posting to SAP | SAP is unreachable, or the warehouse mapping is wrong | Check the SAP settings (Chapter 24); the failure is recorded in the transfer log with its reason |
| Transit stock list is empty | The warehouse is not marked as a transit role, or its SAP code is wrong | Correct the warehouse setup |
| FEFO suggests the wrong batch | Batch expiry dates are missing | Expiry must be captured at receipt for FEFO to work |
| Bins exist but hold no stock after go-live | Stock was never assigned to bins | Use /wms/storage-to-bins/ |
| A bin cannot be deleted | It holds stock, or history references it | Empty it first, or take it offline instead |