Xero payments in a live spreadsheet

Add the Payments table to a sheet as a data source named payments and its 14 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.payments.sum(amount)
Total amount. Adds up the Amount column over every row of Payments.
=data.payments.sum(amount, type, A2)
Amount per type. With a type in A2, the total for that one. Fill it down next to a list of them.
=list.payments(type)
Every type, once. Spills the distinct type values down the column: the row labels for the formula above.
=data.payments.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.payments.count(id, type, "<>")
Rows with a type. Counts the rows whose Type is not empty.
=data.payments.avg(currency_rate)
Average currency rate. avg, min, max, count, countd (distinct) and first work the same way as sum.

Columns

ColumnIn formulasType
IDidText
DatedateDate
AmountamountNumber
TypetypeText
StatusstatusText
ReferencereferenceText
Invoice no.invoice_noText
Invoice typeinvoice_typeText
ContactcontactText
Invoice IDinvoice_idText
Account codeaccount_codeText
ReconciledreconciledYes / no
Currency ratecurrency_rateNumber
Updated atupdated_atDate and time

Other bank tables

Your payments, live

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