FreshBooks invoice lines in a live spreadsheet
Add the Invoice lines table to a sheet as a data source named invoice_lines and its 19 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.invoice_lines.sum(quantity) Total quantity. Adds up the Quantity column over every row of Invoice lines.
=data.invoice_lines.sum(quantity, payment_status, A2) Quantity per payment status. With a payment status in A2, the total for that one. Fill it down next to a list of them.
=list.invoice_lines(payment_status) Every payment status, once. Spills the distinct payment status values down the column: the row labels for the formula above.
=data.invoice_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.invoice_lines.count(document_id, payment_status, "<>") Rows with a payment status. Counts the rows whose Payment status is not empty.
=data.invoice_lines.avg(unit_price) Average unit price. avg, min, max, count, countd (distinct) and first work the same way as sum.
Columns
| Column | In formulas | Type |
|---|---|---|
| Document ID | document_id | Text |
| Invoice no. | invoice_no | Text |
| Date | date | Date |
| Client | client | Text |
| Client ID | client_id | Text |
| Payment status | payment_status | Text |
| Status | status | Text |
| Item | item | Text |
| Description | description | Text |
| Quantity | quantity | Number |
| Unit price | unit_price | Number |
| Line amount | line_amount | Number |
| Tax 1 | tax_1 | Text |
| Tax 1 rate | tax_1_rate | Number |
| Tax 2 | tax_2 | Text |
| Tax 2 rate | tax_2_rate | Number |
| Currency | currency | Text |
| Line ID | line_id | Text |
| Updated at | updated_at | Date and time |
Other sales tables
Your invoice lines, live
Invoices, payments, expenses and time entries become tables that formulas, pivot tables and charts read directly. Your numbers stay current without exporting.