Inventory assurance
A read-only mirror of ERP stock plus governed adjustments. Balances are rebuilt from immutable movements—never edited counters.
How to read this module
ERP responses are hashed in private R2 before canonical records are used.
On hand equals inbound movements minus outbound movements, excluding voided rows.
Negative balances, substitutions, missing purchase evidence and transfer mismatches become unified findings.
Manual adjustments need a reason, note and independent approval.
Items and balances
ERP items are read-only; manual reference items remain editable| Item | Category | Store | On hand | Reorder | Value | Source |
|---|
Movement history
Voids remain queryable but never change the derived balance| Date | Item | Store | Direction | Reason | Quantity | Reference | Origin |
|---|
Adjustment queue
Maker–checker decisions and immutable historyPropose an adjustment
Governed stock counts
Blind capture, offline sync, independent recount and immutable decisionsControl boundary
Expected quantities are frozen on the server and never sent to the phone.
Drafts survive restarts. A changed server revision must be reviewed, never overwritten.
The original counter cannot recount variance lines or decide the count.
A decision records evidence; inventory changes still use the governed adjustment workflow.