Wait!

Lifetime licenses are only available for a short time, don't miss out!

Any File Type

No need to reorganize your data, just upload your file to WP All Import and it'll sort it out.

Complete Customization

Granular control over every single piece of data. Think your import is too complicated? Think again.

Import Huge Datasets

It doesn't matter how big your site is or how much data you need to import, WP All Import can handle it. 

Multilingual Imports

Importing data to multilingual sites has never been easier, with support from the WPML team.

Scheduled Imports

Run imports automatically on a schedule. Subscribe to our point and click scheduling service, or set up cron jobs.

Developer Friendly

Write and test PHP right inside WP All Import when setting up your import, with tons of snippets to get you started.
@glitzformals
"This plugin is a game changer for my situation. I’m stunned at how fast and effortless the import process is."
@adatfalo
"I have never experienced such a quick and helpful support experience with any plugin, and by the way, the knowledge of the support colleagues is professional!"
@jessedw44
"Even if you just use this plugin once, it will save you time. If you work on several sites its invaluable. Constantly developed, and continuously supported. Great job."
90-Day Guarantee
Not 100% happy? Let us know and we’ll promptly send you a refund.
Free Updates For Life
Pay once for unlimited installs, even client sites. No renewal fees.
Fast, World Class Support
Over 9 years experience with WordPress imports and exports.
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More

How to Import WooCommerce Orders

To import WooCommerce orders, go to WP All Import › New Import and select WooCommerce Orders from the list. Map the import order fields using the Drag & Drop interface, then run the import.

This documentation covers how to import WooCommerce orders using WP All Import. For a broader look at importing WooCommerce orders, check out:

Step 1: Create New Import for WooCommerce Orders

Navigate to All Import › New Import and select your import file. Choose to import WooCommerce Orders and click Continue to Step 2.

Import WooCommerce Orders New Import

Step 2: Review the WooCommerce Orders Import File

The Review Import File interface will appear. This is where you can assess whether the import data has been correctly interpreted.

Import WooCommerce Orders Review Import File

Note the record count in the top section. You can use the gray arrows in the top corners of the middle section to navigate through the records.

The Add Filtering Options section near the bottom allows you to filter which WooCommerce orders to import.

Once you confirm the import data and create any desired filters, click Continue to Step 3.

Step 3: Map the Incoming Data Elements to Import WooCommerce Orders

The Drag & Drop interface now appears. Here, you can map the incoming data elements to their respective target fields. Just drag and drop the desired data elements from the panel on the right to the appropriate import fields on the left.

Order Details Section

To import WooCommerce orders, start with the Order Details section, where you can map the Order Status and Date fields:

Import WooCommerce Orders Define Order Details

If you're not certain what to import, review the help tooltips.

Billing & Shipping Details Section

Once you've completed the order details, proceed to the Billing & Shipping Details section, which consists of multiple tabs.

The first tab is Billing, where you can attempt to match the customer data with an existing customer from the site or import a guest customer instead. Here, we attempt to match an existing customer using an email address:

Import WooCommerce Orders Billing Details

Switch to the Shipping tab. Here, you can select Copy from billing to copy the billing address as the shipping address, or select Import shipping address to import a different shipping address from one of the incoming fields.

You can also import a customer note in the Customer Provided Note field:

Import WooCommerce Orders Shipping

Finally, switch to the Payment tab, where you can select the Payment Method and assign a Transaction ID value.

Import WooCommerce Orders Payment Details

Order Items Section

After the Billing and Shipping section, next up is the Order Items section, which also contains different tabs.

The first tab is Products, where you can get the product data from existing products or manually import it. In this example, we attempt to use existing products.

Import WooCommerce Orders Order Items Products

To ensure that existing products are matched correctly, you must use the Product SKU.

The Fees tab is where you can import any extra fee attached to the order:

Import WooCommerce Orders Fees

If a coupon was used in the order, you can import it in the Coupons tab:

Import WooCommerce Orders Coupons

The order shipping information is imported in the Shipping tab:

Import WooCommerce Orders Shipping Address

If there are any taxes associated with the order, map those in the Taxes tab:

Import WooCommerce Orders Taxes

If the order contains any refund (total or partial), import it via the Refunds tab:

Import WooCommerce Orders Refunds

In the Total tab, you can tell WP All Import to calculate the order total automatically or to set it manually.

Import WooCommerce Orders Total

Notes Section

You can map order notes using the Notes section:

Import WooCommerce Orders Define Notes

Below this section, you will see other sections such as Advanced Options, Custom Fields, etc. Ignore these for now.

After all the data elements have been correctly mapped, click the blue Continue to Step 4 button at the bottom (not shown).

Step 4: Configure Settings to Import WooCommerce Orders 

You will now see the Import Settings screen, where you can define most of the import configurations:

First, click on Auto-detect to automatically detect the unique identifier for each order in the import. This helps WP All Import distinguish between orders. If necessary, you can also set this manually.

In the same panel, you can also define how the import should behave in subsequent import runs. For example, you can instruct WP All Import to update existing orders with new data if the same order is encountered again, or to delete an existing order if the order is not present in the import file.

In the Email Notifications for Customers section, you can change the email notification behavior for the imported orders. While notifications are disabled out of the box, they can be enabled by unchecking the Block email notifications during import checkbox.

