Stock & stocktakes
The ledger
Quantity stock never gets edited in place. Every change — purchase, consumption, transfer, loan, count adjustment — is a movement row, and the level you see is the sum of the movements. That's why the numbers stay honest: the history of how a level got where it is can always be replayed.
Stocktake sessions
A stocktake is a guided count of a location:
- Open a session for the location; it lists expected stock and serialized items.
- Count by hand or scan items into the count with the batch tray — found items check off, a counted quantity per product replaces guesswork.
- Commit: quantity differences land as
count_adjustmovements, and serialized items still unaccounted for flip tomissing— audited, so the flip is traceable to the session.
A committed stocktake reconciles the ledger by definition — the adjustment movements carry exactly the difference between expected and counted.
Low stock
Set a minimum per stock level (per product, per location). Levels under their minimum show on the dashboard and ride along in the weekly digest email. Converting stock to serialized items — when those thirty LED pars suddenly deserve individual histories — is a supported admin flow that spawns tagged items from a level.