The full lifecycle of a Shopify order

Traces a Shopify order through every stage HC touches — from placement through fulfilment, cancellation, return, and exchange.

Understanding the full journey of an order through HC helps you pinpoint exactly where something went wrong when you're troubleshooting.

Stage 1 — Order placed

When a customer completes checkout, Shopify fires an order webhook. HC receives it and fans the data out to your downstream systems — typically your WMS to trigger pick/pack and your ERP to create the sales order. Both happen from the same source event, so if either fails, the other isn't affected.

Stage 2 — Fulfilment

When your WMS marks the order as despatched, it sends a confirmation (usually via webhook or polling) back to HC. HC does two things:

  • Updates Shopify with the tracking number and marks the order fulfilled

  • Posts the invoice or shipment confirmation to your ERP

If your configuration is set to post financials on shipment (rather than on order placement), this is when the ERP posting happens.

Stage 3 — Cancellation

If an order is cancelled in Shopify before it ships, HC forwards the cancellation to your WMS to halt pick/pack and sends a void or cancellation to your ERP. The exact behaviour depends on how far along fulfilment has progressed — HC cannot cancel a WMS pick that's already been completed.

Stage 4 — Return

Returns generate several downstream actions:

  • The refund is processed in Shopify

  • If the item is restocked, HC sends an inventory update to reflect the returned units

  • A credit note or return is created in your ERP

The inventory and financial steps are independent streams, so one can succeed while the other fails.

Stage 5 — Exchange

HC treats an exchange as a return plus a new order. The return goes through Stage 4, and the replacement triggers a fresh Stage 1. There is no single "exchange" event — they are two linked but separate order lifecycles.

The four streams behind a Shopify–WMS integration

The order lifecycle above runs on (typically) four separate streams: products (Shopify → WMS), stock (WMS → Shopify), orders (Shopify → WMS), and shipments (WMS → Shopify). The order they were activated in matters: products first, then stock, then orders, then shipments — so the warehouse knows every SKU before orders referencing them arrive. This is also why an order can fail if its product was created moments earlier: the product stream may not have synced it yet.

Why this matters for troubleshooting

Stages are sequential in terms of business logic, even if the underlying streams are independent. A failure at Stage 2 (fulfilment) means Stage 4 (return) may not have the correct order state to work with. When you're investigating an issue, always check which stage failed first — that's usually where to focus.