AwardXero App of the Year Awards 2026 Finalist
qoblex_logo_main

WooCommerce

Import historical WooCommerce orders

Connecting WooCommerce and importing your products sets up live order sync going forward, but it does not reach back and pull in the orders that already exist in your store. The manual order import fills that gap: you pick a connected WooCommerce store and a date range, and Qoblex imports every WooCommerce order created in that window so your history lives alongside your live orders. This article shows you how to run a manual WooCommerce order import from the Sales screen, explains the default and maximum date ranges, and describes what Qoblex builds from each order. After reading it you will know when to use a manual import, how to pick a sensible date range, and what to expect while the import runs in the background.

When to use a manual order import

Unlike some channels, WooCommerce does not import your existing orders on its own when you connect and import products. Live order sync keeps new and changed WooCommerce orders flowing into Qoblex from the moment the integration is active, but anything created before that, or any older window you want in Qoblex, has to be brought in with a manual import. That is what this article covers. Use a manual order import when you need: – historical orders from before you connected WooCommerce to Qoblex; – a specific window of past orders you want reflected in your Qoblex records; – a recovery window if a span of orders is missing. The manual import uses the exact same processing as live WooCommerce order sync, so a manually imported order is matched, built, and taxed the same way as one that arrives through live sync. For how an order is turned into a Qoblex sale order, see How WooCommerce order sync works.

Import your products before your orders. Qoblex matches each order line to a product or variant that already exists in your catalog, by SKU or by its WooCommerce variant mapping. If you import orders before your products are in Qoblex, some lines will not link to the right item and will need review afterwards. See Finish setup and import products.

Import orders manually

  1. Go to Sales > Orders.
  2. Select Import…. The Import sale orders window opens on the Importer Selection step.
  3. Choose WooCommerce (“Import orders from your WooCommerce store”).
  4. On the Action step, open the Which store do you want to import orders from? list and select the store you want. Each connected WooCommerce store is listed separately, so pick the right one if you have more than one connected.
  5. Under Select a time range, set the start and end dates for the orders you want to import. The range defaults to the last 60 days.
  6. Select Start. Qoblex queues the import and works through it in the background. The Report & Finish step confirms only that the import has started: it tells you your orders are being imported in the background and that you will receive an email when the import is completed. You can close the window and keep working while the orders are processed. When the run finishes, Qoblex emails the address on your account: a success message that includes how many orders were imported, or a failure message if the import could not complete. Treat that email, not the moment the window closes, as the sign the import is done, and wait for it before you rely on the imported orders being fully in place.

Importing from the wrong store or an over-wide date range creates orders you then have to review or clean up. Confirm the store and narrow the date range to what you actually need before you select Start.

Choose the smallest useful date range

Pick the smallest range that covers the orders you are missing. A tighter range imports faster and gives you less to review afterwards. As the import window itself notes, the operation “might take some time depending on the number of orders you have within the selected time range”. The date range you can request is limited: – By default, order imports are limited to the last 3 months (a span of about 93 days from the start date to the end date). – If you select a wider range, the window blocks the import and shows: “Order imports are limited to the last 3 months by default. Contact support to import a larger date range.” The Start button will not run the import until the range is back within the limit. To import a longer history, contact Qoblex support. The larger range is unlocked for your account rather than from the import window itself.

What Qoblex builds from each order

The import runs in two stages. First, Qoblex asks your WooCommerce store for the IDs of every order created within the date range you selected (WooCommerce returns these in pages of 100, so a wide range simply takes more pages). Then it processes each of those orders through the same order pipeline used by live order sync, re-fetching the full order from WooCommerce and building the Qoblex record from it, which is why matching, customer handling, and tax treatment are identical to automatic sync. For the full detail of how an order is built, see How WooCommerce order sync works. For each order in range, Qoblex: – looks up whether an order with that WooCommerce order ID already exists in Qoblex for this store and updates it, or creates it if it is new, so re-importing an overlapping range updates existing orders rather than duplicating them; – resolves the customer from the WooCommerce order’s billing and shipping details, and matches each line to a product or variant in your catalog by its saved WooCommerce variant mapping or by SKU; – applies the order’s currency, taxes, shipping charges, and fees, and records the customer note as the order’s comment, and sets the order status from the WooCommerce status (see the table below); – creates an invoice when the order is Closed (its WooCommerce status is completed, shipped, or delivered) and still has items or charges left to invoice, and records a payment for the WooCommerce order total against that invoice; – allocates and, where already fulfilled in WooCommerce, ships the order lines from the store’s configured order location; – cancels the Qoblex order only when the WooCommerce order status is cancelled or trash, returning any shipped items and refunding any open invoices first. For each order it processes, Qoblex posts a confirmation to your Activity feed, or a warning if it cannot fully process that order (for example, a line whose product is not in your catalog). Because this runs in the background, orders appear gradually rather than all at once. Wait for the completion email before you allocate, ship, invoice, or edit the imported orders, so you are working with a complete order rather than a half-built one.

Order status mapping

Qoblex sets the Qoblex sale order status from the WooCommerce order status: – completed, shipped, or delivered become Closed (and are then invoiced and paid, see above); – cancelled becomes Canceled; – refunded, trash, and checkout-draft become a Quote; – every other status (for example processing, on-hold, pending, or failed) becomes Open. Only the WooCommerce cancelled and trash statuses cancel the order in Qoblex. A refunded order lands as a Quote and a failed order lands as Open; neither is cancelled by the import.

Field mapping (WooCommerce to Qoblex)

