Shopify orders in a live spreadsheet
Add the Orders table to a sheet as a data source named orders and its 28 columns become names your formulas, pivot tables and charts use. Sheets reads it from your store each time the sheet opens or refreshes.
Formulas on this table
=data.orders.sum(items) Total items. Adds up the Items column over every row of Orders.
=data.orders.sum(items, payment_status, A2) Items per payment status. With a payment status in A2, the total for that one. Fill it down next to a list of them.
=list.orders(payment_status) Every payment status, once. Spills the distinct payment status values down the column: the row labels for the formula above.
=data.orders.count(id, payment_status, "<>") Rows with a payment status. Counts the rows whose Payment status is not empty.
=data.orders.avg(subtotal) Average subtotal. avg, min, max, count, countd (distinct) and first work the same way as sum.
Reports that use it
=data.orders.sum(net_total, channel, A2) Net sales. Order totals after refunds, for the whole store or per channel in column A.
=data.orders.sum(net_total, ship_to_country, A2) Sales by country. Net sales per shipping country.
=data.orders.avg(total) Average order value. Average order total; add a date filter to compare months.
=data.orders.sum(discounts) Discount codes used. Orders that used a discount, and what the discounts cost.
Columns
| Column | In formulas | Type |
|---|---|---|
| ID | id | Text |
| Order | order | Text |
| Created at | created_at | Date and time |
| Processed at | processed_at | Date and time |
| Payment status | payment_status | Text |
| Fulfillment status | fulfillment_status | Text |
| Items | items | Whole number |
| Subtotal | subtotal | Number |
| Discounts | discounts | Number |
| Shipping | shipping | Number |
| Tax | tax | Number |
| Total | total | Number |
| Refunded | refunded | Number |
| Net total | net_total | Number |
| Currency | currency | Text |
| Customer ID | customer_id | Text |
| Customer | customer | Text |
e_mail | Text | |
| Ship-to city | ship_to_city | Text |
| Ship-to region | ship_to_region | Text |
| Ship-to country | ship_to_country | Text |
| Discount codes | discount_codes | Text |
| Channel | channel | Text |
| Tags | tags | Text |
| Cancelled at | cancelled_at | Date and time |
| Archived | archived | Yes / no |
| Test order | test_order | Yes / no |
| Updated at | updated_at | Date and time |
Other sales tables
Your orders, live
Orders, products, customers and inventory become live tables. Sales reports, stock lists and dashboards stay current without exporting a CSV, and AI assistants such as Claude can build them for you through MCP.