Start from a blank order with one line row, draft auto-save, and unsaved-change guard — mirrors Ant Design Pro create flows.
Line items are tightly coupled to this order. Create / Save submits the header and lines together. On the detail page, lines are read-only — open Edit to change them. Attachments on the detail page save on their own.
Header fields, approvals, and derived total.
Assigned after the first successful save.
Shipped locks the order for editing.
Required once confirmed; on/after order date.
Optional below $500
Net of line discounts plus freight.
Company is required before a draft can be saved (`draftValidate`). Auto-save waits silently; manual Save reveals the field.
Draft auto-save is deferred until this is filled.
Card number is excluded from draft auto-save (`persistence.excludeFields`). Cardholder name still drafts normally.
Sensitive — never sent to draft auto-save. Edit only this field and the footer stays idle until another field changes.
Flat wide matrix — SKU pins left; scroll for warehouse, ship via, cost center, and notes. Disc % reveals Disc reason; qty > 25 or total ≥ $1,000 needs manager approval.
Ship-to address and freight.
Internal memo on the order.