Skip to content

How channel orders arrive

Orders are pulled from the shop: on the schedule you choose (every hour, every 6 hours, or once a day) and whenever you click Pull now. Each pulled order lands as a Confirmed sales order. There is no draft step, because the shop already took the money and made the promise. Confirming is what reserves stock, so an online sale holds its jars the moment it arrives.

The imported order is a normal sales order with one extra line in its header: “Imported from Shopify · #1042 · placed” and the date. The shop’s own order number links to the order in the Shopify admin, with a copy button beside it, because that number is how a support conversation starts. On the sales orders list, the source filter picks out the Shopify orders in one click.

An imported order: a normal sales order with its Shopify source line

The buyer becomes a customer: matched by email when you already know them, created with their name and address when you do not. A guest checkout with no usable identity imports with no customer at all, like a market-stall sale.

One channel order is one sales order, forever. Re-pulls, retries, reconnects and the one-time backfill all recognize an order they already imported and update it rather than duplicate it.

Every pull is a row: when it started, what triggered it, how many orders it saw, and how it ended. Click a pull to open its per-order rows, each with its own status and, when something needs you, the exact reason.

Pull history with a pull expanded to its per-order rows

An order naming an unmapped listing waits whole in pull history rather than half-importing. Its row says which listing and links to the queue filtered to exactly that. Map it and click Retry, or map it and walk away: the next pull retries on its own.

  • Unmapped orders wait whole. A sales order that exists is always complete; the waiting happens in pull history, where it can be fixed and retried.
  • Cancellations follow the shop. An order canceled on Shopify before shipping cancels here too and releases its reservation. One canceled after you shipped cannot un-happen; the pull row says so and points at recording a return.
  • Refunds are reported, never booked. The pull row and a note on the order state what Shopify records. BatchDash does not adjust figures for refunds; add a return or a note if stock or records need correcting.
  • Channel-fulfilled orders ship themselves. When Shopify marks an order fulfilled, BatchDash ships the matching lines from the oldest released lots, at your real cost, so nobody ships twice. When the lot that goes to whom matters, ship in BatchDash first: a later Shopify fulfillment finds the lines already shipped and does nothing.

Until something ships, Shopify can still edit its order, and a re-pull applies those edits here. So the lines of a channel order cannot be edited in BatchDash while the shop still owns them: two writers on the same lines would end in silent overwrites. Notes and the paid flag stay yours. The lock lifts the moment any line ships, and from then on channel edits become pull-history rows to review instead of changes.

An order can also confirm past your stock: a busy weekend sells what the shelf no longer holds. The import never refuses it. The order shows the shortfall, the missing quantity becomes demand for planning, and the next stock push tells the shop the honest number.