Business specification and vocabulary
Documentation status: tutorial — see Maturity and evidence.
Business rules
The module records four movement kinds: receipt, reservation, release and shipment. At a given time, available stock equals on-hand stock minus reserved stock. Physical and reserved quantities cannot be negative. Reserved stock cannot exceed physical stock. Replenishment is required when available stock is below the applicable threshold. Every deduction must retain the time at which its source facts are valid.
Identity review
Use durable identity for Product, Warehouse, StockMovement, StockPosition and ReorderPolicy. Treat ReorderRequired as a derived relation connecting product, warehouse and time.
StockMovement deserves identity because it can later carry provenance, correction and audit information. StockPosition and ReorderPolicy are identified temporal objects because they must be found, explained and potentially corrected or evolved independently.
Closed vocabulary
MovementKind can be declared as a complete vocabulary only if the project truly accepts exactly these four values. If extensions by configuration are allowed, do not mark it complete.
The core vocabulary is therefore:
Product,Warehouse,Time,Quantity;MovementKindwithReceipt,Reservation,Release,Shipment;StockMovement,StockPosition,ReorderPolicy;- derived facts such as
ConsistentStockPosition,BelowReorderThreshold,ReorderRequired,InvalidStockPosition.