Skip to content
EN FR

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;
  • MovementKind with Receipt, Reservation, Release, Shipment;
  • StockMovement, StockPosition, ReorderPolicy;
  • derived facts such as ConsistentStockPosition, BelowReorderThreshold, ReorderRequired, InvalidStockPosition.