There are also panels for Scheduling Options and Configure Advanced Settings. We'll leave these alone for now, as they can usually be left with their default selections.

Click Continue to go to the next step.

Step 5: Run Import and Verify WooCommerce Orders Import

The Confirm and Run screen allows you to review an import summary before proceeding:

Import WooCommerce Orders Import Summary

If something is not correct, go back to previous steps to correct it.

To continue, click Confirm & Run Import. Once the import completes, you will see this screen:

Import WooCommerce Orders Import Complete

To confirm that the orders were correctly imported, go to WooCommerce  Orders in the WordPress main menu. There, you should see all of your imported orders:

Import WooCommerce Orders Verify Imported Orders

Import WooCommerce Orders – Advanced Topics

Order Skipped Due to Product Not Found

When you import WooCommerce orders, some may be skipped due to not finding a product match. Imported orders use the product SKU to match with existing products on your site. If there's no product match, you can find a message like this in the import History Logs:

[22:52:54] SKIPPED: Existing product `` not found for Order `Order – June 8, 2022 @ 10:52 PM`.

You can solve this error by ensuring that every SKU in the import file has a product on the site with that SKU. Or, you can select the Manually import product order data and do not try to match to existing products option and then map the product data:

Import WooCommerce Orders Manually Import Order Items

Order Skipped Due to Customer Not Found

When you import WooCommerce orders, some orders may be skipped due to not finding a customer match. If this happens, you will see a message like the following in the import History Logs:

[22:31:02] SKIPPED: Search customer by username `soflyy`. Existing customer not found for Order `Order – June 8, 2022 @ 10:31 PM`.

Solve this by matching with a customer or user account that already exists on the site, or by enabling the option If no match found, import as guest customer and filling in the guest customer details:

Import WooCommerce Orders Import as Guest Customer

You can also import all customers as guest customers directly, without attempting to match an existing user account, by enabling the Import as guest customer option at the bottom and filling in the required fields.

Order Taxes or Shipping Not Showing Correctly

If taxes are not appearing correctly or not being imported, this can happen due to not having taxes enabled in WooCommerce. Here's how to enable WooCommerce taxes:

  • Go to: WooCommerce Settings General.
  • Select the Enable Taxes and Tax Calculations checkbox.
  • Save changes.

To correctly apply the taxes to the product(s) linked and found on the site, the WooCommerce product itself needs to have a tax status and a tax class selected.

Likewise, if the shipping amount is not imported or showing correctly, this can happen because of a failure to find the correct Shipping Method on the site. To avoid this, make sure that the Shipping Method imported in the Shipping tab is valid:

Import WooCommerce Orders Shipping Method

Linking Orders With Products Without an SKU

In some cases, you may need to link products to orders without having the product SKU in the import file. To accomplish this, you need to use the product ID to obtain the SKU for that product. Here's a working example code snippet:

function my_connect_orders( $product_id ) {
	if ( $wc_product = wc_get_product( $product_id) ) {
		return $wc_product->get_sku();
	}
}

You can call the function as shown below. If the product ID is in a different import element, change the import element in the function call:

[my_connect_orders({productid[1]})]

Here's a screenshot:

Import WooCommerce Orders Use Custom PHP Function

Frequently Asked Questions About Importing Orders

How to Import WooCommerce Orders Using XML?

Simply identify your XML file as the source file for your order import. WP All Import will automatically recognize the file type and parse the data accordingly. Our software can handle any XML feed regardless of its complexity.

How to Import WooCommerce Orders Using CSV or Excel?

Same answer as above. After WP All Import recognizes the import file type and parses the data, it will adjust the interface/tool used for you to review the file contents. As a user, you don't need to worry about the differences in the file types.

Is There a Specific Sequence I Should Use to Import WooCommerce Data?

Yes, if you're importing multiple types of WooCommerce data, you should follow this sequence to import the data without issues:

  1. WooCommerce Products
  2. WooCommerce Customers
  3. WooCommerce Orders
  4. WooCommerce Reviews

How to Export Orders from WooCommerce?

  1. Go to All Export › New Export and select to export WooCommerce Orders.
  2. Configure your orders export using the Drag & Drop screen.
  3. Run the export.
  4. Download your export file.

To learn more, see How to Export WooCommerce Orders to CSV, Excel, or XML.

How to Migrate WooCommerce Orders From One Site to Another?

  1. Create a new WooCommerce Orders export using WP All Export.
  2. Select Migrate Orders and download the bundle file.
  3. Import the bundle file via WP All Import.
  4. Complete the import process and verify the migrated orders.

For more information, see the Migrate quickstart guide.

What Table Does WooCommerce Store Orders In?

WooCommerce stores orders as a custom post type in the wp_posts table. The order metadata is in wp_postmeta. WooCommerce also uses its own custom database tables for some item data, such as wp_woocommerce_order_items and wp_woocommerce_order_itemmeta.

Learn how to import simple and variable WooCommerce products with WP All Import.

Learn how to import WooCommerce customers with WP All Import.

Learn how to use cron jobs to automate your WooCommerce orders import.

Lifetime support. Lifetime updates. Pay once.

Packages
Standalone
Import
Pro Package
$249
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Pro Package
$299
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
WooCommerce Import Package
$149
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Standalone
$169
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Export Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
cross