Stock owns physical quantities and value through an append-only movement ledger. Purchasing receipts, sales and Production supply evidence; they do not overwrite Stock history. Negative balances stay visible as operational attention.
Screens and daily workflows
| Section | Workflow |
|---|---|
| Overview | On-hand quantity, inventory value, negative balances, create stock location, confirmed receipt intake and perpetual valuation. |
| Counts | Create blind/full/spot snapshot, enter quantities, submit and independently decide variance. |
| Transfers | Prepare source/destination/product/lot/quantity; record dispatch; separately receive remaining goods. |
| Waste | Record location, product, lot, quantity, waste reference, reason and optional notes. |
| Recall trace | Open a recall against a lot, inspect permitted lineage and close the case with evidence. |
Create locations with code, name and purpose: storage, production, waste or transit. To receive purchasing goods into Stock, select a site-confirmed receipt line, canonical variant, destination, quantity and source cost. The operation cannot post more than the accepted receipt quantity.
A blind count hides expected stock until submission. Submit physical counts for every product in its snapshot, then have another authorised person approve or reject with a reason. Intervening movement makes a snapshot stale and blocks approval. Approved variances append adjustments instead of rewriting counts.
A transfer dispatch removes stock from the source; destination receipt is a separate recorded operation. Requested, sent and received quantities remain visible. The current web detail offers Receive remaining; the underlying ledger also preserves stable evidence for partial receipts and retries.
Waste removes stock with a reason. A recall blocks operational use/movement of the lot while still allowing waste or supplier-return removal. Closing a recall does not release remaining quarantine. Complete trace detail requires authority over all historical contributors, including depleted balances and other Sites.
Valuation, settings and access
On-hand and moving weighted-average cost are reproducible per product/location. Inbound stock carries source cost; outbound movement uses current moving average. Correction appends an exact inverse and optional replacement. Migration opening balances become native only through an approved attributed opening movement.
stock.view reads permitted stock; stock.manage configures locations/intake and management operations;
stock.count records counts; stock.adjust decides adjustment evidence; stock.transfer controls transfers;
stock.waste records waste. Settings uses stock.settings.view/stock.settings.manage. General, Counting,
Traceability and Movements currently provide section shells, while operational controls live in Stock itself.