WooCommerce store owners often maintain backups of their orders in Microsoft Excel or CSV format. Situations such as website migration, server failure, accidental database deletion, malware attacks, hosting changes, or restoring historical sales data may require importing these orders back into WooCommerce.
While several premium plugins are available for order import, many businesses prefer a cost-effective approach that utilizes free tools or custom scripts. This guide explains the complete process of importing WooCommerce orders from an Excel backup file and discusses various methods, requirements, limitations, and best practices.
There are several reasons why businesses may need to restore or import orders:
Website migration
Database corruption recovery
Server crash restoration
Historical order preservation
Testing and staging environments
Consolidation of multiple stores
Accounting and audit requirements
Rebuilding WooCommerce after reinstalling WordPress
Importing orders from external ERP systems
Data synchronization between platforms
WooCommerce orders are not stored in a single database table.
An order typically contains:
Order Number
Order Date
Order Status
Payment Method
Transaction ID
Customer Name
Email Address
Phone Number
Billing Address
City
State
Country
Postal Code
Shipping Address
Delivery Information
Product Name
Product SKU
Quantity
Unit Price
Tax Amount
Subtotal
Shipping Charges
Discounts
Taxes
Grand Total
Before importing, ensure the Excel file contains clean and consistent data.
Recommended columns:
| Column |
|---|
| Order ID |
| Order Date |
| Customer Name |
| Phone |
| Billing Address |
| Shipping Address |
| Product SKU |
| Product Name |
| Quantity |
| Unit Price |
| Order Total |
| Payment Method |
| Order Status |
Save the file in:
XLSX format
CSV UTF-8 format (preferred)
WooCommerce includes product import functionality but does not provide native order import.
Therefore:
✓ Products can be imported directly.
✗ Orders cannot be imported directly.
For order restoration, additional plugins or custom scripts are required.
Several plugins offer limited free functionality.
Examples include:
Advanced Order Export for WooCommerce
Order Import Export Lite
WooCommerce Customer Import Tools
Advantages:
User-friendly
Minimal coding
Limitations:
Limited import capabilities
Restricted fields
Advanced features locked behind paid versions
For complete control, many developers create custom import scripts.
A custom importer can:
Read Excel or CSV files
Create WooCommerce orders
Assign products automatically
Create customer records
Preserve order dates
Restore order statuses
Import billing and shipping information
Example workflow:
Upload CSV file
Parse data
Validate product SKU
Create WooCommerce order
Add products
Assign customer
Update totals
Set status
Save order
Advantages:
No recurring costs
Fully customizable
Suitable for bulk imports
Every imported order must reference existing products.
Best practice:
Use Product SKU instead of Product Name.
Example:
SKU: LAPTOP001
SKU: MOUSE002
SKU: PRINTER003
This avoids duplicate product matching issues.
If a product no longer exists:
Options include:
Create product automatically.
Skip order item.
Create placeholder product.
Most businesses prefer placeholder products for historical reporting.
WooCommerce allows:
Match by:
Email Address
Customer ID
Automatically create customer accounts during import.
Preserving original dates is important for:
Sales reports
GST reporting
Business analytics
Customer purchase history
Custom import scripts can assign:
Order Creation Date
Completion Date
Payment Date
Common WooCommerce statuses:
| Status |
|---|
| Pending |
| Processing |
| Completed |
| On Hold |
| Refunded |
| Cancelled |
| Failed |
Ensure Excel values match WooCommerce status names.
For large imports:
PHP Memory:
512 MB or higher
Max Execution Time:
300 Seconds
Upload Limit:
256 MB or higher
Batch Size:
500–1000 orders per batch
Before importing:
Take a full website backup
Export current WooCommerce database
Test on staging environment
Verify customer information
Scan imported files for malware
Cause:
Invalid SKU
Solution:
Verify SKU mapping
Cause:
Order IDs already exist
Solution:
Enable duplicate checking
Cause:
Incorrect email format
Solution:
Validate customer records
Cause:
Large import file
Solution:
Use batch processing
Always keep original backups
Use SKU-based mapping
Test with 10 orders first
Validate tax calculations
Verify order totals
Import into staging before production
Maintain import logs
Preserve original order numbers
Importing WooCommerce orders from an Excel backup file is entirely possible without purchasing expensive plugins. Businesses can use free tools for small migrations or develop custom PHP import scripts for complete control. Proper planning, data validation, SKU mapping, and testing ensure a smooth and reliable order restoration process.
Whether restoring a few hundred orders or importing tens of thousands of historical transactions, following a structured approach minimizes errors and preserves valuable business data.