WooCommerce Orders Export Sample CSV (Dirty + Clean)
A production-realistic WooCommerce order export (6,300 rows) covering data quality issues that break platform migrations and ERP integrations. The WooCommerce quirk: Line Items and Order Notes fields frequently contain raw HTML markup (<br>, <p>, <strong>) and embedded CRLF line breaks. When a customer leaves a multi-paragraph note, naive parsers split a single order into multiple invalid rows at every unescaped newline. The 'dirty' version includes HTML-infested notes, multi-product lines separated by pipe characters (|), and missing UTF-8 BOMs causing accented names (Müller) to render as mojibake. Perfect for WooCommerce-to-Shopify migrations and ERP/OMS order imports. All cleaning happens locally — your order data stays private.
Live Interactive Preview
Live Data Preview
See how this messy woocommerce data looks before downloading. All processing happens locally in your browser.
💡 Pro Tip: Your CSV parser just split one order into 5 rows because a customer wrote a multi-paragraph note. Run this file through WooCommerce Cleaner to strip HTML and output perfectly flat records.
⚡ Next Step: Migrating from WooCommerce to Shopify? Prep your orders with Format Cleaner first — fix UTF-8 mojibake and standardize currency values before you migrate.
Data Schema Definition
| Column | Type | Description |
|---|---|---|
| Order ID | integer | WordPress post ID. Sequential but gaps exist from deleted/trashed orders. Not UUID; don't use across environments. |
| Order Date | timestamp | Server-local timezone timestamp. WordPress TZ setting varies; always verify offset before UTC conversion. |
| Status | string | Prefixed enum: wc-pending | wc-processing | wc-completed | wc-refunded. Strip 'wc-' prefix for downstream compatibility. |
| Customer Note | text | ⚠️ CRITICAL: Contains raw HTML (<br>, <p>) AND embedded CRLF. Double threat: breaks both HTML sanitizers and CSV parsers. |
| Line Item Name | string | Multi-product orders use pipe (|) separator. Some plugins use commas instead; detect delimiter dynamically. |
| Shipping Total | decimal | Shipping cost excluding tax. Separate from cart total; null for virtual/downloadable orders. |
| Payment Method Title | string | Display name (Stripe, PayPal, BACS). Not gateway ID; map to canonical payment processor for reconciliation. |
| Billing Email | string | Customer email. May differ from user account email for guest checkouts; use as primary customer identifier. |
| Total | decimal | Grand total including tax and shipping. Decimal with 2 places; currency implied by store settings, not in field. |
| SKU | string | Product SKU. Pipe-separated for multi-item orders. May contain commas; quote-aware splitting required. |
⚠️ Highlighted rows contain known data traps. Review descriptions before building ETL pipelines.