Export WooCommerce Data to Excel: Orders, Products & Customers

Updated May 2025 10 min read Intermediate
WooCommerce WordPress

TL;DR

  • WooCommerce doesn't have native export like Shopify - you need plugins or API
  • Custom fields, variations, and order meta require special handling
  • UTF-8 encoding issues break international characters in Excel
  • Automated exports save hours vs. manual plugin exports every time

Prerequisites

  • WooCommerce store with WordPress admin access
  • Ability to install WordPress plugins OR API credentials
  • Basic understanding of CSV imports to Excel

Why WooCommerce Exports Are Harder Than Shopify

Shopify has polished, one-click CSV exports built in. WooCommerce doesn't.

The WooCommerce Reality:
- Native exports are basic (missing custom fields, meta data)
- Most exports require installing plugins
- Plugin exports vary wildly in quality
- Custom fields need manual configuration
- Product variations export messily
- Order meta data (shipping methods, custom checkout fields) often missing
- UTF-8 encoding breaks international characters

But you can get clean, automated WooCommerce exports with the right approach.

Option 1: Built-in WooCommerce Export (Orders Only)

WooCommerce has a simple built-in exporter for orders - but it's limited.

What You Get:


- Order number, date, status
- Customer name, email
- Product names, quantities
- Order total, shipping, tax

What You DON'T Get:


- Custom order meta fields
- Detailed payment method info
- Shipping method details
- Product SKUs in line items
- Custom checkout fields
- Order notes

How to Use It:


1. WooCommerce → Orders
2. Click "Export" button at top
3. Select date range
4. Choose "All columns" or custom columns
5. Click "Generate CSV"
6. Import to Excel using Text Import Wizard (see our CSV import guide)

Good for: Quick one-time exports, basic order lists
Not good for: Detailed analysis, custom fields, automated reporting

Option 2: Export Plugins (Best for Manual Exports)

Several quality plugins make WooCommerce exports much better:

WooCommerce Customer / Order / Coupon Export (by SkyVerge)


What we like:
- Exports orders, customers, coupons
- Includes custom fields and order meta
- Scheduled automated exports
- Export to CSV, XML, or direct to Excel
- Can filter by date range, status, products

What's missing:
- Product exports require separate plugin
- Free version is limited

Product Import Export for WooCommerce (by WebToffee)


What we like:
- Exports products with variations
- Includes product meta, custom fields, categories
- Exports images (URLs)
- Can filter by category, type, status

What's missing:
- Order exports require different plugin
- Variations export in multiple rows (needs cleanup)

All-In-One WP Migration (for full backups)


What we like:
- Complete site export including all data
- Database included
- Good for disaster recovery

What's missing:
- Not designed for analytics
- Data is in raw database format, not Excel-friendly

Export WooCommerce Orders to Excel (Clean Method)

  1. 4

    Install an Export Plugin

    Go to WordPress admin → Plugins → Add New. Search 'WooCommerce Customer / Order Export'. Install and activate. Free version works for basic needs.

  2. 4

    Set Date Range and Filters

    Choose date range (Last 30 days, Last 90 days, Custom). Filter by order status (Completed, Processing, etc.). Filter by product if analyzing specific SKUs.

  3. 4

    Export to CSV (Not Excel)

    Always export as CSV first, not Excel. Direct Excel exports often have encoding issues. CSV → Excel via Text Import Wizard gives you control.

  4. 4

    Import CSV to Excel Using Text Import Wizard

    In Excel: Data → From Text/CSV. Select your downloaded CSV. Choose 'UTF-8' encoding, delimited by comma, text qualifier double-quote. Preview and import.

  5. 4

    Clean and Format the Data

    Common issues: Date format (convert to Excel date), Money format (remove currency symbols), Multi-line item rows (may need unpivot), Custom fields in separate columns.

,,,,,

Handling WooCommerce Data Quirks

Issue 1: Product Variations Export as Multiple Rows

Problem:
Order #1001 has 2 line items (Red Shirt - Small, Blue Shirt - Large). Plugin exports 2 rows, both with Order #1001.

Solution:
Use Excel CONCATENATE or Power Query to merge line items by Order ID:

```excel
=TEXTJOIN(", ", TRUE, IF($A$2:$A$100=A2, $C$2:$C$100, ""))
```

Or use Power Query:
1. Select data → Power Query
2. Group by Order ID
3. Aggregate line items as concatenated text

Issue 2: Custom Fields Don't Export

Problem:
You have custom checkout fields (Gift Message, Delivery Instructions) but they're not in the export.

Solution:
Most plugins have "Custom Fields" section. You need to manually add:
1. Field name (exactly as stored in database, usually `_gift_message`)
2. Display name (what you want in Excel: "Gift Message")

Check WooCommerce → Settings → Advanced → Custom Fields to find field names.

Issue 3: Order Meta is Ugly

Problem:
Shipping method exports as `flat_rate:3` instead of "Standard Shipping - $10".

Solution:
Use VLOOKUP table to translate codes:

