How to import and export WooCommerce data
WooCommerce includes built-in CSV import and export for products, but not a complete customer and order transfer workflow. Use the product tools for simple catalogue changes; for orders, customers, XML, Excel, field mapping or scheduled jobs, use an import-export plugin.
- 01Back up before moving data
- 02Choose the data you need
- 03Export products from WooCommerce
- 04Import or update the catalogue
- 05Use the manual API route carefully
- 06Check the import results
- 07Use a suite for full transfers
What you need
- A WooCommerce store with administrator access
- A backup or staging copy of the site
- A UTF-8 CSV, XML or Excel source file
- Stable product SKUs or IDs for matching existing products
Back up before moving data
Take a database and file backup before importing anything. For a live shop, run the first import on staging or a separate test site, then check products, stock, prices, images, variations and order totals before touching production.
Keep the original source file unchanged. Make a working copy so you can correct mapping or formatting without losing the source data.
Choose the data you need
Separate the job into products, orders and customers. WooCommerce has a built-in CSV importer and exporter under Products > All Products, so a product-only transfer can usually be handled without another plugin.
Orders and customers are different. WooCommerce core does not provide the same general-purpose CSV screens for them; developers can work with the WooCommerce REST API, but that means handling authenticated JSON requests rather than uploading a normal spreadsheet.
Export products from WooCommerce
Go to Products > All Products > Export. Export all columns if you need a reusable migration file, and include custom metadata when information from another extension must be moved. WooCommerce downloads the result as a CSV file.
Open the file in a spreadsheet editor that preserves UTF-8 and CSV formatting. Do not casually save it as an older spreadsheet format, because characters, commas and leading zeros can be changed.
Import or update the catalogue
Go to Products > All Products > Import, upload the CSV and choose whether to update existing products. On the mapping screen, match each source column to the WooCommerce field or choose Do not import. Existing products are matched by product ID or SKU when those values are supplied.
Use unique SKUs for variations and make sure each variation points to the correct parent product. Images must be directly accessible or already available to the site; repeated URL imports can create duplicate media entries. Do not refresh or leave the page while the import is running.
Use the manual API route carefully
For orders or customers without an import-export interface, the manual route is the WooCommerce REST API. Create API credentials in WooCommerce, prepare the required JSON fields, then use an API client or a script to read, create or update records. The API supports individual and batch operations for orders and customers.
This route is suitable for developers, but it is not a quick spreadsheet workflow. You must handle authentication, IDs, customer matching, order line items, payment and shipping data, dates, tax, refunds and error retries yourself. Test with a few records first; a malformed order import can create incorrect stock or financial records.
Check the import results
Compare the number of source rows with the number imported, updated and skipped. Open several simple products, variable products and products with images. Check stock quantities, tax classes, categories, attributes, variation prices and visibility.
For orders, compare statuses, totals, addresses, customer accounts and line items. If products are duplicated or variations are missing, stop and fix the matching keys, parent values, attribute names or CSV encoding before running the full file again.
Use a suite for full transfers
The fast way is to use All-In-One WooCommerce Import Export Suite when the job includes products, orders and customers, or when you need CSV, XML or Excel files, filters, field mapping, scheduled transfers and logs in one workflow.
Install it from the WordPress admin, activate it, choose the data type, upload or generate the file, map the fields and run a small test batch first. Review the log before running the complete transfer, particularly when moving variable products, customer records or historical orders.
Let All-In-One WooCommerce Import Export Suite do it
Bulk CSV, XML, and Excel transfers for products, orders, and customers, with scheduling and field mapping.
Sources
- woocommerce.com /document/product-csv-importer-exporter/?utm_source=openai
- wordpress.org /support/topic/woocommerce-orders-not-showing-up/?utm_source…
- developer.woocommerce.com /docs/apis/rest-api/v3/orders/?utm_source=openai
Questions
- Can WooCommerce import and export products without a plugin?
- Yes, WooCommerce includes product CSV import and export tools under Products > All Products. They handle standard product fields, categories, attributes, variations and images when the file follows the expected schema. You still need a separate method for a complete order and customer transfer, and extension-specific fields may require their own importer.
- Can I import WooCommerce orders from a CSV file?
- Not with a general-purpose order CSV tool in WooCommerce core. The manual option is the REST API, which uses authenticated JSON requests and requires development work. For a spreadsheet-based order migration, use an importer that supports order fields, customer matching, line items, statuses, addresses and refunds, then test a small batch before the full file.
- Why did my variable products import incorrectly?
- Variable products fail when parent references, variation SKUs, types or attribute names do not match. The parent row must identify a variable product, each variation needs a unique matching key, and the variation must point to the correct parent. Check the skipped-row report and use the exact attribute structure expected by the importer.
- Why are product images duplicated after an import?
- Images can be duplicated when the importer downloads the same remote URL repeatedly or when an update file contains full image URLs. If the images already exist, use the existing filename where supported, or unmap the image column during an update. Direct image URLs must also be accessible to the server running the import.
- Should I import WooCommerce data directly into the database?
- No, direct database imports are risky because WooCommerce data is spread across products, variations, orders, users, metadata, taxonomies and lookup tables. Use the built-in product importer, the REST API or a purpose-built importer so WooCommerce can create related records and run its normal validation. Always back up before migration.