An order isn't ready until someone has counted it.
The warehouse gets its own screen. Scroll down and watch picking #24 go through it: it opens, it gets counted line by line, a shortfall shows up, and only then does it close.
The warehouse queue: what's left to pick and who's picking it. #24 is pending.
The picking opens: one line per variant, with its code and its packaging.
Counted and ticked, one at a time. What wasn't ticked, wasn't counted.
Only 5 left of the last one: the delivered quantity drops and the reason is noted, on that line.
Only at 100% checked does closing unlock β and it's signed with who and when.
What's left to pick, who's picking it and how far along it is.
The warehouse opens one screen and sees the day's load in order, with the real progress of each order. Nobody has to ask how far along anyone is: the percentage comes from the lines actually checked.
- Three states, no ambiguity: not started, in progress and finished. Progress is the share of lines checked, not anyone's estimate.
- With the context you need: customer, assigned rep, tracking stage and order total, so you can decide what gets picked first.
- Voided orders don't clutter the queue: anything cancelled doesn't show up to be picked.
- Pre-orders come in when they land: lines for merchandise still on hold don't show up to be picked. When the batch is released, they join the picking on their own.
Every variant is its own line. The way it's counted in the warehouse.
"53 face masks" doesn't get picked: 48 by the case and 5 by the unit do β two different packagings of the same product, counted separately. That's why every variant of the order shows as its own line, with its ordered quantity and the quantity actually delivered.
- Ordered against delivered: whoever picks lowers the quantity when they can't complete it, and the order records the shortfall on that exact line.
- Never more than ordered: the delivered quantity can't exceed the ordered one. The warehouse can't invent merchandise the customer never asked for.
- Notes where the problem happened: "only 18 left, the rest arrives Thursday" gets written on that line, not in a separate notebook.
- One check per line: verifying is an explicit act. What wasn't ticked, wasn't counted.
It went out complete or it went out short. Those aren't the same, and the order knows it.
On finish, the order advances a stage on its own. And it advances to a different stage depending on whether it went out complete or with a quantity trimmed β which is exactly the case where the buyer needs to know before the truck arrives.
- It won't close with unchecked lines: if a single one is missing, the button won't close the picking. That's the rule that prevents the "ready" order nobody counted.
- Two different stages, configurable: one for a complete pick and another for a pick with changes. Each with its own email to the buyer.
- It gets signed: the picking stores who closed it and at what time. If a box is missing tomorrow, there's someone to ask.
- The buyer learns about the shortfall by email, not when they open the boxes.
Whoever picks logs in and sees the queue. Nothing else.
Giving the warehouse access can't mean giving it access to cost prices, the customer book or the billing. Picking is its own permission: whoever has it sees their queue and the order detail they need to work, and the rest of the panel doesn't exist for them.
- A permission, not an admin account trimmed by hand: the picking role exists as such in the permission system.
- No passwords taped to the wall: access is by link, like the rest of the team's. In a warehouse with turnover, that matters more than in an office.
- They can see the order, not remake it: they reach the detail in order to pick it, without being able to change prices or commercial terms.
- Every action carries a name: who checked and who closed the picking are recorded on the order.
If the order is edited after picking, the picking reopens on its own.
This is the case that breaks any hand-rolled picking system: the customer adds two items after the order was already picked, or the pre-order batch that was missing finally lands. Here the picking goes back to in-progress, the new lines join, and what was already counted is kept.
- No redoing it: the lines already checked stay checked. Only what changed comes back into the queue.
- Released pre-orders join on their own: when the held batch is released, its lines show up in the picking with nobody entering them.
- And it asks to be closed again: with new unchecked lines, the picking isn't finished until someone counts them.



