Export Orders from WooCommerce: Built-In Methods, Line Items, and Automation
Quick answer: To export orders from WooCommerce, open WooCommerce Analytics, choose Orders, set your date range and filters, and download the CSV. For line items, refund detail, or an ongoing ERP connection, you need the REST API or a connector. Check the Date Type and excluded statuses settings first, because they decide which orders appear in the file.
In my experience, the first time someone needs to export orders from WooCommerce, the request is simple: send me last month’s sales. The second request is harder: add the product lines, match the refunds, and make the totals agree with what the bank shows. If you are already at that second stage, the order fulfillment automation with Business Central article explains how paid orders can reach an ERP without a monthly export at all.
This guide starts with the built-in methods, then covers line items, refunds, and clean spreadsheets. I finish with the point where manual exports stop being worth the effort, and what ecommerce automation for WooCommerce stores looks like once it replaces the routine.
You do not need an ERP to export orders well. A single store with light volume can do everything in this guide with tools already inside WordPress. But if your accountant rebuilds the same report every month, or you run more than one store, the signs that your WooCommerce store needs an ERP are worth checking before the spreadsheet becomes the system of record.
Which Method to Use When You Export Orders from WooCommerce
WooCommerce gives you several routes, and they are not interchangeable. Choosing the wrong one is the most common reason people end up re-exporting the same file five times.
Analytics is the current built-in reporting section. It produces a CSV of orders for any date range, with filters for things like status and product. It is the right choice for summary reporting and most accounting handoffs. It does not give you a per-order list of every product on every order, so it is not the tool for warehouse picking or detailed product costing.
The older WooCommerce Reports screens still turn up in some stores. They can export CSV, but they are legacy tools. WooCommerce deprecated them with version 4.0 in March 2020, and they no longer receive updates. The Customer List and stock reports cannot be exported at all, and adding a column to a legacy report requires custom code or an extension. If you find yourself in these screens, use the legacy WooCommerce Reports CSV export as a reference while you move your workflow to Analytics.
The REST API is the route for line items, custom fields, and scheduled jobs. It is the tool a developer or plugin uses behind the scenes. A connector is the answer when exporting itself becomes the problem, because it moves data continuously instead of in monthly files.
A simple rule helps here. If you need a number for a period, use Analytics. If you need a list of records, use the REST API or a plugin. If you need records to stay aligned with another system, use a connector.
How to Export Orders from WooCommerce Using Analytics
Open WooCommerce, then Analytics, then Orders. The page opens with a default date range of Month to Date, which you can change in the Analytics settings. Use the date picker’s presets for common periods such as Last Month, Quarter to Date, or Last Year. For anything else, switch to the Custom tab and enter exact start and end dates.
Two small habits make exports easier to trust. First, compare against the previous period or previous year when you run a report. A sudden drop often points to a filter or a setting rather than a real change in sales. Second, select Update after changing the date range. That adds the range to the report URL, so you can bookmark it or share it with another admin. The next person sees the same numbers you do.
When the report is ready, use the Download link at the upper right of the table. If every row fits on one screen, the CSV downloads immediately. If the data spans more than one page, which happens once the table holds more than the default 25 rows, WooCommerce processes the export as a background job. It then emails a link to the WordPress account that requested it. That link stays valid for one week and can be used more than once in that time. The email and the filename both show the period, so check them before you forward the file. The WooCommerce Analytics CSV download guide describes the same behavior in more detail.
If more than one person has access to the site, remember that the email goes to whoever requested the export, not to everyone with admin rights. Agree on who runs the monthly export so nobody is surprised by a missing email.
Settings That Change What Your Export Contains
Most export surprises come from settings rather than data errors. Three matter most.
Date Type decides which date places an order in a period. The default is Date Paid. An order placed on the last day of the month and paid the next morning lands in the following month. If your accountant recognizes revenue by order date, change this setting before you export. The Taxes report uses the same setting, so only compare reports when they share a date basis.
Excluded statuses decide which orders count. By default, pending payment, cancelled, and failed orders are excluded, while processing, on hold, and completed orders are included. Custom statuses are included unless you exclude them. The refunded status cannot be excluded. A change to these settings moves totals immediately, so write down the date you made any change.
Historical data matters if the store existed before Analytics was available or you are filling gaps. In Analytics settings, find Import Historical Data. You can pick a date period or import everything, and the option to skip previously imported customers and orders avoids reprocessing overlap. The import runs in the background, so you can leave the page. If an order fails to import, a warning appears with a log and a retry button. Resolve the cause shown in the log before retrying, or the order will fail again.
Finally, check the update schedule. From WooCommerce 10.5, Analytics shows when data was last updated and includes an Update Now button. The Scheduled setting refreshes every 12 hours and is the recommended option for most stores. The Immediately option updates as soon as new data is available, which can affect performance on busy stores. If figures still look wrong after a change, WooCommerce > Status > Tools includes a Clear Analytics Cache tool.
How to Export WooCommerce Orders with Line Items
Analytics answers the question “how much did we sell?” It does not tell you which products sat inside each order, in what quantity, or which variation shipped. For that level of detail, you need the order records. The WooCommerce REST API v3 orders endpoint is the official route, and WooCommerce recommends the /wp-json/wc/v3/ namespace for all new integrations.
Each order returned by the orders endpoint includes its line items. You create API keys in WooCommerce settings and use them to authenticate requests. You can filter by date and status to limit the results. Someone comfortable with a script can pull the data and write it to CSV. If you prefer not to write code, a plugin can export one row per line item from the same underlying records.
Decide the grain of your file before you export. An order-level file has one row per order and carries the order total. A line-item file has one row per product and carries the quantity and line total. If you put both into one sheet and sum the total column, the order totals repeat for every line, and your revenue figure inflates. Build two files, or keep the order number on each line so you can join them later.
Line-item exports are useful for fulfillment, cost of goods sold, and product-level refund analysis. Label each file with its date range and status filter. A line-item export filtered to completed orders will not match a total that includes processing orders, and that mismatch causes more confusion than almost any other single issue.
Export Refunds Without Double Counting
Refunds are where order exports go wrong most quietly. In Analytics, a refund appears as a negative number on the date the return happened, not on the date the original order was placed. That is correct for many accounting methods, but it looks like an error if you expect the refund to sit beside its sale.
Refunds include discounts from coupons. Refunded shipping and refunded tax appear in their own columns as negative values, so they are easy to overlook if you look only at the refund total. A partial refund follows the same pattern.
My routine is to export sales and refunds for the same period as two separate files, then reconcile them. Gross sales minus returns, coupons, and other adjustments should give the net figure you expect. If it doesn’t, you have found the problem before it reached the accountant. Label the refund file with the same date basis as the sales file, because a mismatch there explains most refund confusion.
How to Get WooCommerce Order Exports into Google Sheets
Once you have a CSV, Google Sheets is a convenient place to check it. Google’s guide to how to import CSV files into Google Sheets covers the basics: open a spreadsheet, choose File, then Import, and select your file.
The import dialog gives you several choices. You can create a new spreadsheet, insert new sheets, replace the spreadsheet or the current sheet, append rows to the current sheet, or replace data starting at a selected cell. For plain text files, you can also choose the separator character, including automatic detection, tab, comma, or a custom character.
For a running order log, append rows works well because earlier months stay in place. The risk is overlap. If you export the same date range twice and append both, every order in that range doubles. Before appending, compare the first and last order dates in the new file against what the sheet already holds. Many people keep one tab per month and a summary tab that references them, which makes overlap easy to spot.
A spreadsheet is a copy. It will not update when WooCommerce changes an order. Treat it as a reporting view, label it with the date basis and the export time, and avoid editing order records inside it.
What Is the Easiest Way to Connect WooCommerce to Our ERP?
A CSV is a good answer to a one-time request. A connector is a better answer to a recurring one, because it removes the copy-and-check cycle. The right choice depends on your ERP. Business Central, for example, exposes sales orders through an API resource described in the Business Central salesOrder API resource. It includes the order number, external document number, order and posting dates, customer details, currency, and a status of Draft, In Review, or Open. It also has a shipAndInvoice bound action that ships and invoices the corresponding sales order.
A connector maps those records to your WooCommerce orders. Our Business Central WooCommerce integration covers two-way order sync, shipment and tracking updates back to the storefront, price and inventory alignment across connected locations, invoices sent back to WooCommerce, and multiple WooCommerce stores connected to one Business Central account. Those features replace the monthly export, because the two systems stay in step as orders change.
Pricing depends on how many stores you run, your order volume, and how much customization you need. Review Business Central WooCommerce connector pricing and compare it with the hours your team spends exporting, correcting, and reconciling each month. That comparison is usually the most useful number in the decision.
Before you choose any connector, ask five questions. How does it handle status changes after the first sync? What happens when a sync fails, and how will you find out? Does it handle refunds and partial shipments? How are tax and shipping charges mapped to ERP accounts? And who supports you after go-live? Clear answers to those five questions tell you more than any feature list.
Mistakes That Break WooCommerce Order Exports
Most export problems are not technical failures. They are small decisions made without a rule. The first mistake is mixing date bases across reports. If your storefront reports by creation date, your payment provider reports by settlement date, and your accountant reports by posting date, nothing will tie out. Choose one basis per report and write it down.
The second mistake is changing excluded statuses partway through a period. The change looks harmless, but it moves totals for reasons unrelated to sales. Log every change with a date.
The third mistake is assuming the default view covers everything. If you need full history, use the historical import option and choose the full range. An export that starts a month late looks plausible, which is exactly why it is dangerous.
The fourth mistake is treating a CSV as live data. A file from last week describes last week’s store. Stamp each export with its creation time and date basis, and refresh before you make decisions from it.
The fifth mistake is ignoring failed imports. A warning that some orders did not import is a list of sales your books do not reflect. Check the log, fix the cause, retry, and confirm the count matches before you close the period.
Key Takeaways
- Use Analytics for summary exports, the REST API or a plugin for line items, and a connector for records that must stay in sync.
- Check the Date Type and excluded statuses settings before every export, and write both choices on the file.
- Keep order-level and line-item exports in separate files, so totals never double count.
- Export refunds for the same period as sales, label the date basis, and reconcile the two files.
- Google Sheets is a good review tool, but a sheet is a copy, and overlapping appends double your totals.
- When exports become a monthly chore, a connector to your ERP removes the repetitive work.
Frequently Asked Questions
How do I export orders from WooCommerce?
Open WooCommerce, go to Analytics, and choose Orders. Set your date range and filters, then select Download at the upper right of the table. Large exports arrive by email as a link that stays valid for one week.
How do I export WooCommerce orders to CSV?
Use the Download button in WooCommerce Analytics. The file contains the summary data for the period and filters you selected. Check the Date Type and excluded statuses settings first, because they change which orders appear.
Why does my WooCommerce Analytics export have fewer orders than my store shows?
The usual causes are the excluded statuses setting, which hides pending, cancelled, and failed orders by default, and the Date Type setting, which uses the paid date by default. Confirm your date range covers the full period. If older orders are missing, run a historical import from the Analytics settings.
Can I export WooCommerce orders with line items?
Analytics does not list the products inside each order. For line items, use the WooCommerce REST API orders endpoint or a plugin that writes one row per line item. Keep the order-level and line-item files separate so totals stay accurate.
How do I export refunds from WooCommerce?
In Analytics, refunds show as negative values on the date the return occurred. Refunded shipping and tax appear in their own columns. Export refunds for the same period as your sales and reconcile the two files.
How do I get WooCommerce orders into Google Sheets?
Export the CSV from WooCommerce, open Google Sheets, and choose File, then Import. You can create a new spreadsheet, insert new sheets, or append rows to a current sheet. Check for overlapping date ranges before you append.
Can I download WooCommerce orders as an Excel file?
The built-in exports produce CSV files. Open the CSV in Excel directly, then check that dates and currency values displayed correctly, since regional settings sometimes change how they appear.
Why did my export arrive as an email link instead of downloading?
Analytics sends a link by email when the report spans more than one page of the table. WooCommerce processes it in the background. The email goes to the WordPress account that requested the export, and the link stays valid for one week.
Are the old WooCommerce Reports still safe to use?
WooCommerce deprecated the legacy Reports with version 4.0 in March 2020, and they no longer receive updates. Most reports still export CSV, but the Customer List and stock reports cannot be exported. For new work, use Analytics.
What is the easiest way to connect WooCommerce to our ERP?
For most growing businesses, a dedicated connector is easier than recurring exports. It maps orders, customers, products, and inventory between the two systems and keeps them aligned. For Business Central, the sales order API makes this practical. Compare connectors on status handling, sync failure alerts, refunds, and post-launch support.
Conclusion
Exporting orders from WooCommerce is simple once you know which method answers which question. Use Analytics for summaries, the REST API for line items, and a connector when the records must stay aligned with your ERP. Check your date basis and statuses every time, and keep refunds reconciled. If you want to see how a connector would handle your store, you can book a live Business Central WooCommerce demo and walk through your current export routine with the team.
