One ledger. Item, location, lot, and client all answer to it.
Nothing overwrites a balance directly. Every count, move, and correction is a line, and the balance is only ever the sum of the lines.
Lots respect an expiry date. Holds move stock without moving the shelf.
A hold is a status, not a move.
Stock flagged for QA, a claim, or a client instruction stays exactly where it is on the shelf. What changes is whether allocation is allowed to see it — the location record and the ledger both keep a full history of when the status changed and who changed it.
Choose which stock should ship first.
A lot carries its own expiry date from the day it is received. Allocation reads it automatically — the soonest-to-expire lot of an item goes out first, with an order’s requested lot respected when one is specified.
Stock that has sat too long shows itself.
A report reads the same lot dates and flags what is approaching its expiry or has simply not moved — a warehouse manager sees the problem before a client asks why a pallet is still there.
A slice of the floor, counted blind. A correction, with a reason attached.
Damaged, expired, found, miscount.
A correction is never just a new number. The reason code travels with the line into the ledger, so a pattern of damage on one lane shows up in a report instead of staying a hunch.
Counted before the system’s number is shown.
A counter enters what they see on the shelf first. Only then does the screen show the expected count, and a variance has to be confirmed before it reaches the ledger — not overwritten by whoever counted last.
Refill the locations used for daily picking.
A pick location below its minimum raises a task to pull from reserve stock, so a picker finds a full bin instead of an empty one halfway through a wave.
Every scan is a rate-card line, waiting for month-end.
Storage is the clearest of the billable events, because it never needs a person to remember to start counting — but it is one of many. Receiving a pallet, picking a line, packing a carton, and assembling a kit each write their own event the moment they happen.
The rate card is set once, per client.
A receiving fee per pallet, a storage rate per pallet-day, a pick fee per line, a rate for a kitting hour — each client’s card can differ, and eligible services are priced using the rate effective on the day the work was performed.
Find the location behind the task.
Use Floor Studio to prepare your storage locations and labels. In daily operations, the warehouse map helps your team find recorded products and task destinations.
One disputed month of storage is welcome.
Bring a month you argued about with a client, and a rate card with real numbers on it. The real dates run through the card on the call, checked against an invoice you actually sent. 45 minutes.