On this page
← Back to Blog
  • shopify
  • google-sheets
  • orders

How to Export Shopify Orders to Google Sheets

How to Export Shopify Orders to Google Sheets

Quick answer

For a one-off report, use Orders → Export in Shopify, then File → Import in Google Sheets. For a sheet that stays current, install a sync app such as ShopSheets: new orders appear in your sheet within a minute or two over webhooks, with no manual export.

If you run reports, reconcile payouts, or share numbers with an accountant, you eventually need your Shopify orders in a spreadsheet. Shopify's admin is great for fulfilling orders but awkward for slicing data. Google Sheets is the opposite. Here are three ways to bridge them, from quickest to most durable.

1. Manual CSV export

Shopify's admin includes a built-in export:

  1. Go to Orders in your Shopify admin.
  2. Click Export, choose a date range, and select Plain CSV file.
  3. In Google Sheets, open File → Import and upload the CSV.

This works for a one-off report. The downside is that it's a snapshot: the moment a new order comes in, your sheet is stale, and you repeat the whole dance. Exports also split a single order across multiple rows (one per line item), which trips up totals if you're not careful.

2. Google Apps Script and the Shopify API

Sheets' IMPORTDATA function needs a public CSV URL, and Shopify doesn't publish one for orders. The scripted route is a Google Apps Script that calls the Shopify Admin API with an access token from a custom app you create in your store. It can run on a timer, but you own the code: pagination, API rate limits, token storage, and fixes when Shopify changes its API versions.

3. Automatic sync with the ShopSheets app

The durable option is a sync that pushes orders into your sheet as they happen. ShopSheets is a Shopify app that does this:

  1. Install ShopSheets from the Shopify App Store.
  2. Connect your Google account. ShopSheets creates a spreadsheet for your store, with a tab for orders.
  3. Set the date range, status, and sort order in the filter row at the top of the sheet, then click Refresh in the app.

From then on, new orders appear within a minute or two over webhooks, and updates to existing orders flow through automatically. ShopSheets caches what it has already fetched, so widening your date range only pulls the missing orders. You don't re-export anything or maintain formulas.

How the sheet is laid out

Orders, products, and fulfillments each get their own tab. The top two rows of each tab hold the filters: filter names in row 1 and a drop-down under each in row 2. Column headers sit in row 5, and data starts in row 6. The ShopSheets docs explain how sync and filters work.

The Orders tab has one row per order, with columns for Order ID, Order Number, Date, Fulfillment Status, Financial Status, Total Price, Currency, Subtotal, Tax, Shipping, Discount, Line Items Count, and Tags. Because each order is a single row, =SUM(Orders!F6:F) totals the Total Price column for the selected date range without the double counting a line-item export causes. If you sell in more than one currency, filter on the Currency column before summing.

The Fulfillments tab lists each fulfillment with its order name, status, tracking company, tracking number, tracking URL, and total quantity, so you can look up shipments without opening each order.

Which should you pick?

  • One report, one time: manual CSV export.
  • Scheduled updates, and you're comfortable maintaining code: a Google Apps Script.
  • Ongoing reporting, reconciliation, or sharing with a bookkeeper: automatic sync with ShopSheets.

If you just need to clean up an export you already have, such as collapsing line items back into one row per order for accounting, the Orders to Accounting Converter does that in your browser. Other free tools help with the same export:

FAQ

How much does ShopSheets cost?

$9.99 a month, flat, with a 7-day free trial. You don't need a credit card to start.

Can I sync my full order history?

Yes. Set the date range to All time to load orders back to your first sale. Older installs may need to reconnect using the in-app banner first. If your store has more than 1,000 orders, Past 90 days loads faster.

Can I add my own formulas and charts?

Yes. ShopSheets overwrites the synced data columns from row 6 down on every sync, so put formulas, charts, and pivot tables in columns to the right of the data.

Can my bookkeeper see the sheet?

Share it like any Google Sheet. Viewers don't need a ShopSheets account.

Does ShopSheets change anything in my store?

No. The sync runs one way, from Shopify to Google Sheets.

What happens to the sheet if I uninstall?

It stays in your Google Drive and stops updating.

Ready to stop re-exporting? Try ShopSheets free and keep Shopify and Google Sheets in step automatically.

Ready to try it?

Automatic Shopify → Sheets sync.

Orders and fulfillments — always up to date in your spreadsheet.

Try ShopSheets free