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

ColumnIn formulasType
IDidText
OrderorderText
Created atcreated_atDate and time
Processed atprocessed_atDate and time
Payment statuspayment_statusText
Fulfillment statusfulfillment_statusText
ItemsitemsWhole number
SubtotalsubtotalNumber
DiscountsdiscountsNumber
ShippingshippingNumber
TaxtaxNumber
TotaltotalNumber
RefundedrefundedNumber
Net totalnet_totalNumber
CurrencycurrencyText
Customer IDcustomer_idText
CustomercustomerText
E-maile_mailText
Ship-to cityship_to_cityText
Ship-to regionship_to_regionText
Ship-to countryship_to_countryText
Discount codesdiscount_codesText
ChannelchannelText
TagstagsText
Cancelled atcancelled_atDate and time
ArchivedarchivedYes / no
Test ordertest_orderYes / no
Updated atupdated_atDate 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.