The situation
The operator handled inbound, storage and dispatch for several clients out of shared buildings. Stock was recorded on paper at the point of movement and keyed in at the end of a shift, so the system was always a shift behind the floor.
Two problems followed from that. Stock in the system could not be trusted, so pickers kept a second list of where things really were. And because movements were not timestamped against a client, contract billing was reconstructed monthly from keyed records and defended in a meeting.
What we changed
One stock ledger per client, on shared physical locations. Ownership became an attribute of the stock rather than a property of the building.
Barcode-driven putaway and picking. Every movement is confirmed where it happens, by the person who made it, against a bin that exists.
Wave picking against dispatch cut-offs. Work is released by cut-off and carrier instead of printed one order at a time.
Billable events captured as they occur. Receipts, put-aways, picks, pack-outs and storage days become records, not a month-end estimate.
A reconciliation view. Floor position and ledger position side by side, with the difference attributed to a movement rather than to a guess.
The test we set before configuring anything: a supervisor should be able to answer "where is it" without walking.
Implementation lead, AxonRaysHow it went live
Phased, building by building. The first building ran the new process for a full billing cycle while the others continued as before, so the first invoice run under the new model could be checked against a known baseline before anything else moved.
Each cutover happened between shifts. Cycle counts set the opening balances, and the old spreadsheet was kept read-only for one cycle as a reference rather than a fallback. Floor support was on site for the first weeks, standing next to the people scanning.
What changed afterwards
Pickers stopped keeping a second list. Billing moved from a monthly argument to an exception queue worked daily. Cycle counting became routine work instead of an annual shutdown. Onboarding a new client became configuration rather than a project.