Skip to content

Order Management with Lifecycle

Order Management gives the buyer a durable, lifecycle-managed order: a lasting record that collates production demand into a single-supplier commitment, is sent to the supplier and acknowledged, and is reconciled against materials as they arrive. It replaces today’s client-side purchase-order sheet with an order that lives on the server, keeps its full history, and moves through a small, well-defined set of states.

This feature is derived from the designed Orders module (build pending); the Orders with Lifecycle project tracks its delivery.

  • Compose an order. Start an order, choose its supplier, and add lines — from a production request waiting in the order queue, directly from an item, or as a free-form documentary line. Adjust quantities while it is still a draft.
  • Submit it. Once it has at least one line and a named supplier, submit the order. Submission freezes its structure and supplier, records a snapshot of the supplier details, and marks the production requests it services as being in production.
  • Record the supplier’s answer. Capture the supplier’s acknowledgment per line — accepted, changed, backordered, rejected, or substituted — or record a waived acknowledgment when the order is treated as confirmed without an explicit reply.
  • Receive against it. As material arrives, received amounts accrue on each line from actual receiving events; the open amount is computed, never hand-edited.
  • Close it out. Close each line — including “closed short” when some quantity is deliberately left outstanding — then close the order. Cancel is available only while the order is still a draft.

An order is stored in one of four states — Draft → Submitted → Closed, or Draft → Canceled — with two computed views layered over Submitted: Confirmed (every live line acknowledged, including waived) and Receiving (some line has received material). The full state model, operations, and guarantees are on the Orders module page.

Money and costing, rich header details (addresses, contacts, terms), scheduling, and post-submission cancellation are not part of this feature’s first version — see the module page’s Scope and non-goals.

  • Procurement Manager (David) — composes, submits, and closes orders; records supplier acknowledgments.
  • Inventory Manager (Irene) / Shop Worker (Sam) — generate the demand (via cards) that orders collate.
  • Receiving Clerk (Keisha) — receives material against submitted orders.