Sales Orders
Workflows for sales orders, their line items, timeline notes, and the one SO-side master-data table that is user-editable: order channels. SOs are the demand side of finished goods: every line is a SKU the org has promised to deliver. On creation (W144) and on every status update (W147), the workflow runs the status → ledger reconciliation projector: it reconciles the FG-ledger entries (DEMAND / ALLOCATE / CONSUME) to the current order status — forward writes plus REVERSE_* on Rejected — mirroring how PO and WO workflows feed the ledgers. Ledger side effects of post-create item changes (W149 / W152) remain a v1 gap.
Components composed across this domain: SalesOrders, FinishedGoodsInventory, Customers, Products, Locations. Document attachments live in the flat Documents domain.
Order status is the L1 ENUM org.order_status — Received → Entered → Shipped → Invoiced → Paid plus terminal branches (Rejected, In-Dispute, Completed). Fulfillment status is the L1 ENUM org.fulfillment_status — Pending → Partial → Fulfilled, derived from the ledger by default but also editable. Neither set is user-editable; changes are schema migrations.
Writes
- W144 Create sales order
- W147 Update sales order
- W148 Delete sales order
- W164 Bulk-import sales orders
- W149 Add item to sales order
- W151 Update sales order item
- W152 Remove item from sales order
- W153 Add timeline note
- W155 Delete timeline note
- W156 Create order channel
- W158 Update order channel
- W159 Delete order channel
- W160 Reactivate order channel