Movements
Audit trail of why on-hand changed. Use it to explain a balance, not as a tax or GL subledger.
Inventory → Movements · /app/w/{workspace}/inventory/movements · capability + plan inventory · inventory.view (export inventory.export)
Adjustments need inventory permissions (inventory.adjust). Do not treat the ledger as accounts payable or COGS.
| Type (EN) | What posted it |
|---|---|
| Receipt | Direct Receive stock, or PO Receive |
| Adjustment in / Adjustment out | Adjust stock to a counted quantity (difference posted) |
| Transfer in / Transfer out | Inventory → Transfers (one atomic Completed transfer) |
| Consumption | Office actual tracked line, or Field Stock used |
| Return to stock | Reverse of a consumption as the product allows |
Reports count transfer events from transfer_out so pairs are not double-counted.
What does not write a movement
Section titled “What does not write a movement”- Creating a catalog item
- Creating a Draft purchase order, or Issue without Receive
- Approving a parts request (decision only)
- Appointment Closeout without Stock used
- Office work-order Complete
- Issuing an invoice
What-if
Section titled “What-if”If on-hand changed but you see no row: wrong location filter, or you looked at Catalog instead of Movements.
If a transfer shows two rows: expected — Transfer out + Transfer in. Reports avoid double-counting.
If Field offline went negative: replay can still post Consumption. Reports → Resources Negative stock is not clamped.
Related: Stock, Purchasing, Field inventory usage.