Back to Functions
XO.BALANCE
Get the balance for a single GL account. For P&L accounts, returns activity between dates. For Balance Sheet accounts, returns balance as of end date.
Syntax
=XO.BALANCE(org_id, account, start_date, end_date, [category1], [option1], [category2], [option2])
Parameters
| Parameter | Required | Description |
|---|---|---|
| org_id | Yes | Organization ID from XO.ORG() |
| account | Yes | GL account code (e.g., "4000") |
| start_date | Yes | Period start date (cell reference) |
| end_date | Yes | Period end date (cell reference) |
| category1 | No | First tracking category name (e.g., "Region") |
| option1 | No | First tracking option (e.g., "North") |
| category2 | No | Second tracking category name |
| option2 | No | Second tracking option |
P&L vs Balance Sheet Accounts
- P&L accounts (Revenue, Expense): Returns activity between start_date and end_date
- Balance Sheet accounts (Asset, Liability, Equity): Returns balance AS OF end_date - the start_date is ignored
Examples
Basic usage:
=XO.BALANCE(A2, "4000", C1, D1)Gets revenue for account 4000 for the date range in C1 to D1.
With tracking filter:
=XO.BALANCE($A$2, "6200", C1, D1, "Region", "North")Gets expenses for account 6200, filtered by Region = North.
Two tracking categories:
=XO.BALANCE(A2, "6200", C1, D1, "Region", "North", "Project", "Alpha")Filter by both Region and Project tracking categories.
Sign Convention
XO.BALANCE automatically returns amounts with intuitive signs - you don't need to think about debits and credits:
| Account Type | Result |
|---|---|
| Revenue | Positive when you earn money |
| Expense | Positive when you spend money |
| Assets | Positive when normal debit balance |
| Liabilities | Positive when normal credit balance |
| Equity | Positive when normal credit balance |