WooCommerce how-to

How to export WooCommerce orders to CSV

You will know which of your two routes to an orders CSV you actually have, and you will have run it.

Time
6 min
Difficulty
easy
Steps
10

Checked against WooCommerce: Customer / Order / Coupon Export on September 13, 2026.

Before you start

  • Administrator access to WP admin
  • To know whether the Customer / Order / Coupon Export extension is active on the store
  • A spreadsheet app that opens CSV files

Steps

  1. Check what the built in tool covers

    In WP admin, go to Products > All Products. WooCommerce puts its Import and Export buttons beside Add new product.

    You should see a Product CSV Exporter, with product columns and no order fields anywhere in it.

  2. Look for an order export in the WooCommerce menu

    In WP admin, look under WooCommerce for an Export entry.

    You should see an Export screen if the Customer / Order / Coupon Export extension is active, and nothing if it is not.

  3. Open the order list

    In WP admin, go to WooCommerce > Orders.

    You should see your orders, with the Bulk Actions menu above them.

  4. Select the orders you want

    In the order list, select the orders to export.

    You should see the rows ticked, and the Bulk Actions menu ready to act on them.

  5. Choose the export action

    From the Bulk Actions menu, choose Download to CSV.

    You should see Download to CSV chosen, alongside Download to XML and Export and Send.

  6. Run it

    On the order list, select Apply.

    You should see a processing dialog, and a file you can download from it or from the admin notice that follows.

  7. Open the manual export when you need a whole period

    In WP admin, go to WooCommerce > Export and select the Manual Export tab.

    You should see the Output type, Export type, Format, Filename and Mark as exported settings.

  8. Describe the file you want

    On the Manual Export tab, set Output type to CSV and Export type to orders, then pick a Format and enter a Filename.

    You should see an orders CSV described, with the Export Options section below it.

  9. Start the period export

    On the Manual Export tab, select Export.

    You should see an export running in the background rather than a file appearing at once.

  10. Collect the file

    In WP admin, go to WooCommerce > Export > Export List to download a finished export.

    You should see your exports listed, where WooCommerce keeps them for 14 days.

If it goes wrong

The built in exporter has no order option

WooCommerce ships a CSV tool for importing, exporting and bulk updating products. Orders are not in it, which is why every blog that says core can export orders sends readers to Products > All Products and leaves them there. An orders CSV needs the paid extension or an API connection.

Mark as exported quietly shrinks the next file

The extension's Mark as exported setting excludes those records from future exports, and orders exported from the order list are marked exported automatically. Tomorrow's automated file can then miss an order you already shipped, or one you did not. Check the Exported filter on the order list when a count looks short.

The export sits at processing and never finishes

Exports run asynchronously and need background processing on the site. Where that is unavailable the documentation tells you to leave the modal open, or to enable Batch processing in the export settings. A host that kills long requests is the usual cause.

WordPress Tools > Export is not the answer

Whether the core WordPress export carries orders on a store using high performance order storage is not documented anywhere we can verify, so treat it as unverified rather than as a workaround. Our guide on WooCommerce and high performance order storage covers where order data actually lives.

What happens next

Both routes leave you maintaining a file. The extension can send exports on a schedule over FTP, HTTP POST or email, and a scheduled drop is a thing that breaks quietly at 6am. A REST connection reads the same orders on a 10 to 15 minute poll with nothing to collect and nothing to install on the site.

With I'd Ship That

Read orders over the REST API instead

I'd Ship That connects to Woo with your site URL and a WooCommerce REST API consumer key and secret that you generate in WP admin. We verify the pair and store it, and nothing is installed on your WordPress site. Orders in the queue arrive on a scheduled poll, not through webhooks, and land in The Workbench, which is part of Pro. The WooCommerce connection is in early access.

Request WooCommerce early access

Not in core. The built in CSV importer and exporter covers products only, so a free route means a third party plugin or reading the REST API yourself. Both are real options, and both are more setup than the sentence usually implies.

Download to CSV hands you the file. Export and Send pushes the same data to one of your configured automated exports, using its FTP, HTTP POST or email transfer method. Only automated order exports with those transfer methods can be picked for a send.

No, they are alternative routes to the same orders. Keys avoid the file entirely: our guide on creating WooCommerce REST API keys walks the permalink check, the Read/Write permission and the one request that proves the pair works.

The ones you ship: processing and on-hold in most stores, since completed usually means already shipped. Our guide on which WooCommerce orders need shipping explains why that pair is the queue and what a store that auto-completes orders hides.