Hi everyone,
Could you please help me figure out the correct mapping for the 6 order statuses based on the combinations of the order object’s financial_status and fulfillment_status?
I need to know which combinations correspond to each of the six statuses shown above.
Thanks in advance!
Hi @Subham_Pradhan! I’m assuming the screenshot you shared is from the customer account orders page on your storefront (the page customers see when tracking their orders). If that’s the case, those statuses aren’t direct mappings of financial_status and fulfillment_status from the API.
Those customer-facing labels are generated by Shopify based on carrier tracking events. When you use a supported carrier, Shopify pulls tracking updates and displays them as friendly statuses like “Confirmed,” “On its way,” “Out for delivery,” “Delivered,” etc. The order status page docs list these out:
-
Confirmed - Order created but not yet shipped
-
On its way - Order fulfilled/partially fulfilled, shipment in transit
-
Out for delivery - Shipment arrived in customer’s area
-
Delivered - Customer received it
-
Attempted delivery - Carrier tried but couldn’t deliver
If you’re using an unsupported carrier, customers just see a tracking number link instead of these real-time updates.
Since these are derived from carrier events rather than the order object fields, there’s no clean mapping to financial_status + fulfillment_status combinations. If you’re building something that needs to display order status, you’d want to either:
-
Build your own logic using the order’s financial_status, fulfillment_status, and cancelled_at fields
-
Check fulfillment tracking data if you need shipment-specific info
-
Use displayFulfillmentStatus and displayFinancialStatus in GraphQL for merchant-friendly labels
Does that match what you’re seeing, or is your screenshot from somewhere else?