WooCommerce order lines in a live spreadsheet

Add the Order lines table to a sheet as a data source named order_lines and its 22 columns become names your formulas, pivot tables and charts use. Sheets reads it from your WooCommerce store each time the sheet opens or refreshes.

Formulas on this table

=data.order_lines.sum(quantity)
Total quantity. Adds up the Quantity column over every row of Order lines.
=data.order_lines.sum(quantity, status, A2)
Quantity per status. With a status in A2, the total for that one. Fill it down next to a list of them.
=list.order_lines(status)
Every status, once. Spills the distinct status values down the column: the row labels for the formula above.
=data.order_lines.sum(quantity, date, ">=2026-01-01")
Since a date. Only rows whose Date is on or after 1 January 2026. Criteria such as ">=", "<" and "<>" work as in any spreadsheet.
=data.order_lines.count(date, status, "<>")
Rows with a status. Counts the rows whose Status is not empty.
=data.order_lines.avg(price)
Average price. avg, min, max, count, countd (distinct) and first work the same way as sum.

Reports that use it

=data.order_lines.sum(quantity, product, A2, counts_as_sale, TRUE)
Units sold per product. Quantity per product from the order lines. List the products with =list.order_lines(product).

Columns

ColumnIn formulasType
DatedateDate
MonthmonthText
Order numberorder_numberText
StatusstatusText
Counts as salecounts_as_saleYes / no
ProductproductText
VariationvariationText
SKUskuText
CategorycategoryText
QuantityquantityWhole number
PricepriceNumber
SubtotalsubtotalNumber
DiscountdiscountNumber
TotaltotalNumber
TaxtaxNumber
CurrencycurrencyText
CustomercustomerText
CountrycountryText
Product IDproduct_idText
Variation IDvariation_idText
Order IDorder_idText
IDidText

Other sales tables

Your order lines, live

Orders, refunds, products, customers and coupons become live tables inside your WordPress admin. Sales reports and dashboards stay current without exporting a CSV.