Plugin Wizards
Orders & notifications

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+
WooCommerce › Export orders

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.

            Four saved profiles and who they are for
            ProfileOrders and rowsColumns and format
            Monthly accountsLast month by paid date, completed and refunded, one row per orderOrder number, date, customer, totals, tax, payment method; semicolon and UTF-8 BOM so Excel opens it cleanly; emailed on the 1st
            Daily pick listSince the previous run, processing only, one row per line itemSKU, name, quantity, shipping address, delivery notes; emailed to the warehouse at 6 am
            Engraving reportOrders containing the engraved pen, one row per itemItem meta column, which lists the engraving text and gift message from Product Add-ons
            Tax auditA custom date range, all paid statuses, one row per orderBilling 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. 1

              Upload the plugin to /wp-content/plugins/ or install it from the Plugins screen.

            2. 2

              Activate it.

            3. 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.
            Orders & notifications

            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

            Orders & notifications

            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

            Orders & notifications

            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