| Code | Display Name |
|------|--------------|
| flat_rate:3 | Standard Shipping |
| local_pickup:1 | Local Pickup |
| free_shipping:2 | Free Shipping |

Then: `=VLOOKUP(A2, TranslationTable, 2, FALSE)`

Issue 4: International Characters Break

Problem:
Customer name "José García" exports as "José García".

Solution:
This is UTF-8 encoding issue. When importing CSV to Excel:
- File → Import → Text File
- File Origin: "65001: Unicode (UTF-8)"
- NOT the default "Windows (ANSI)"

Exporting Products with Variations

Product exports are trickier because variations create complex structures.

Simple Products (No Variations):


Export includes:
- Product ID, Name, SKU
- Price, Sale Price
- Stock quantity
- Categories, Tags
- Short description, long description
- Image URLs

Variable Products (With Variations):


Two export formats:

Format 1: Parent + Child Rows
```
Row 1: T-Shirt (Parent) - No price, no SKU
Row 2: └─ T-Shirt - Small - Red (Variation) - SKU: TSHIRT-SM-RED, Price: $20
Row 3: └─ T-Shirt - Medium - Red (Variation) - SKU: TSHIRT-MD-RED, Price: $22
Row 4: └─ T-Shirt - Large - Blue (Variation) - SKU: TSHIRT-LG-BLU, Price: $24
```

Format 2: Flattened (One Row Per Variation)
```
Row 1: TSHIRT-SM-RED, T-Shirt, Small, Red, $20, 10
Row 2: TSHIRT-MD-RED, T-Shirt, Medium, Red, $22, 15
Row 3: TSHIRT-LG-BLU, T-Shirt, Large, Blue, $24, 8
```

For analysis, Format 2 is better. Most plugins let you choose.

Option 3: Automated API Exports (Best Long-Term)

If you export WooCommerce data regularly, manual plugin exports get tedious.

API Export Advantages:
- Fully automated (no logging in, clicking buttons)
- Scheduled (daily, weekly, monthly)
- Direct to Excel format
- Can combine multiple data sources (orders + products + analytics)
- Handles custom fields automatically
- No plugin maintenance

How It Works:
1. Connect WooCommerce via REST API (read-only)
2. Set export schedule (e.g., every Monday at 9 AM)
3. Receive formatted Excel file via email or cloud storage
4. Open and analyze - no import/cleanup needed

Setting Up API Access:


1. WooCommerce → Settings → Advanced → REST API
2. Click "Add Key"
3. Description: "Spreadsheet Broccoli" (or your tool)
4. User: Select admin user
5. Permissions: Read (never Write unless explicitly needed)
6. Generate API Key
7. Copy Consumer Key and Consumer Secret - share with integration tool
Instead of exporting all orders every time, use incremental exports: only export new/modified orders since last export. Saves time and file size. Most API integrations handle this automatically.

Connect WooCommerce once and get automated, formatted Excel exports delivered on schedule. No plugins, no manual exports, no cleanup.

Automate WooCommerce Exports

Read-only API access • Exports custom fields

Common Mistakes to Avoid

Learn from these common pitfalls to ensure success

Opening CSV exports by double-clicking (breaks encoding)

Solution: Always import CSVs using Excel's Text Import Wizard with UTF-8 encoding. See our CSV import guide.

Not configuring custom fields in export settings

Solution: Default exports won't include custom fields. You must manually add them in the plugin settings with exact field names.

Exporting variations as nested rows and trying to analyze

Solution: Use 'flatten variations' option if available, or use Power Query to unpivot the data.

Exporting to Excel format instead of CSV

Solution: CSV gives you more control during import. Excel-formatted exports often have encoding/formatting issues.

Not testing exports with small date ranges first

Solution: Test with last 7 days before exporting all-time data. Catch issues early.

How to Verify Your Numbers

Ensure accuracy with these verification steps

You can export orders with all needed fields (custom fields, meta data)

International characters display correctly (not garbled)

Product variations export in a usable format

You know how to automate exports (plugin scheduling or API)

You have a template or process document for repeatable exports

Frequently Asked Questions

Why does my WooCommerce export have garbled characters?
UTF-8 encoding issue. When importing the CSV to Excel, choose 'File Origin: Unicode (UTF-8)' in the Text Import Wizard.
Can I export WooCommerce Subscriptions data?
Yes, but you need WooCommerce Subscriptions plugin active and an export plugin that supports subscriptions (like WooCommerce Customer Export).
How do I export customer lifetime value?
LTV isn't a single field - you calculate it. Export all orders, then use pivot table or SUMIF to sum order totals by customer email.
What's the difference between WooCommerce API and WordPress API?
WooCommerce REST API is specifically for store data (orders, products). WordPress API is for site content (posts, pages). You want WooCommerce API.
Can I export order notes?
Yes, but not in built-in export. You need a plugin like WooCommerce Customer Export with 'Include Order Notes' enabled.

Ready to Transform Your Reporting?

Start with a free report and see exactly what you'll get every time.