Stock Checks
Stocktakes — count sheets, discrepancy resolution, and compensating revert.
Overview
A stock check (stocktake) reconciles what you counted against what the system expected for a scoped set of stock, then moves stock to close the gap. Checks are warehouse-scoped and carry SC- reference numbers.
Stock check UI routes:
| Route | Purpose |
|---|---|
/stock-checks |
Stock check index (Open/All scope toggle) |
/stock-checks/create |
Create a check with a scope picker and filters |
/stock-checks/{stockCheck} |
Count sheet, discrepancy review, submit/revert |
/stock-checks/{stockCheck}/edit |
Edit an editable check |
Scoping a check
A check targets one of four scopes — warehouse, catalogue item group, location, or a single catalogue item — optionally narrowed by stock type, tags, and tracking filters. Creating the check snapshots the expected baselines for its scope and lands it in the counting state.
Counting
The count sheet groups lines by catalogue item group. Counting is line-scoped, so multiple people can count concurrently without a check-level lock:
- Bulk items accept additive counts (add what you find) or absolute counts (set the total).
- Barcoded assets are marked present or absent, and can be entered by asset number.
- An in-scope asset that was not expected is added as an unexpected line.
Discrepancies & resolution
Submitting the check detects and records the discrepancy matrix without moving stock. Resolution then moves stock through the normal stock-transaction ledger — nothing bypasses it:
- Increases and decreases write typed
StockCheckIncrease/StockCheckDecreasetransactions carrying the discrepancy as their source. - Missing barcoded assets are retired as lost.
- Unexpected assets are relocated, with their prior placement saved.
Two modes control resolution:
| Mode | Behaviour |
|---|---|
| Auto-apply (default) | A job resolves every discrepancy and completes the check |
| Review | Discrepancies are parked for per-row resolve/dismiss; the check auto-completes when the last one clears |
Reverting a check
Reverting an applied check writes opposite-type compensating transactions of equal magnitude, voids any retirements the check created, and undoes relocations. Because the ledger is append-only, a revert nets back to zero rather than deleting history. The revert action warns before proceeding.
The stock-check detail page includes an Audit Timeline card of recorded activity for the check.
Scanning
The stocktake scan context feeds counts into the same count seam as manual entry, so you can drive a count sheet from the Scan Console. Deep links move between the count sheet and the console.
Permissions
| Permission | Grants |
|---|---|
stock_checks.view |
See stock checks |
stock_checks.create / .update |
Create and edit checks |
stock_checks.resolve |
Resolve/dismiss discrepancies and revert |
stock_checks.delete |
Cancel a check |
API
See the Stock Checks API for the full REST surface, including count aliases, discrepancies, CSV export, and action routes.