Balance Sheet Report
Financial position showing assets, liabilities, and equity at a point in time. Supports multi-period comparison and tracking filters.
Parameters
| Parameter | Required | Description |
|---|---|---|
| As of Date | Yes | Point-in-time snapshot date |
| Show | No | Number of prior comparison periods to add (1–11). |
| Frequency | No | Grouping for the comparison periods — Monthly, Quarterly, or Yearly. |
| Tracking | No | Filter by up to 2 tracking category/option pairs |
| Cash Basis | No | Show only paid transactions (default: accrual) |
| Hide Totals | No | Remove total/subtotal rows from the output (default: OFF). Available for Balance Sheet and P&L. |
Output
Account balances grouped by section (Assets, Liabilities, Equity) using your org's custom layout from Xero.
OrgID and OrgName are auto-added. When comparison is enabled, the Balance column is replaced with Date and Amount columns, and each period becomes its own row.
Balance Sheet dates are month-end only
Xero's Balance Sheet API returns figures as at month-end only — a platform limitation that affects every Xero add-in, not just XO Report. XO Report handles this transparently: it shows the actual date Xero returned (never a date Xero didn't honor), and when you pick a mid-month date it adjusts it forward to that month's end and notes the adjustment in the table's context row.
Need an exact mid-month figure? Use the Trial Balance report or the =XO.BALANCE() function on an individual untracked account total — both honor the exact date you choose.
Tips
- Use Compare to show month-end position trends
- Use Tracking filters for business unit balance sheets
- "As of Date" reports show a snapshot - use date presets like "End of Last Month" for recurring reports
After Creation
Some settings can be changed after inserting a report; others are locked because they affect the output structure.
- Editable: Cash Basis, Tracking Filters, Hide Totals, Organizations, Date Range
- Locked: Show, Frequency — insert a new report to change these