QuickBooks Online expenses in a live spreadsheet
Add the Expenses table to a sheet as a data source named expenses and its 14 columns become names your formulas, pivot tables and charts use. Sheets reads it from your QuickBooks Online company each time the sheet opens or refreshes.
Formulas on this table
=data.expenses.sum(total) Total total. Adds up the Total column over every row of Expenses.
=data.expenses.sum(total, payment_type, A2) Total per payment type. With a payment type in A2, the total for that one. Fill it down next to a list of them.
=list.expenses(payment_type) Every payment type, once. Spills the distinct payment type values down the column: the row labels for the formula above.
=data.expenses.sum(total, 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.expenses.count(id, payment_type, "<>") Rows with a payment type. Counts the rows whose Payment type is not empty.
Reports that use it
=data.expenses.sum(total, payee, A2) Spending by payee. Expenses per payee, ready for a pivot table or a bar chart.
Columns
| Column | In formulas | Type |
|---|---|---|
| ID | id | Text |
| Reference no. | reference_no | Text |
| Date | date | Date |
| Payment type | payment_type | Text |
| Payee | payee | Text |
| Payee ID | payee_id | Text |
| Payee type | payee_type | Text |
| Paid from | paid_from | Text |
| Paid from ID | paid_from_id | Text |
| Total | total | Number |
| Currency | currency | Text |
| Memo | memo | Text |
| Created at | created_at | Date and time |
| Updated at | updated_at | Date and time |
Other expenses tables
Your expenses, live
Invoices, bills, customers and the chart of accounts become tables that formulas, pivot tables and charts read directly. Your numbers stay current without exporting.