Corrections and losses
Every write-off and every correction, who did it and why. This is what an auditor and an insurer both ask for, and it did not exist three days ago. A correction shows no approver because the person is recorded as the one who DID it — db/095 keeps "who did this" and "who answers for it" apart on purpose.
| When | What | Product | Units | Why | Who |
|---|
How long goods have been sitting
By merchant, in buckets rather than an average — an average of forty days hides half the stock at three days and half at eighty, which is two conversations and only one is urgent. Age here is days since the position last moved, not the age of the oldest carton: true cohort ageing needs lot layers this ledger deliberately does not keep.
| Merchant | 0–7 days | 8–30 | 31–90 | 90+ | Units |
|---|
Nothing has touched it
The rows behind that last bucket. Space being paid for with nothing moving through it — what a merchant should be told to clear and what shelf you get back.
| Merchant | Product | Where | Units | Still for |
|---|
Merchant statement — last month
What we took in, sent out, wrote off and adjusted for each merchant, for the month that is finished. This is the document a third-party warehouse sends its customers, and it is also the one that answers "why is my count different from yours".
| Merchant | Received | Shipped | Returned | Written off | Adjusted |
|---|
Shelves the book keeps getting wrong
Counted differences over six months, by shelf. Swing is not net: a shelf that goes +30 then −30 nets to nothing and has been wrong twice. A shelf near the top is a label in the wrong place, a picker guessing, or two products that look alike.
| Shelf | Counts | Swing | Last counted |
|---|
Who did what, fourteen days
Per person, per kind of act. Read out of a view nothing has
ever read — warehouse_activity was built in db/095 and is
named by its own migration and by no other file in the repository.
| Person | Doing what | Acts | Units | Days | Acts per day |
|---|