01must proveProposed | Receipts replay by their business key without duplicate movements, and corrections use later movements rather than editing the receipt fact. no proof recorded yet | invariant | service, database | test |
02must proveProposed | Receipt quantities cannot exceed an open purchase line or enter an already received order, and a cost difference requires an explanation before any write. no proof recorded yet | validation | service | test |
03must proveProposed | Receiving commits stock movements, landed-cost layers and capitalization facts together, then satisfies waiting backorders in age order within that transaction. no proof recorded yet | invariant | service, database | test |
04must proveProposed | Quantity or value allocation divides landed cost to whole minor units with the final line taking the remainder, and each layer’s unit cost includes its allocated share. no proof recorded yet | calculation | service | test |
05must proveProposed | Stock relief uses the business unit’s current FIFO or LIFO method, defaulting to FIFO, while later method changes leave earlier cost records intact. no proof recorded yet | calculation | service | test |
06must proveProposed | Unconfigured business units read default costing settings, and replacement requires the read version, an allowed method and agreement with the requested business unit. no proof recorded yet | validation | api, service | test |
07must proveProposed | Stock without sufficient layer coverage receives zero-cost relief with an uncosted exception. no proof recorded yet | policy | service | test |
08must proveProposed | Returned units reverse their original relief using its recorded cost and original layer position. no proof recorded yet | calculation | service | test |
09must proveProposed | Cost correction consumes the original layer’s remaining units into a new correction layer and records the value difference as a cost adjustment. no proof recorded yet | calculation | service | test |
10must proveProposed | Valuation sums the remaining layer values beside on-hand quantity and reports reconciliation, business unit and costing method. no proof recorded yet | calculation | service | test |
11must proveProposed | Posting intake lists unposted inventory facts by date and accepts one Accounting reference, replaying the same reference and rejecting a conflicting one. no proof recorded yet | invariant | service, database | test |
12must proveProposed | Receipt, shipment, restore and stock-adjustment facts identify their inventory, clearing, cost-of-goods and adjustment account purposes for Accounting. no proof recorded yet | calculation | service | test |
13must proveProposed | Reconciliation reports stock-to-layer mismatches and shipment or transfer movements missing relief, leaving correction to a separate action. no proof recorded yet | policy | service | observed |
14must proveProposed | Transfers preserve covered cost in weighted destination layers with exact rounding, produce no posting fact and retain any uncovered quantity without a destination cost layer. no proof recorded yet | calculation | service | observed |
15must proveProposed | Count or staff stock gains use the latest receipt cost, while losses and scrap relieve layers by the business unit method and write the corresponding posting fact. no proof recorded yet | calculation | service | observed |