How fast, and how right
Seven days, one row per person per day. Speed on its own is not performance — ninety lines an hour without checking the code beats sixty done right on any screen that counts only acts, which is why the reversals sit on the same row and this table is sorted by them rather than by pace.
Verbs is how many different kinds of work the person did that day, and it is there to stop the rate being read as a league table: receiving cartons and picking lines are not the same job and their units-per-hour are not comparable. The table below breaks each day into its verbs, which is where a fair comparison lives.
Hours counts hours in which something was actually recorded, because there are no shifts in this system — ADR 0053 refuses a device clock, so an hour is when the write landed. Somebody who worked eight hours and touched the handheld in five reads as five, so the rate is an upper bound rather than an estimate. Said here rather than assumed.
| Day | Person | Verbs | Acts | Units | Hours | Units/hr | Undone | Per 1,000 |
|---|
Who did what
Seven days, by person and by reason. The reason is the axis that matters: forty put-aways and no counts is a different day from twenty of each — and it is the only axis on which two people's pace can honestly be set side by side.
Undone is this person's own act that a later transaction reversed. Not an inference: an act is never edited, so correcting one posts the opposite movement and names what it undid — db/102, and the register is in What happened below.
| Day | Person | Doing what | Acts | Units | Hours | Units/hr | Undone |
|---|
What happened
The last sixty acts, newest first. An act is never edited — correcting one posts the opposite movement and records who did it and why, so the mistake and the fix both stay here. A corrected act keeps its row and says what undid it.
| When | Doing what | Product | Units | From → to | Who |
|---|
Write goods off
Goods that are gone and not sold. It is an act like any other and appears above with your name on it — and like any other it can be corrected, which is what happens when a damaged pallet turns out to be sound.
The loss stays on the owner's books. Writing off a merchant's carton is our liability to them, and posting it against nobody reads afterwards as if they never sent it.
Came back, not yet in stock
The book says these are with a customer and the delivery did not happen. Every row is a carton no count can see — book it back and it rejoins the shelf it can be picked from. Nothing here is a loss: goods that are gone are a write-off, and these are goods that are here.
| Parcel | Product | Units | What happened |
|---|
Shelves nobody labelled
Goods sitting at an account no location row declares. A finding, not a refusal — ADR 0002: refusing the scan does not move the goods, it only declines to know where they are. Print a label and scan it.
| Account | Kind | Products | Pallets | Units | Last moved |
|---|
Aisles, and which one you reach first
Coming in from the door: 1 is the aisle you reach first. Blank means nobody has said, and an aisle with no position cannot be ordered against any other — every shelf in it stays unplaced. Nothing here is guessed: alphabetical order is a property of the paint, not of the building.
Once the aisles are ordered, the put-away suggestion offers a fast mover (top fifth of the fortnight's demand) the front third of the walk first and anything else the back — and /stock lists the fast movers still stored at the back while a shelf by the door stands empty.
Print opens a sheet in a new tab: the aisle sign for the end of the rack, then a QR label per shelf, in bay order. Print at 100% — a QR shrunk by “fit to page” is a QR a scanner refuses. Every shelf on one sheet is the whole building.
| Aisle | Shelves | Reached |
|---|
Shelves: where they are, and how much they hold
Put-away suggests a shelf, and the only thing it can refuse is one whose stated capacity a pallet would exceed. A shelf nobody has measured is never refused and never preferred — blank means nobody has said, which is not zero and not unlimited. Units, not volume: forty small boxes and forty large ones are the same number here and are not the same shelf. Crude on purpose, because the alternative was a cubic metre nobody measured.
Aisle and bay are the same kind of crude: bay 1 is nearest the aisle mouth, and bays 3 and 4 are next to each other whether they are one metre apart or four. There are no metres in this system. Both together or neither — half a position cannot be walked to.
| Shelf | Holding | Pallets on it | Aisle | Bay | Holds |
|---|
Movements with nobody's name on them
Stock moved and the record does not say who. db/095 made the actor required going forward — these are what came before it, or a path that still does not name one.
| Doing what | Acts | First seen | Last seen |
|---|
Labels to reprint
Torn, soaked, scanned to death: a person on the handheld scans or names the label and it lands here. One sheet prints exactly these and clears the list.
| Label | Kind | Why | Asked |
|---|
Print these — a sheet in a new tab, at 100%; the list empties when it opens.
Pallets, totes and cages
Where each one is standing. Moving a loaded pallet writes no stock movements at all — that is the whole business case for the scanner.
Print labels for the new ones Reprint every unit — a sheet in a new tab, at 100%. "New" is every unit no sheet has ever been run for, so minting six this morning does not reprint the building.
| Code | Kind | Label | Standing on |
|---|
Retired pallets still holding stock
A unit was retired with goods still on it, so that stock sits at an account no other screen shows.
| Code | Last standing on | Retired | Units | Products |
|---|
Empties to collect
Returnable units standing empty. Crates are the classic silent loss in this trade — nobody notices until stocktake, and by then nobody can say which shop has them.
| Code | Kind | Standing on | Since |
|---|