Order Lifecycle
Orders in Orderly follow a standard lifecycle. The status reflects where the order is in the fulfillment process.
Status Flow
pending
processing
partially_shipped
shipped
delivered
cancelled
Statuses
| Status | Description |
|---|---|
| pending | Order received but not yet being processed |
| processing | Order is being picked, packed, or prepared |
| partially_shipped | Some line items have shipped, others haven’t |
| shipped | All items shipped, awaiting delivery |
| delivered | All items delivered to the customer |
| cancelled | Order was cancelled |
| returned | Order was returned by the customer |
| on_hold | Order is paused (payment issue, fraud review, etc.) |
Status Transitions
Orders typically flow forward through statuses, but some transitions go backward:
pending→processing— When fulfillment beginsprocessing→shipped— When all items have trackingprocessing→partially_shipped— When some items ship firstpartially_shipped→shipped— When remaining items shipshipped→delivered— When carrier confirms delivery- Any status →
cancelled— When the order is cancelled - Any status →
on_hold— When the order needs review on_hold→ previous status — When the hold is released
Dispatch & Fulfillment Push Flow
When a dispatcher routes an order to a fulfillment bridge (3PL, WMS, etc.), the order’s sent_to_fulfillment timestamp is set. This tracks whether the order has been handed off for fulfillment.
- Order created — Synced from source (e.g., Shopify) via webhook or grab-orders task.
- Dispatched — A dispatcher evaluates the order and routes it to a fulfillment bridge.
sent_to_fulfillmentis set to the current time. You can set up dispatchers in the portal under Dispatchers > New Dispatcher — define conditions (e.g., ship-to state, tags, SKUs) and choose a destination bridge. - Shipment linked — The fulfillment bridge sends back shipment data with tracking. The shipment processor links it to the order by
order_numberand updatesfulfillment_status. - Tracking pushed — The
push-open-fulfillmentstask finds orders wheresent_to_fulfillmentis set and shipments have tracking numbers. It pushes the tracking info back to the source platform (e.g., creates a Shopify fulfillment). On success,sent_to_fulfillmentis cleared andfulfillment_statusis set tofulfilled.
Similarly, sent_to_cart tracks when an order has been dispatched to a cart/e-commerce bridge.
See Dispatcher Configuration for details on setting up routing rules in the portal and API.
Automatic Status Updates
Orderly updates order status automatically when:
- A shipment is created for order line items
- Tracking events indicate delivery
- A bridge webhook reports a status change
- A fulfillment is pushed back to the source platform
Manual Status Changes
You can manually update order status:
- From the portal order detail page
- Via the API (
PATCH /api/orders/:id) - Through operations (bulk status update)
- Via the AI agent