Stock Checks
Stocktakes with count aliases, discrepancies, CSV export, and submit/revert action routes.
Stock Checks API
A stock check (stocktake) reconciles counted quantities against expected inventory for a scoped set of stock. Checks are warehouse-scoped, carry SC- reference sequences, and snapshot expected baselines at creation. Counting is line-scoped; submitting a check records the discrepancy matrix, and resolution moves stock through the existing transaction ledger — the check itself never moves stock directly.
Status is emitted as an compatibility integer code code with a status_label. Filter by status with q[status_eq]=0.
Endpoints
| Method | URL | Description |
|---|---|---|
| GET | /api/v1/stock_checks |
List stock checks |
| POST | /api/v1/stock_checks |
Create a stock check |
| GET | /api/v1/stock_checks/{stock_check} |
Show a stock check |
| PUT/PATCH | /api/v1/stock_checks/{stock_check} |
Update an editable stock check |
| DELETE | /api/v1/stock_checks/{stock_check} |
Cancel a stock check (204, row preserved) |
| GET|POST | /api/v1/stock_checks/{stock_check}/submit |
Submit counts and detect discrepancies |
| GET|POST | /api/v1/stock_checks/{stock_check}/revert |
Revert an applied check (compensating) |
| GET|POST | /api/v1/stock_checks/{stock_check}/recalculate |
Recalculate expected for uncounted lines |
| GET | /api/v1/stock_checks/{stock_check}/export |
Export the check as CSV |
Count lines
/items, /counts, and /stock_check_items are compatibility aliases for the same count-line resource.
| Method | URL | Description |
|---|---|---|
| GET | /api/v1/stock_checks/{stock_check}/items |
List count lines |
| POST | /api/v1/stock_checks/{stock_check}/items |
Record counts (additive) |
| GET | /api/v1/stock_checks/{stock_check}/items/{item} |
Show a count line |
| PUT | /api/v1/stock_checks/{stock_check}/items/{item} |
Set a count (absolute) |
| GET | /api/v1/stock_checks/{stock_check}/counts |
Alias of items index |
| POST | /api/v1/stock_checks/{stock_check}/counts |
Alias of items warehouse |
| PUT | /api/v1/stock_checks/{stock_check}/counts/{item} |
Alias of items update |
| GET | /api/v1/stock_checks/{stock_check}/stock_check_items |
Alias of items index |
| POST | /api/v1/stock_checks/{stock_check}/stock_check_items |
Alias of items warehouse |
| GET | /api/v1/stock_checks/{stock_check}/stock_check_items/{item} |
Alias of items show |
| PUT | /api/v1/stock_checks/{stock_check}/stock_check_items/{item} |
Alias of items update |
Discrepancies
| Method | URL | Description |
|---|---|---|
| GET | /api/v1/stock_checks/{stock_check}/discrepancies |
List detected discrepancies |
| PATCH | /api/v1/stock_checks/{stock_check}/discrepancies/{discrepancy} |
Resolve or dismiss a discrepancy (review mode) |
Authentication
Requires stock_checks:read (GET) or stock_checks:write (POST/PUT/PATCH/DELETE) with stock_checks.view, stock_checks.create, stock_checks.update, stock_checks.resolve, and stock_checks.delete permissions as applicable. Access is warehouse-scoped.
Create a stock check
POST /api/v1/stock_checks
A check has one of four scope types — warehouse, catalogue item group, location, or single catalogue item — optionally narrowed by stock-type, tag, and tracking filters. Creation snapshots expected baselines and lands the check directly in the counting state.
Counting
Bulk counts are additive via the collection POST and absolute via the item PUT. Barcoded assets are counted present/absent (1.00 / 0.00) and resolve by asset_id or asset_number. In-scope assets that were not expected create unexpected lines.
Submit, resolve, and revert
Submitting records the discrepancy matrix without moving stock. In auto-apply mode (default) a job resolves every discrepancy and completes the check; in review mode discrepancies are parked for per-row resolve/dismiss, with the check auto-completing when the last one clears. Resolution writes StockCheckIncrease / StockCheckDecrease ledger transactions carrying the discrepancy as their source; missing barcoded assets retire as lost, and unexpected ones relocate. Revert writes opposite-type compensating transactions of equal magnitude, voids check-created retirements, and undoes relocations.
Status codes
| Code | Label |
|---|---|
0 |
Open (draft or counting) |
1 |
Submitted |
2 |
Completed |
3 |
Cancelled |
Webhooks
stock_check.created, stock_check.updated, stock_check.submitted, stock_check.completed, stock_check.reverted, stock_check.cancelled — see Webhooks.