WooCommerce powers stores that range from one product to thousands. But no matter the size of your store, you may find yourself needing to import and export products and orders. Copying information manually, one item at a time, can be tedious. The ability to import and export this data in bulk can make store management more efficient and less frustrating.
Discussed in this article:
When should I import or export products?
Not sure if you need import and export functionality for your store? There are quite a few scenarios where importing and exporting products in bulk would be useful to just about any online shop. You may need to do this if:
You have a large number of products that need to be transferred or updated
If you’re setting up your store for the first time and you have a large catalog of products, are importing a new batch of inventory into an existing store, or are updating product information in bulk, you might benefit from a bulk import/export.
You need to send product data to warehouses
If you’re setting up a relationship with a warehouse for the first time, they’ll want information on all your products — including product name, description, SKU, shipping method, and charges. If you don’t already have a spreadsheet with this data, you’ll want to be able to export that information directly from your WooCommerce store.
You need to export your product catalog to a marketplace like Amazon
If you’ve mainly run your store on WooCommerce and are now beginning to branch out to Amazon, Etsy, Facebook/Instagram, and other marketplaces, you may find it beneficial to simply bulk export your products from your WooCommerce store into a CSV or XML file. You can then upload this file to the marketplace you’d like to work with.
If you only have four or five products, you could probably add them manually, but if you’ve got a catalog of hundreds or thousands, you definitely don’t want to spend days or weeks trying to add those one-by-one.
You need to import products from another eCommerce platform to WooCommerce
You need to update product information in bulk
If you include the same information in every product description and suddenly find that this changes, you’ll either have to update each product individually or find a way to change all of them at once.
Let’s say your store offers 200 t-shirt designs and every one has a color option of blue, black, and red. You receive a notification that your manufacturer will no longer supply red shirts. Now you have to update 200 products to reflect this change. Instead of going into each one individually and removing the red variation, you could bulk export your products, delete the red option, and then import the revised information back into WooCommerce.
You want to create a printed product catalog
In the past, companies led with printed catalogs and eventually came around to creating eCommerce stores. But these days, the cost of creating an online shop is exponentially more affordable than designing, printing, and mailing catalogs. It’s much more likely that a shop would start with eCommerce and then later decide to create a printed catalog. If this is the case for your store, being able to export all your product data directly from your online shop can help expedite your catalog design process.
When should I import and export orders?
Importing and exporting orders is vital for efficient management of medium to large eCommerce stores. But even smaller stores might need import/export functionality for WooCommerce from time to time. Below are some example scenarios:
You’re sending orders in batches via a CSV file to your warehouse
If you don’t have a direct integration between your WooCommerce store and your warehouse, you may have to send orders in a CSV or Excel file. While you could transcribe order information manually into your CSV file, it would be quite time consuming and prone to errors. Instead, you could do a daily export of orders that you send to your warehouse, which would save you time and reduce the possibility of typos and missed orders.
You need specific data to run reports
While WooCommerce has a lot of different reporting capabilities, you may want to generate reports unique to your company. For instance, if you want one that shows how many of a specific product is sold in a particular country, state, or province per year, you’ll need to create this yourself. Exporting full product sales and order data gives your analyst the data they need to make this happen.
You’re importing orders in bulk that were placed manually through email, over the phone, or in person
If you take a large number of orders through channels other than your website, you don’t want to spend hours adding each one individually to your store. If you can centralize your offline orders to a single CSV file that’s uploaded in bulk, you’ll save a lot of time.
You want to store order history off-site
If you delete order data periodically in WooCommerce, you might want to back up historic orders in a CSV file somewhere in case you need to access them in the future.
How to import and export products and orders
There are a few ways to import and export products and orders depending on the type of information you need:
- Built-in product import and export tools: Great for importing and exporting product data for simple and variable product types
- The built-in analytics tool, WooCommerce Analytics: An excellent option for exporting some types of basic product and order data
- The WordPress native Import and Export tool: Great for importing and exporting more detailed data. However, the results will be in an XML file and they look a bit messy. They also don’t export or import complete order data.
- An import/export extension: The quickest and simplest method here. This is also great for customizing the information you want to import/export and handling detailed data.
- Database manual import and export: Good for dealing with complete or detailed product and order data. However, this requires some development experience.
Keep reading for detailed instructions.
Importing and exporting products with the built-in Product Import/Export tool
WooCommerce comes with the ability to bulk import a few different types of products, including:
- Subscription products
- Product bundles
- Composite products
Before importing your products, you’ll need a CSV file with all your product information, formatted so that WooCommerce can properly interpret the data. The best way to generate this is to download the sample CSV file on Github. From there, you can replace the sample data with your own.
You can also create a CSV file from scratch using the Product CSV Import Schema. If you want to import products from an existing WooCommerce store, you can export them from the existing store and change any necessary information before importing it into the new one.
Which CSV editor should I use?
Google Sheets, Open Office’s Calc program, and LibreOffice’s Calc program are all great software for editing your CSV files. If you’re on a Mac, you can also use Numbers. Avoid Microsoft Excel due to formatting and character encoding issues.
How should I format my CSV file?
There are a few formatting and data-related things you’ll need to pay attention to in your CSV file. If you don’t follow these rules, you might end up with a failed import or incorrect information in your store.
- CSV files should be in UTF-8 format.
- Use your store’s local timezone for dates.
- For true/false values, use 1 for true and 0 for false.
- Multiple values in a field should be separated with commas.
- Wrapping values in quotes allows you to insert a comma.
- Prefix the id with id: if referencing an existing product ID. No prefix is needed if referencing a SKU. For example: id:100, SKU101
- Custom meta is supported but only plain text. There’s no support for JSON or serialized data.
- Taxonomy term hierarchy is denoted with > (e.g. T-shirts>Youth>Licensed Cartoon Tees). Terms are separated with commas (e.g. short-sleeved,long-sleeved,cap-sleeved).
- Products that are in draft status are not exported, only published and privately published products. However, you can import a product with a draft status.
- It’s not possible to assign a specific post ID to a product on import. Products will always use the next available ID, regardless of the ID included in the imported CSV.
- Images need to already be uploaded to your site or available through a publicly accessible external link to be imported to your store. Some cloud storage services use redirect scripts that prevent the image file from being imported, so make sure that your image is available at the exact link you specify.
- If the product image already exists in the Media Library, you can simply input the file name instead of the entire file path.
Import new products or update existing products
You can use the Import feature to import new products or update existing ones.
1. In your WordPress dashboard, go to WooCommerce → Products.
2. Select Import at the top of the Products page. You’ll be taken to a multi-step page, the first step of which is Upload CSV File.
3. Select Browse to choose the CSV you want to use.
4. If you’re updating existing products, check the Update existing products box.
5. CSV delimiter: Generally CSV elements are separated by a comma. If you are using a different delimiter in your file, you can set it here.
6. Column mapping preferences: If you’ve set column mapping preferences in the past and want to use them, you can check this box.
7. Click Continue. This will take you to the Column mapping screen.
WooCommerce will automatically attempt to map the Column Name from your CSV to Fields.
8. If there are any fields you don’t want to import, you can use the dropdown menus under Map to field to indicate ‘Do not import.’ You can also select the field you want your column name mapped to. Any unrecognized columns or unmapped fields will not be imported by default.
9. Once you’ve mapped all your fields, click Run the Importer.
10. You’ll see a screen that says “Importing. Your products are now being imported.” Wait until the Importer is finished. Don’t refresh your browser while it’s in progress. When your import is complete, you’ll be taken to the Done! screen and from there you can click View Products to review them and confirm that they were imported correctly.
If you need to export products from your store, the process is fairly straightforward.
1. In your WordPress dashboard, go to WooCommerce → Products and click Export at the top of your screen.
You’ll be taken to Export products to a CSV file. From here, you can select which columns, what product types, and what product category you want to export.
2. Make your selections, then click Generate CSV.
3. Wait for your export to finish and download your file.
WooCommerce Product Import & Export
For more detailed information on importing and exporting products with the default WooCommerce Product Import and Export tools, read the WooCommerce Getting Started Documentation.
Exporting product and order data with WooCommerce Analytics
WooCommerce Analytics provides reporting details about your store’s sales, products, and orders. Exporting this data is useful if you want to review best selling products, compare revenue for different time periods, get an overview on your stock levels, or identify your most loyal customers. While you can’t import external data directly to WooCommerce Analytics, if you’re using a version of WooCommerce older than 4.0 and are upgrading to 4.0 or above, you can import historical data from your previous version of WooCommerce.
Keep in mind that WooCommerce Analytics is limited to fairly high-level data and does not import/export complete product or order information. If you need detailed information like how many sales were made in a specific country over a certain period of time or are looking to bulk edit product descriptions in your store, you’ll need to export that data directly from your database or using an extension like Import Export Suite for WooCommerce.
Exporting product analytics
In your Product Analytics view, you can choose a date or date range and then view all products, see a single product, or choose a product comparison view.
Product reports can include:
- Product title
- Number of items sold
- Net sales
- Number of orders
- Number of variations
- Stock Status (In Stock, Low Stock, Out of Stock, N/A)
- Stock Quantity
To filter your results for specific data columns, click on the vertical ellipsis at the top right of your product results view.
You can toggle on or off the SKU, Orders, Category, Variations, Status, and Stock columns. When your report reflects the information you need, click the Download button at the top right of your product results view. Your data will be downloaded as a CSV file.
Exporting order analytics
In your Order Analytics view, you can choose a date or date range and then view all orders or choose from some advanced filters like:
- Order Status
- Coupon Codes
- Customer Type
- Tax Rate
Order reports can include:
- Order number
- Customer name
- Customer type
- Product(s) purchased
- Number of items sold
- Coupon(s) used
- Net sales
To filter your results for specific data columns, click on the vertical ellipsis at the top right of your product results view.
You can toggle on or off the Status, Customer, Customer type, Product(s), Items sold, and Coupon(s) columns. When your report reflects the information you need, click the Download button at the top right of your product results view. Your data will be downloaded as a CSV file.
WooCommerce Analytics is a reporting and data analysis tool that comes with version 5.3 and above of WooCommerce. The suite includes advanced filtering and segmenting tools for your reports, report downloads in CSV format, and a customizable dashboard to monitor key metrics of your store. Learn more
Exporting product and order data with WordPress’ Export tool
WordPress natively allows you to export different post types as XML files. This feature is located in Tools → Export in your WordPress dashboard.
WordPress’ Export tool can export custom post types like:
Note: Choose Products or Orders instead of Product or Order when exporting.
Keep in mind that for order exports, the results are somewhat limited in that it does not include the names of the products or the quantity sold in each order.
The WordPress Export tool’s formatting may not be ideal for your purposes, either. The data will be exported as an XML file, so unless you plan on importing this data directly into another WooCommerce site, you’ll probably want to view the results as a CSV file. To do this you’ll either need to convert it to a CSV file using Notepad++ (Windows) or a free online conversion tool. The resulting formatting is not pretty and can be a bit messy to sort through. If you need order details like which products were ordered and how many, you’ll still have to export that information directly from the database or use a plugin to handle your exports.
Importing product and order data with the WordPress Import tool
To import product or order data using the WordPress Import tool, you’ll need to make sure that your file is formatted just like the export file for whichever post type you’re importing. Exporting a post type first can give you a template for how to set up your import file.
This exported file will also define what types of data can be imported. This is especially important when it comes to order information since the Orders post type does not include complete order information.
While you can edit your file as a CSV, once your file is configured you should make sure you save it as an XML file.
When your file is ready and saved in XML format, open your WordPress dashboard and go to Tools → Import.
Scroll to the bottom of the next screen until you find the WordPress option, then click Run Importer.
Select your XML file using the Choose File button, then click Upload file and import.
Using WooCommerce extensions to import and export products and orders
The quickest and least error-prone way to import and export WooCommerce products and orders is to use an extension. This saves time and reduces the potential for errors. Depending on the data you need, there are a few great solutions to choose from — Import Export Suite for WooCommerce, Product CSV Import Suite, Customer/Order/Coupon CSV Import Suite, and WooCommerce Customer/Order/Coupon Export.
Import Export Suite for WooCommerce
With Import Export Suite for WooCommerce, you can import, export, migrate, and update all your WooCommerce data in bulk using either a CSV or XML file. All WooCommerce product types are supported, including:
You can also import and export orders, product reviews, coupons, subscriptions, and customers.
Import Export Suite for WooCommerce includes several other useful features, like:
- Scheduled imports and exports. You can automate your imports and exports on a schedule you choose. These processes run in the background so you can continue to work on other areas of your site.
- Import/export history. The suite stores all of your import and export history and includes the option to re-run the same import/export again.
- Data and debug logs. You can view all the data related to your import/export processes and check debug logs if a process fails and you need to troubleshoot the issue.
- Import and export custom fields and hidden metadata.
- Create custom exports using filters. You can specify the total number of products to export, skip first n exports, include or exclude products by category, and specify specific products to export by product name.
Product CSV Import Suite
Product CSV Import Suite is specifically geared toward importing and exporting products. In addition to being able to import and export the same product types that WooCommerce does by default, it’s also set up to handle information from WooCommerce Bookings, Product Vendors, WooCommerce Brands, Google Product Feed, and WooCommerce Photography.
Product CSV Import Suite is able to capture custom field and taxonomy information that you can include in your imports and exports. It will also import custom data from extensions like Product Add-Ons and Dynamic Pricing.
With Product CSV Import Suite, you have more granular control of what product data you export from your store. You can also export products in draft mode.
Customer/Order/Coupon CSV Import Suite
Customer/Order/Coupon CSV Import Suite is only an importer. It doesn’t create exports. You’ll need to purchase its companion plugin WooCommerce Customer/Order/Coupon Export or another order export plugin if you want to export order information.
The importer can handle several different import formats, and columns can be mapped to the appropriate WooCommerce fields to merge or create orders. Your data can be imported as a file, copy and pasted, or added via a URL.
In addition to importing and merging orders, you can import and merge customers and coupons. This extension also allows you to import custom fields and taxonomies associated with orders, customers, and coupons.
Multiple shipping methods per order are supported and order data imports in the background so that you can import large data sets without risking timeouts.
WooCommerce Customer/Order/Coupon Export
WooCommerce Customer/Order/Coupon Export is an export tool only that outputs files in CSV and XML format. If you need to import customer, order, or coupon data, you can use its companion extension, Customer/Order/Coupon CSV Import Suite.
With this extension you can export individual orders, customers, or coupons and automate your exports with data transfers via FTP, HTTP POST, or email. The export process runs asynchronously in the background on your site so you can continue working in other areas of your store while your export completes.
Other handy features include:
- Custom formats that include customer and order meta. You can also customize exports to suit your CRM or order fulfillment system — rearrange and add new fields and include custom meta data and static values.
Which solution is right for you?
There’s no one-size-fits-all solution for every import and export requirement. You may already have what you need from the built-in WooCommerce Import and Export tools and WooCommerce Analytics. If you have a more unique situation, a premium extension like Import Export Suite for WooCommerce might be your best option.
Take the time to consider what import and/or export data you need to efficiently and effectively run your store and choose the solution that best supports your goals.