Order Export CSV for WooCommerce
Export orders to CSV: saved profiles, 90+ columns plus custom meta, filters, one row per order or per item, scheduled email exports, bulk action, WP-CLI.
- Block cart and checkout
- Classic cart and checkout
- High-performance order storage
- WooCommerce 9 – 11
- WordPress 6.6 – 7.1
- PHP 7.4+
What Order Export CSV does
Get your orders out of WooCommerce and into a spreadsheet, your accountant's software or a fulfilment partner, in exactly the shape they need.
Order Export CSV features
Profiles
Every export is a profile you can save and reuse: which orders, which columns, in which format. Ship with two starter profiles ("one row per order" and "one row per line item") and add as many as you like.
Which orders
- Date range presets (today, yesterday, last 7 or 30 days, this/last week, month, year) or custom dates, on the created, paid, completed or modified date
- Statuses, including custom statuses added by other plugins
- Orders containing specific products or variations
- Customers (registered accounts or guest emails), payment methods, billing or shipping countries
- Order total range, order ID range, sort order
Columns
Ninety-plus columns across order, totals, payment and shipping, customer, billing address, shipping address and line items, plus custom columns for any order meta, line item meta, product meta or customer user meta (keys seen on recent orders are suggested). Drag to reorder, rename any header.
Format
One row per order (line item columns list every item) or one row per line item (order columns repeat). Comma, semicolon, tab or pipe; decimal point or comma; date format; UTF-8 BOM for Excel; Windows or Unix line endings; optional header row; file name pattern with tokens. Cells that start with =, +, - or @ are neutralised so spreadsheets never run them as formulas.
Scheduled exports
Run a profile every day, week or month at a time you choose and email the CSV to one or more addresses. Each run can include only the orders since the previous run.
Everywhere you need it
Export files are stored in a protected uploads folder behind random names and are only served to shop managers. They are deleted automatically after a number of days you choose.
- WooCommerce > Export orders: export now with a progress bar (large stores are exported in batches), preview the first rows, download recent exports again
- Orders list: tick orders, then Bulk actions > Export to CSV
- WP-CLI:
wp ocsv export --profile="Line items" --range=last_month --file=/tmp/items.csv,wp ocsv profiles,wp ocsv run_schedules
For developers
Filters ocsv_columns, ocsv_column_value, ocsv_order_rows, ocsv_query_args, ocsv_order_ids, ocsv_order_matches, ocsv_schedule_email_subject, ocsv_schedule_email_body; action ocsv_export_finished.
Four exports one store runs every month
WooCommerce exports products, not orders, and every accountant, warehouse and tax office wants a different file. An export here is a profile: which orders, which columns in which order, and what the file looks like. Saved once, it runs by hand, on a schedule, from the orders list or from the command line.
| Profile | Orders and rows | Columns and format |
|---|---|---|
| Monthly accounts | Last month by paid date, completed and refunded, one row per order | Order number, date, customer, totals, tax, payment method; semicolon and UTF-8 BOM so Excel opens it cleanly; emailed on the 1st |
| Daily pick list | Since the previous run, processing only, one row per line item | SKU, name, quantity, shipping address, delivery notes; emailed to the warehouse at 6 am |
| Engraving report | Orders containing the engraved pen, one row per item | Item meta column, which lists the engraving text and gift message from Product Add-ons |
| Tax audit | A custom date range, all paid statuses, one row per order | Billing country, tax total, per-rate tax columns, order ID range for the auditor |
Ninety-plus columns cover the order, totals, payment and shipping, customer, both addresses and the line items, and custom columns pull any order, item, product or customer meta, with keys seen on recent orders suggested. Headers can be renamed and dragged into order. Large stores export in batches of fifty orders with a progress bar, so the limit is disk space rather than PHP time. Cells starting with =, + or @ are neutralised so a spreadsheet never runs them as formulas, and files sit behind random names in a protected folder, served only to shop managers and deleted after the number of days you choose.
What it does well, and what it leaves to other tools
If you want a sheet that is always current, Orders to Google Sheets is the plugin: it writes every order as it happens. This one is for files in a required shape, delivered to someone who is not in the WooCommerce admin. Scheduled runs can include only the orders since the previous run, so a daily feed never repeats a row. Custom statuses from other plugins appear in the status filter, and the bulk action on the orders list works with or without high-performance order storage. For developers there are filters for columns, values and the query, and three WP-CLI commands.
What it does not do: import orders, export products, customers or coupons, or write XLSX, XML or JSON. It writes CSV, by hand, on a schedule or from the command line, and nothing else.
How to set up Order Export CSV in WooCommerce
- 1
Upload the plugin to
/wp-content/plugins/or install it from the Plugins screen. - 2
Activate it.
- 3
Go to WooCommerce > Export orders.
Questions about Order Export CSV
Does it support High-Performance Order Storage?
Yes. Both order storages are supported, including the bulk action on either orders screen.
Excel shows everything in one column.
Choose the semicolon as the column separator in the profile's File format section; Excel in most European locales expects it. Keep the UTF-8 byte order mark ticked so accented characters display correctly.
Can I export line item meta added by another plugin (add-ons, engraving, gift messages)?
Yes. Under Columns > Custom meta choose "Line item meta", type the meta key and add it. The built-in "Item meta" column also lists every visible meta on each item.
How large an export can it handle?
The export screen writes the file in batches of fifty orders per request, so it is limited by disk space rather than PHP time limits. Scheduled and WP-CLI exports run in one go.
Where are the files stored?
In wp-content/uploads/ocsv-exports/, behind an .htaccess deny rule and random file names. Downloads go through WordPress and require the Manage WooCommerce capability.
Order Export CSV changelog
- 1.0.0
- Initial release.
Plugins that pair with Order Export CSV
Orders to Google Sheets
Every WooCommerce order in a Google Sheet, automatically. Rows update when an order changes status or is refunded. No Google Cloud project needed.
View plugin
Custom Order Statuses
Add your own order statuses such as Packed, Awaiting pickup or Ready to ship, with colours, bulk actions and safe deletion.
View plugin
Order Numbers
Gapless sequential order numbers in your own format: prefix, date tags, zero padding, yearly or monthly resets, and numbering for existing orders.
View plugin