ERPMES+0
ERP Stock Reservation / ATP
Give ERP a native stock reservation so available = on_hand − active reservations, closing the Confirmed-but-unevaded oversell gap and letting sales (and MES) commit stock.
Tasks.
- Task 1: Reservation table, state enum, model, factory5/5
- Task 2:
StockReservationService— availability, reserve, release, consume5/5 - Task 3: Hard reserve at
SalesOrderConfirmed5/5 - Task 4: Release on cancel/amend, consume at evasion5/5
- Task 5: Soft reservation TTL sweep5/5
- Task 6: MES — reserve components at release, consume at backflush, availability5/5
- Task 7: Documentation3/3
- Task 8: Correct the amend reservation lifecycle (follow-up, 2026-10-07)5/5
- Task 9: Amendment supersedes the source order (follow-up, 2026-10-07)5/5
- Task 10: Amended-status integrity — reversal preserve + cancel reverts the source (2026-10-07)5/5
- Task 11: MES reservation hardening (2026-10-07)5/5