How to Provide Feedback
⚠️ Important: This is a pre-release MVP version made available to a limited number of early access testers. If you have found a new issue not listed in our Known Issues or just want to provide general feedback kindly use this link to provide feedback.
XAVI Formula Reference
This article covers every formula available in Financial Reporting. All formulas begin with the XAVI. prefix and pull live data from your connected NetSuite account.
XAVI.BALANCE
Returns the GL account balance for a specific period or date range. This is the core formula for building financial reports.
Syntax
=XAVI.BALANCE(account, fromPeriod, toPeriod, [subsidiary], [department], [location], [class], [accountingBook])
Parameters
Parameter | Required | Description | Example |
| Yes | Account number or wildcard pattern |
|
| Yes | Start period |
|
| Yes | End period |
|
| No | Subsidiary name or ID |
|
| No | Department name or ID |
|
| No | Location name or ID |
|
| No | Class name or ID |
|
| No | Accounting book ID |
|
Examples
// Single month
=XAVI.BALANCE("4010", "Jan 2025", "Jan 2025")// Full year
=XAVI.BALANCE("4010", "Jan 2025", "Dec 2025")// All revenue accounts (wildcard)
=XAVI.BALANCE("4*", "Jan 2025", "Dec 2025")// Q1 2025 for a specific subsidiary
=XAVI.BALANCE("4010", "Jan 2025", "Mar 2025", "Celigo Inc.")// Dynamic with cell references
=XAVI.BALANCE(A2, B$1, B$1, $P$3, $Q$3, $R$3, $S$3)
XAVI.BALANCECURRENCY
Returns the GL account balance with explicit currency control. Use this for multi-currency consolidation scenarios where you need to specify the target currency.
Syntax
=XAVI.BALANCECURRENCY(account, fromPeriod, toPeriod, subsidiary, currency, [department], [location], [class], [accountingBook])
Parameters
Parameter | Required | Description | Example |
| Yes | Account number or wildcard pattern |
|
| Yes | Start period |
|
| Yes | End period |
|
| No | Subsidiary name or ID |
|
| No | Currency code for consolidation |
|
| No | Department name or ID |
|
| No | Location name or ID |
|
| No | Class name or ID |
|
| No | Accounting book ID |
|
Important: Note that currency is in position 5, between subsidiary and department. This differs from XAVI.BALANCE.
Examples
// India subsidiary balance reported in USD
=XAVI.BALANCECURRENCY("60010", "Jan 2025", "Jan 2025", "Celigo India Pvt Ltd", "USD")// All subsidiaries, reported in EUR
=XAVI.BALANCECURRENCY("60010", "Jan 2025", "Mar 2025", "", "EUR")// Dynamic formula with cell references
=XAVI.BALANCECURRENCY($A5, C$4, C$4, $M$2, $O$2)
⚠️ Not all currency/subsidiary combinations are valid. The currency must be a valid consolidation root for the filtered subsidiary. Invalid combinations return INV_SUB_CUR (balance = 0).
BALANCECURRENCY applies NetSuite's consolidation logic at the presentation layer. It does not override transaction posting logic or introduce alternate FX assumptions.
XAVI.BUDGET
Returns the budget amount for an account and period. Supports wildcards and all the same dimensional filters as XAVI.BALANCE.
Syntax
=XAVI.BUDGET(account, fromPeriod, toPeriod, [subsidiary], [department], [location], [class], [accountingBook], [budgetCategory])
Examples
// Annual budget for account 5000
=XAVI.BUDGET("5000", "Jan 2025", "Dec 2025")// Sum of all expense budgets
=XAVI.BUDGET("6*", "Jan 2025", "Dec 2025")// Q1 budget for Sales department
=XAVI.BUDGET("5000", "Jan 2025", "Mar 2025", "Celigo Inc.", "Sales")// Budget vs. Actual comparison
=XAVI.BALANCE("6*", "Jan 2025", "Jan 2025") - XAVI.BUDGET("6*", "Jan 2025", "Jan 2025")
XAVI.NAME
Returns the account name for a given account number. Useful for building dynamic report labels.
Syntax
=XAVI.NAME(account)
Example
=XAVI.NAME("4010") → "Product Revenue"
XAVI.TYPE
Returns the account type (Income, Expense, Bank, etc.) for a given account number.
Syntax
=XAVI.TYPE(account)
Examples
=XAVI.TYPE("4010") → "Income"
=XAVI.TYPE("1000") → "Bank"
XAVI.PARENT
Returns the parent account number for a sub-account. Useful for navigating account hierarchies.
Syntax
=XAVI.PARENT(account)
Example
=XAVI.PARENT("4010-1") → "4010"
Special Formulas
These formulas calculate values that NetSuite computes dynamically — they are not stored as standard account balances.
Formula | Purpose | Example |
| Cumulative P&L through prior year-end |
|
| Net Income for a period range |
|
| Cumulative Translation Adjustment |
|
⚠️ Important note on XAVI.NETINCOME: This formula always computes a period range. If you supply only one period, XAVI treats it as a single-period range (from = to), returning only that month's P&L — which will typically not match Balance Sheet Net Income. To match year-to-date Net Income, always pass both periods explicitly:
=XAVI.NETINCOME("Jan 2025", "Feb 2025")
XAVI.TYPEBALANCE
Returns the total balance for all accounts of a specific account type or special account type. This formula is used by the CFO Flash Report and is ideal when you want to summarize by financial category rather than by account number.
For full documentation on XAVI.TYPEBALANCE, including account type values, special account type values, and examples, see the dedicated XAVI.TYPEBALANCE Reference article.
Error Codes
Error | Formula | Meaning |
| XAVI.BALANCE | Account is not the expected type for this formula |
| XAVI.BALANCE | Account number doesn't exist in NetSuite |
| Any | NetSuite query timed out |
| XAVI.BALANCECURRENCY | Invalid currency/subsidiary combination |
Related Articles
📖 Using Wildcards for Summary Reports
📖 Filtering by Subsidiary, Department, Class & Location
📖 Troubleshooting & FAQ
