Xero balance sheet (by month end) in a live spreadsheet

Add the Balance sheet (by month end) table to a sheet as a data source named balance_sheet_by_month_end and its 7 columns become names your formulas, pivot tables and charts use. Sheets reads it from your Xero organisation each time the sheet opens or refreshes.

Formulas on this table

=data.balance_sheet_by_month_end.sum(months_ago)
Total months ago. Adds up the Months ago column over every row of Balance sheet (by month end).
=data.balance_sheet_by_month_end.sum(months_ago, group, A2)
Months ago per group. With a group in A2, the total for that one. Fill it down next to a list of them.
=list.balance_sheet_by_month_end(group)
Every group, once. Spills the distinct group values down the column: the row labels for the formula above.
=data.balance_sheet_by_month_end.sum(months_ago, 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.balance_sheet_by_month_end.count(group, group, "<>")
Rows with a group. Counts the rows whose Group is not empty.
=data.balance_sheet_by_month_end.avg(balance)
Average balance. avg, min, max, count, countd (distinct) and first work the same way as sum.

Reports that use it

=data.balance_sheet_by_month_end.sum(balance, section, "Bank", months_ago, 0)
Cash at bank at month end. Bank balances from the balance sheet by month end.

Columns

ColumnIn formulasType
GroupgroupText
SectionsectionText
AccountaccountText
Account IDaccount_idText
DatedateDate
Months agomonths_agoWhole number
BalancebalanceNumber

Other reports tables

Your balance sheet (by month end), live

Invoices, bills, bank transactions and your monthly profit and loss become tables that formulas, pivots and charts read directly, in your base currency.