---
title: Importing WooCommerce Orders into Shopify
date: 2026-07-07
description: How to bring WooCommerce order history into Shopify: what the connector pulls, the order things have to import in, and the side effects (staff emails, 3PL, Klaviyo) you turn off first so a year of old orders does not trigger live workflows.
tags: ["Guides","Migration","Orders","Imports"]
url: https://www.getaltera.com/blog/2026-07-07-import-woocommerce-orders-to-shopify/
---


Order history is the WooCommerce data merchants most worry about leaving behind. It is your record of who bought what, the totals customer service needs to answer a question, and the numbers accounting reconciles against. Shopify has no "Import orders" button in the admin, because an order touches customers, products, inventory, payments, and notifications at once, so the import has to be done carefully rather than with a single click.

This guide covers bringing WooCommerce orders into Shopify as part of a migration. It is the WooCommerce-specific companion to the general [guide to importing orders to Shopify](/blog/2026-04-17-how-to-import-orders-to-shopify/), which goes deeper on the orders file format itself. Here we focus on what comes out of WooCommerce and how to land it safely. It is one part of the full [WooCommerce to Shopify migration guide](/woocommerce-to-shopify-migration/).

## What the connector pulls

When Altera reads your WooCommerce store, each order comes across as a set of rows in the standard Shopify orders format. A WooCommerce order is not one row; it is the order plus everything attached to it, and that structure is preserved:

- **Line items.** Each product on the order, with the title, SKU, quantity, and price as they were at the time of sale, not current product data. That snapshot is what makes the imported order faithful for accounting and support.
- **Taxes.** Tax lines as they were charged.
- **Transactions.** The payment record, so the order shows as paid rather than awaiting payment.
- **Fulfilment lines.** What shipped, so a fulfilled WooCommerce order arrives fulfilled in Shopify.
- **Order notes.** The notes attached to the order in WooCommerce.

Each order spans several rows: one for the order-level fields and first line item, then one row each for the other line items, the transactions, and the fulfilments. The order-level fields (customer, addresses, date) sit on the first row; the rest share the order's `Name` and use the `Line: Type` column to declare what they are. The general [orders guide](/blog/2026-04-17-how-to-import-orders-to-shopify/) breaks that row structure down column by column.

| Name | Line: Type | Line: Title | Line: Quantity | Line: Price | Transaction: Kind | Transaction: Amount |
|---|---|---|---|---|---|---|
| #1042 | Line Item | Cotton T-Shirt | 2 | 19.00 | | |
| #1042 | Line Item | Canvas Tote | 1 | 24.00 | | |
| #1042 | Transaction | | | | sale | 62.00 |

## Get the import order right

Orders reference other things, so they import last. The rule:

**Products, then customers, then orders.**

An order points at products (by title and SKU) and at a customer (by email). If those do not exist yet when the order imports, the order still lands, but the line items will not link to the right products and the order will not attach to the customer's history. Reporting will not roll up, and the customer's account page will not show the purchase.

If you migrate the whole store in one multi-sheet file, you do not sequence this by hand. Altera imports the sheets in dependency order automatically: definitions, then products, then collections, then customers, then orders. The orders sheet imports after the products and customers it references, so the links resolve. If you import sheets separately, do it in that order yourself.

## Turn off the side effects first

This is where order imports go wrong, and it has nothing to do with the data. Imported orders look like brand-new orders to anything watching for new orders. A year of old WooCommerce orders arriving at once can trigger a year of workflows in seconds.

Before you import orders, handle these:

- **Staff order notifications.** Without this, Shopify emails your staff once per imported order. Import 8,000 orders and that is 8,000 emails per staff inbox. Disable staff notifications under Settings, then Notifications, before the import. Altera surfaces this as a warning at import time with an option to suppress it, so you do not have to remember.
- **Email and SMS flows.** A marketing tool like Klaviyo treats an imported order as a fresh purchase and can fire post-purchase or win-back flows to customers about orders they placed last year. Pause these flows on the destination store before importing.
- **Fulfilment and 3PL triggers.** A connected 3PL or fulfilment app may try to pick, pack, and ship orders that shipped months ago. Pause the integration before import.
- **Accounting and ERP sync.** An accounting integration may try to re-invoice or re-bill imported orders. Pause it, import, then reconcile deliberately.

Walk through every app on the destination store that acts on the order-created event, and pause each one. Re-enable them after the import is done.

Three things you do **not** have to manage, because Altera does not touch them by default on an order import:

- **Customer emails.** Shopify does not send the order confirmation email on an imported order, so customers are not emailed about old purchases.
- **Inventory.** Order imports bypass inventory changes by default, so importing historical orders does not draw down your new store's stock.
- **Payment capture.** Imported orders do not capture funds. Shopify will not try to charge a card again.

## Review the orders before you import

The orders come into the spreadsheet with the rest of the migration, and you review them there before anything reaches Shopify. Open the Orders sheet and check:

- **Order numbers.** Decide whether to keep the original WooCommerce numbers (so support and accounting can find an order by its old number) or let Shopify renumber. Keeping them is usually right. The general orders guide covers the trade-off.
- **Totals.** Spot-check a few orders and confirm the line items, taxes, and transaction amounts add up to the original order total.
- **Customer linkage.** Confirm the `Customer: Email` on each order matches a customer in the customers sheet, so the order attaches to the right account.
- **Fulfilment status.** Confirm orders that were shipped carry a fulfilment row, so they do not look open.

This review is the safety check. Fix anything off in the file before import.

## After import: what to verify

A short pass once the orders are in:

- **Counts.** Compare the order total against WooCommerce.
- **A sample of orders.** Open five, including a multi-item order and a partially refunded one, and check the line items, totals, dates, and customer against the original.
- **Customer linkage.** Open a customer who had several orders and confirm the order history shows on their account.
- **Fulfilment.** Confirm shipped orders show as fulfilled, not open.
- **No emails went out.** Check a test inbox to confirm the import did not email staff or customers.

If anything is off, stop and fix it before importing more, while WooCommerce is still the source of truth.

## Where this fits

Orders are the last major piece of the migration, because they reference everything else. Move the [products](/blog/2026-07-13-migrate-woocommerce-products-to-shopify/) and customers first, set up the [redirect map](/blog/2026-07-09-woocommerce-to-shopify-redirect-map/) so the URLs survive, and follow the full [WooCommerce to Shopify migration guide](/woocommerce-to-shopify-migration/) for the complete sequence. For the orders file format in depth, see the [guide to importing orders to Shopify](/blog/2026-04-17-how-to-import-orders-to-shopify/).

