Inventory movements

Inventory movements

Inventory movements are canonical records used for bookkeeping review, posting, and period-based reporting. The goal is that the register remains stable and audit-friendly while automation depends on deterministic identifiers and references.

Ownership

Owner: bus inventory. This module is responsible for implementing write operations for this object and is the only module that should directly change the canonical datasets for it.

Secondary read-only use cases are provided by these modules when they consume this object for validation, matching, posting, or reporting:

bus validate checks movement integrity and reference validity.

Actions

Record an inventory movement appends stock movements so inventory levels and valuation remain auditable. Adjust inventory records adjustment movements when physical count differs from book stock.

Properties

Core movement fields are item_id, date, qty, direction, unit_cost, description, and voucher.

Relations

An inventory movement belongs to the workspace’s accounting entity. Scope is derived from the workspace root directory rather than from a per-row key.

An inventory movement references one inventory item via item_id. Over time, one item can have many movements that together form the audit trail for stock level and valuation.