FreshBooks expenses in a live spreadsheet

Add the Expenses table to a sheet as a data source named expenses and its 20 columns become names your formulas, pivot tables and charts use. Sheets reads it from your FreshBooks business each time the sheet opens or refreshes.

Formulas on this table

=data.expenses.sum(amount)
Total amount. Adds up the Amount column over every row of Expenses.
=data.expenses.sum(amount, vendor, A2)
Amount per vendor. With a vendor in A2, the total for that one. Fill it down next to a list of them.
=list.expenses(vendor)
Every vendor, once. Spills the distinct vendor values down the column: the row labels for the formula above.
=data.expenses.sum(amount, 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, vendor, "<>")
Rows with a vendor. Counts the rows whose Vendor is not empty.
=data.expenses.avg(tax_1_amount)
Average tax 1 amount. avg, min, max, count, countd (distinct) and first work the same way as sum.

Reports that use it

=data.expenses.sum(amount, category, A2)
Expenses by category. Spending per expense category, ready for a pivot table or a bar chart.

Columns

ColumnIn formulasType
IDidText
DatedateDate
VendorvendorText
CategorycategoryText
Category IDcategory_idText
AmountamountNumber
CurrencycurrencyText
Tax 1tax_1Text
Tax 1 amounttax_1_amountNumber
Tax 2tax_2Text
Tax 2 amounttax_2_amountNumber
NotesnotesText
ClientclientText
Client IDclient_idText
ProjectprojectText
Project IDproject_idText
StatusstatusWhole number
ReceiptreceiptYes / no
ArchivedarchivedYes / no
Updated atupdated_atDate and time

Other expenses tables

Your expenses, live

Invoices, payments, expenses and time entries become tables that formulas, pivot tables and charts read directly. Your numbers stay current without exporting.