OMS overview: the order lifecycle
Last updated 2026-10-13
What OMS does, the two fulfillment modes, and how an order moves from draft to delivered.
OMS (Order Management System) is the single place where every sales order lives: orders are created by hand, CSV import, channel pull, Merchant Portal, or CRM deal conversion, then reviewed, allocated, released, fulfilled, and finally delivered. Order numbers use the global sequence, e.g. SO-000001.
Two fulfillment modes#
- oms_standalone — OMS keeps its own inventory ledger (oms_inventory). It ships, deducts stock, and prints the label itself, right from the desktop.
- wms_sync — OMS only reads WMS on-hand inventory (qty_available). Orders are pushed to WMS as outbound shipments; picking, packing and shipping all happen on the WMS side.
- Which mode applies is resolved per warehouse (oms_inventory_source_configs): a warehouse can override the tenant default.
Order status machine at a glance#
- draft — newly created; can still be edited.
- pending_review — submitted, waiting for approval.
- confirmed — approved; ATP inventory check passed.
- allocated — warehouse assigned; a release voucher (oms_allocations) is created.
- released — handed to fulfillment (pushed to WMS, or ready to ship in standalone mode).
- partial_fulfilled / fulfilled — partially or fully shipped.
- delivered — customer confirmed receipt (manual step). cancelled is the terminal state for voided orders.
Once an order is released it can no longer be cancelled through the cancel API — handle post-release changes via returns (RMA) instead.
Key records around an order#
- Order lines — item_id points directly at wms_items, so pushing to WMS needs no SKU mapping.
- oms_order_status_audit — every status change is appended here; it is the order timeline.
- oms_wms_status_events — mirror of WMS-side progress (committed → picking → packed → shipped).
- Packing lists and 4×6 labels are generated as printable payloads; the browser renders and prints them.
How OMS connects to other apps#
- WMS — inventory source and fulfillment executor in wms_sync mode.
- CRM — deals convert into OMS orders with one click.
- Merchant Portal — merchants can create orders on your behalf.
- Accounting — invoicing lives in the Accounting app; there is currently no automatic order-to-invoice link.