Scheduled Shopify Order Exports: What Shopify Does and Doesn't Do
How to automate a daily or weekly Shopify order export to email, Google Drive, SFTP or accounting: what Shopify, Flow and reports cover, and what needs an app.
In this guide
Every Monday someone opens the Shopify admin, filters last week’s orders, exports a CSV and sends it to the warehouse, the accountant or a spreadsheet. After a few months the obvious question comes up: can this run on its own?
Partly. Shopify can run a workflow on a schedule and can email you order data, but its built-in exports are manual. Getting a proper file into Google Drive, an SFTP server or an accounting system on a schedule needs an app or an integration. This guide explains where each tool stops, so you can pick the right one before you build anything.
What you probably want
Most recurring export requests look like this:
| Part | Typical choice |
|---|---|
| Frequency | Daily, weekly or monthly |
| Window | Orders created (or paid) in the previous day, week or month |
| Format | CSV or Excel with fixed columns |
| Destination | An email inbox, a Google Drive folder, an SFTP server, or an accounting or ERP system |
| Owner | Someone who notices when a run fails |
Keep that table in mind. Each Shopify tool covers some rows and not others.
Option 1: Shopify’s manual order export
The order export in the Orders page is the starting point:
- Sort and filter your orders.
- Click Export.
- Choose which orders: up to 50 orders or the current page, or orders by date.
- Choose Export orders for order details, or Export transaction histories for transactions only.
Exports of up to 50 orders, or the current page, download to your device. Exports of more orders, or by date, are emailed as a CSV to you and the store owner.
Shopify’s help page describes no way to schedule this. It is a manual export each time. If you want to make the manual run easier, our guides to exporting Shopify orders to Excel and one row per line item cover the details.
Option 2: Exporting a report
In Analytics > Reports, you can export a report from its menu. Shopify lists CSV, XML, JSON Lines and Apache Parquet as formats that most reports support, and the file is saved to your downloads folder.
Reports are the better source when you need totals rather than order rows, for example sales by day for your accountant. Shopify order export for accounting explains when to use reports instead of the order export.
Shopify’s page on exporting reports describes only manual exports. It says nothing about scheduling or emailing a report automatically.
Option 3: Shopify Flow on a schedule
Shopify Flow is a free Shopify app on the Basic, Grow, Advanced and Plus plans. It is the only built-in tool here that runs on a schedule.
The pieces
- Scheduled time trigger: starts a workflow at a set time and can repeat every given number of days, weeks or months. You choose the weekday for weekly runs and the day of the month for monthly runs. It runs at most once every 10 minutes.
- Get order data: fetches orders matching a query, for example on
updated_at. It returns up to 100 orders per run. - Send internal email: sends an email from your store’s sender address to one or more addresses. Shopify’s example loops over the orders with Liquid to list each order’s name in the message.
- Send HTTP request: sends a request to a web server. Shopify says it is only available on the Grow, Advanced and Plus plans. It waits up to 30 seconds for a response and retries for up to 24 hours on error codes.
What it can do
A weekly workflow can wake up on Monday morning, get last week’s orders and email a list to your team, or post them to an endpoint you control. For a short daily digest of unfulfilled or flagged orders, that is often enough. Our order alerts guide shows a similar pattern for chat.
Where it stops
- 100 orders per Get order data action. A busy store’s weekly export will not fit.
- No file. Shopify’s pages on Get order data and Send internal email do not mention CSV files or attachments. You get the data in the body of an email or request, not a spreadsheet.
- No Google Drive or SFTP step. Flow can call a URL, but something on the other end has to receive the data and write the file.
- No HTTP request on Basic.
For the full comparison, see Shopify Flow vs a custom app.
Option 4: An app or an integration
To get a real file to a real destination on a schedule, you need code that runs outside your browser. That can be a third-party app that supports scheduled exports, a connector platform, or a small integration of your own. All of them do the same work underneath.
How it works
- A timer starts the job, for example every day at 06:00 in the store’s time zone.
- The job reads orders through the Admin GraphQL API. For large exports, Shopify’s bulk operations run the query on Shopify’s side and return a JSONL file. The download URL expires after one week, and completion is signalled by the
bulk_operations/finishwebhook or by polling. - The job builds the file: picks the columns, formats dates and money, and writes CSV or XLSX.
- The job delivers the file to email, a Drive folder, an SFTP server or an accounting system’s API.
- The job records the run: which window it covered, how many orders, and whether delivery succeeded.
Access to older orders
By default an app can read only the last 60 days of orders. Shopify’s access scopes reference says the read_all_orders scope, which requires Shopify’s approval, gives access to all relevant orders. A daily export does not need it. A rerun of last year’s exports does.
Designing the schedule so it doesn’t drift
Most problems with recurring exports are not technical. They come from vague definitions.
Pick one date field
“Last week’s orders” can mean created, paid, fulfilled or updated. Pick one and write it down. Created date is the usual choice for operations. For accounting, read three views of the same money before you decide.
Use closed windows
Export whole days or weeks that have already ended, such as Monday 00:00 to Sunday 23:59 in the store’s time zone. Do not export “the last 24 hours” from whatever time the job happens to run. Closed windows let you rerun a period and get the same answer.
Decide what happens to late changes
Orders change after export: refunds, edits, cancellations. Decide whether the recipient gets a correction file, or whether a later report picks up refunds in the month they happen.
Name files by period
orders-2026-10-05_2026-10-11.csv tells the reader what is inside. export (7).csv does not.
Make failure visible
A schedule that fails silently is worse than a manual export, because nobody notices the gap. Send an alert when a run fails, and an alert when a run returns zero orders on a day you would expect some. Our integrations checklist covers retries, duplicates and monitoring.
Treat the file as personal data
Order exports usually contain names, emails, phone numbers and addresses. Send only the columns the recipient needs, prefer a shared folder with access control over email attachments, and decide how long files are kept.
Which option fits
| Need | Fits |
|---|---|
| A one-off or monthly file you check by eye | Manual order export or report export |
| A short daily email listing a few orders | Flow: Scheduled time, Get order data, Send internal email |
| Order data posted to your own endpoint | Flow with Send HTTP request (Grow, Advanced or Plus) |
| A CSV or XLSX file delivered on a schedule | An app with scheduled exports, or an integration |
| Data written to an accounting or ERP system | An integration; see ERP and 3PL integration |
Checklist
- Write down the frequency, window, date field and time zone.
- List the exact columns the recipient uses.
- Choose the destination and who can access it.
- Check whether Flow’s 100-order limit and lack of files rule it out.
- If you need files, choose an app with scheduled exports or plan an integration.
- Set up failure and zero-order alerts.
- Run the first few periods in parallel with your manual export and compare totals.
FAQ
Can Shopify export orders automatically every day?
Not as a file. Shopify’s order export and report exports are manual. Shopify Flow can run on a schedule and email or post up to 100 orders per Get order data action, but it does not produce a CSV.
Can Shopify Flow attach a CSV to an email?
Shopify’s pages for the Get order data and Send internal email actions do not mention CSV files or attachments. You can list orders in the email body with Liquid.
Can I send orders to an SFTP server or Google Drive without an app?
Not with Shopify’s built-in tools. Flow’s Send HTTP request can call a URL on the Grow, Advanced and Plus plans, but something on the other end must receive the data and write the file. That is an app or a small integration.
Why does my integration only see two months of orders?
By default apps can read the last 60 days of orders. Access to older orders needs the read_all_orders scope, which requires Shopify’s approval.
Where StoreFleet: Order Export fits
StoreFleet: Order Export, currently in review for the Shopify App Store, does not schedule exports. You run each export yourself in the app: it builds the CSV or XLSX file in your browser from a saved column template and saves it to your device, and it does not send files to email, Google Drive, SFTP or accounting systems. If a manual weekly or monthly export with the same columns every time is enough, saved templates take most of the work out of it. If you need true automation, use Flow for short digests, or an app or integration for files.