Managing Production Orders
How to edit, start, complete, and cancel production orders after creation.
Editing a Production Order
All fields are editable while the order is in draft or in progress status.
Completed and cancelled orders are fully read-only.
Status Progression
Draft → In Progress (Start)
Click Start order on the detail page. The backend requires the order to be in draft status — any other status throws an error.
What happens on start:
- Order status changes to in_progress
- If
syncProductionOrderToShopifyis not explicitly set on the order, the shop-level default is read and applied at this point
In Progress → Completed (Complete)
Click Mark complete on the detail page. The backend requires the order to be in in_progress status — any other status throws an error.
What happens on completion:
- Order status is set to completed
completedAttimestamp is recorded- For every component:
quantityPlannedis overwritten withquantityProduced— the planned quantity is reconciled to what was actually produced - Completed orders are fully read-only
Cancelling a Production Order
Available from draft or in progress status only. Attempting to cancel a completed or already-cancelled order throws an error.
What happens on cancellation:
| Previous status | Component behaviour |
|---|---|
| Draft | All components are deleted |
| In progress | Components are preserved for reference |
| In both cases the order status is set to cancelled. |
Status Reference
| Status | Editable | Available actions |
|---|---|---|
| Draft | ✅ All fields | Start, Cancel |
| In progress | ✅ All fields | Mark complete, Cancel |
| Completed | ❌ Read-only | None |
| Cancelled | ❌ Read-only | None |
Component Quantities
Each component row on a production order tracks two quantities:
| Field | Meaning |
|---|---|
| Planned qty | How many units are planned for this component |
| Produced qty | How many units were actually produced (editable while in progress) |
When the order is completed, quantityPlanned is set equal to | |
quantityProduced on every component, so the final record reflects | |
| actuals only. |