Every order is imported one-way, from WooCommerce into Qoblex. The table below lists what each part of the WooCommerce order becomes in the Qoblex sale order the import builds. | Qoblex field | WooCommerce source | Notes | | — | — | — | | External order reference | Order id | Used to match an existing Qoblex order for this store; a re-import updates the same order rather than creating a duplicate. | | Order number | Order number | The order number shown on the WooCommerce order. | | Created date | date_created_gmt | The WooCommerce order creation date/time, stored in UTC. | | Last changed | date_modified_gmt | The WooCommerce order’s last-modified date/time, stored in UTC. | | Currency | currency | The order’s WooCommerce currency; a currency exchange rate is resolved for it. | | Order status | status | completed / shipped / delivered become Closed; cancelled becomes Canceled; refunded / trash / checkout-draft become a Quote; anything else becomes Open. | | Customer note / comment | customer_note | Copied into the Qoblex order Notes. | | Prices include tax | Fixed | Always imported tax-exclusive, because WooCommerce order prices exclude tax. | | Billing address | billing | Address lines, city, state, postcode, and country; the billing phone is stored as the Mobile phone. If the order has no billing block, the customer’s saved address is used. | | Shipping address | shipping | Address lines, city, state, postcode, and country; the phone is stored as the Mobile phone. If the order has no shipping block, the customer’s saved address is used. | | Order location | Integration settings | The order/inventory location from the store’s integration settings: the first configured order location, or the first inventory location, or the first location mapping. The import fails for the order if none is configured. | | Line item product name | Line item name | The product name as it appears on the WooCommerce order line. | | Line item match | Line item variation/product ID and sku | Matched to a catalog variant by its saved WooCommerce mapping first, then by SKU. Variable products match on the variation ID; simple products match on the product ID. | | Line item quantity | Line item quantity | The ordered quantity. | | Line item unit price | Line item subtotal / quantity | Unit price before tax and before line discount (WooCommerce subtotal is the pre-discount line total). | | Line item discount | Line item subtotal minus total | The line discount is the difference between the pre-discount and post-discount line totals; a difference below the rounding tolerance is treated as zero. | | Line item tax | Line item total_tax and the order’s tax lines | The line tax amount comes from total_tax; the tax class is resolved from the order’s tax lines and reused if a matching Qoblex tax class already exists. | | Shipping charge | shipping_lines | Each shipping line becomes an extra charge (quantity 1) named by its method title, priced at the shipping line total, with its own tax. | | Fee | fee_lines | Each fee line becomes an extra charge (quantity 1) named by the fee, priced at the fee total, with its own tax. | | Invoice | Derived | Created only when the order status is Closed and there are items or charges still to invoice; the invoice is auto-authorized. | | Payment | Order total | When an invoice is created, a payment is recorded for the WooCommerce order total, dated from date_paid_gmt (or the import time if the order has no paid date). A zero total records no payment. | | Refunds | Order refunds | If the WooCommerce order has refunds, they are processed separately from the main order record through the refund pipeline. |

If a WooCommerce order line has no saved variant mapping and its SKU does not exist in your Qoblex catalog, that line cannot be matched to a product. Import your WooCommerce products first, then re-run the order import for the same date range so the lines link correctly.

Troubleshooting

Some orders I expected are missing
Check three things. First, confirm the order’s WooCommerce creation date actually falls inside the range you selected, the import selects orders by their created date, not their last-modified date. Second, confirm you picked the correct store in Which store do you want to import orders from? if you have more than one connected. Third, check whether the import is still running: orders arrive gradually in the background, so give it time and watch your Activity feed. Qoblex emails you when the run completes, so treat that email as the sign the import has finished. If a whole span is still missing after it finishes, run the import again for that specific date range.
The import will not start with my date range
The date range is wider than the default limit. Order imports are limited to the last 3 months (about 93 days) by default, and the window will not run the import while the range is wider than that. Tighten the start and end dates, or contact Qoblex support to have a larger range enabled for your account.
Order lines are not linked to my products
This happens when orders are imported before the matching products exist in Qoblex. Qoblex matches each line to a catalog variant by its saved WooCommerce mapping or by SKU, so if the product is not in Qoblex yet, the line has nothing to link to. Import and match your WooCommerce products first (see Finish setup and import products), then run the order import again for the same date range.
An imported order is a Quote, not an open order
Qoblex sets the status from the WooCommerce order status. WooCommerce statuses refunded, trash, and checkout-draft come in as a Quote; cancelled comes in as Canceled. Completed, shipped, and delivered come in as Closed and are invoiced and paid; everything else comes in as Open. If a status looks wrong, check the order’s status in WooCommerce.
An imported order was not invoiced or paid
Qoblex only creates an invoice when the order is Closed (its WooCommerce status is completed, shipped, or delivered) and there are items or charges still to invoice. An order that is Open, a Quote, or Canceled is not invoiced by the import, and no payment is recorded for it. A Closed order with a zero total is invoiced but records no payment.
I see what look like duplicate orders
Compare the WooCommerce order numbers and the Qoblex order references before you delete or cancel anything. The import matches on the WooCommerce order ID for the store, so a re-import updates the existing record rather than creating a second one. Records that look similar are usually a legitimately different order or a refund.
I got a warning about an order during the import
When Qoblex cannot fully process a single order, it records a warning in your Activity feed for that order and continues with the rest. Open the Activity feed to see which order and why, common causes are a line whose product is not in your catalog or a store with no order location configured. Fix the underlying issue (for example, import the missing product) and re-run the import for that date range.

Share

Your next stage of growth is just a click away