Budget Matrix Regions
A budget region lays a G/L budget out as a matrix — accounts vertically, periods horizontally. The matrix is cached and recomputed when a setting or a referenced [Cell] changes, after any write-back, or via the refresh button on its badge. Amount cells on posting accounts are editable: what you type (or what a formula computes) is validated and written back to the G/L budget entries, inserting entries where none exist. It is the spreadsheet-native replacement for the standard Budget page.
Quick Start
On G/L Budget Names, select a budget and choose Open as Spreadsheet: a new, unsaved sheet opens, already dashboard-shaped — the budget's description as a title, a Period ?RANGE slicer wired to the region's date filter (starting on the work-date year), and one ?DIMENSION slicer per global dimension and per budget dimension of the budget name, each wired to the matching dimension filter. The matrix itself anchors at A6 with the whole chart of accounts down the side and months across; the account name column is pre-widened. One slicer pick recalculates the whole matrix. Or add a region to any sheet with Regions → New Region → Budget.
Setup
Every text setting accepts [Address] cell references, so slicer cells can drive the budget name, span, accounts and dimensions.
| Field | Meaning | |
|---|---|---|
| Range | Only the top-left cell places the region; accounts and periods determine the extent. | |
| G/L Budget Name | The budget shown and written to. A ?FIELD slicer over budget names makes it switchable. Editing needs a single, existing budget name — with a blank or filter-style name the matrix shows combined amounts and refuses edits. |
|
| Company | The company whose budget the matrix shows. Blank reads the company you are working in; accepts [Address]. The matrix of another company is read-only — budget entries can only be edited in the company you work in. See Reading Another Company. |
|
| Frequency | The width of one column: Day, Week, Month (default), Quarter or Year. | |
| Date Filter | The span the columns cover, for example 2026-01-01..2026-12-31. Blank uses the work-date calendar year. The first and last period are clipped to the span. |
|
| Account Filter | Which G/L accounts make the rows, for example 40000..49999. Use the lookup to pick accounts from the chart of accounts, or type a filter. Blank shows the entire chart of accounts. |
|
| Select Dimension to Add as Detailed Budget Lines | Rolls one dimension out under every posting account — see below. | |
| Max Rows | The maximum number of rows rendered (default 1000). | |
| Allow Editing | Whether posting-account amount cells are editable (on by default for budget regions). | |
| Reverse Signs | Shows every amount in the matrix with its sign turned around — income positive, cost negative. Display only: what is written back keeps the entries' true sign. | |
| Compare with G/L Actuals | Renders two cells per period: read-only G/L actuals for the comparable period first, then the editable budget cell. | |
| Comparison Date Formula | How far the compared period is shifted, as a date formula like -1Y (the default). Must be a rigid offset that keeps the compared periods in order and non-overlapping — a formula that maps several periods onto the same dates (like -CY) is refused. |
|
| Comparison Color | A light background tint on the actuals cells so the read-only comparison columns stand apart. | |
| Dimension filters | Global Dimension 1/2 and Budget Dimension 1–4 filters on the entries. A filter that is one plain value is stamped onto entries the matrix inserts, so new amounts stay inside the filtered view. Writing an amount into a cell whose dimension filter is a multi-value filter (`SALES | ADM, 1000..1999) is refused — "The cell's dimension filter … is not a single value, so no budget entry can be created for it" — use detailed budget lines or a single-value filter instead. Dimension values with special characters (R&D, SALES (EU)`) drill and write correctly. |
Worked Example: The 2027 Sales Budget
| Setting | Value |
|---|---|
| G/L Budget Name | 2027 |
| Frequency | Month |
| Date Filter | 2027-01-01..2027-12-31 |
| Account Filter | 40000..49999 |
| Compare with G/L Actuals | On, formula -1Y, comparison colour a light grey |
| Select Dimension to Add as Detailed Budget Lines | Global Dimension 1 (departments) |
The result: revenue accounts down the side, each unfolded into one editable line per department; for every month, 2026's actuals in a tinted read-only cell next to the editable 2027 budget cell. A department manager types 25000 into their March cell — a budget entry appears, stamped with their department. The account row shows the departments' total, read-only. Ctrl+click the actuals to see the ledger entries that made last year's number; Ctrl+click a budget amount to see the entries behind it.
Want it switchable instead of fixed? Put ?FIELD(G/L Budget Name, Name)->2027 in a cell and set G/L Budget Name to [that cell] — one sheet serves every budget version.
How Rows Render
- Posting accounts render editable amount cells (account number, indented name, then one amount per period).
- Totaling accounts render their range's sums, bold and read-only — like the chart of accounts.
- Heading accounts without totaling render name-only.
- Zero amounts display blank, so a whole chart of accounts of zeros doesn't drown the numbers that matter.
How Write-Back Works
When you commit an amount into an editable cell (or a formula in one computes a new result):
- If the cell's scope contains exactly one budget entry, that entry's Amount is validated to the new value.
- If it contains zero or several entries, a delta entry is inserted at the period start so the cell's total matches — the same policy as the standard Budget page. Single-value dimension filters are stamped onto the inserted entry.
- A write that changes nothing is skipped, so a formula cell doesn't re-insert entries on every recalculation.
- Writes are refused on a blocked budget, and require the region's budget name to be a single existing budget.
Formulas typed into budget cells stay live: =B5*1.1 keeps writing its result back on every recalculation. The formula is bound to the exact scope (account, period, budget, dimensions) it was typed against.
Spread Total (Sheet menu) works beautifully here: select a row of periods and distribute an annual amount evenly or proportionally to last year's actuals.
Reverse Signs
In the general ledger, income is negative and cost is positive. That is second nature in finance and baffling everywhere else — hand a department head a budget sheet where their revenue target reads -250,000 and the conversation stops there.
Switch Reverse Signs on and the whole matrix renders negated: every budget column, every actuals comparison column, the totaling-account sums and the (unassigned) residue row. Sales targets read positive, costs read negative — the way a budget owner outside finance expects a budget to look.
It changes nothing in the database. A budget owner types 25000 into a reversed revenue cell and the entry that lands is -25,000 — the sign the ledger keeps. Formulas typed into reversed cells work the same way: they compute against what the sheet shows, and the result is turned back around on the way into the entries. Drill-down is unaffected; the G/L budget entries behind a cell always show their own signs.
Because the setting is part of the matrix's identity, toggling it recomputes the region — no refresh needed.
The Actuals Comparison
With Compare with G/L Actuals on, each period gets a read-only actuals cell to the left of the budget cell, showing G/L entry amounts for the compared period (the date formula, typically -1Y, applied to the period's bounds). Only the global dimension filters apply to actuals — budget dimensions don't exist on ledger entries. Ctrl+click an actuals cell to open the general ledger entries behind it.
Detailed Budget Lines (Dimension Roll-Out)
Choosing a dimension in Select Dimension to Add as Detailed Budget Lines (Global Dimension 1/2 or Budget Dimension 1–4) rolls that dimension out under every posting account:
- One editable line per dimension value — edits stamp the value onto inserted entries, so budgeting per department or project works naturally.
- A read-only (unassigned) line for amounts sitting on blank or unlisted values (only shown when there are any).
- A blank separator line, and the account row itself becomes the read-only total of its lines.
- The region's filter for that dimension narrows which values are listed. Budget dimensions require a single existing budget name (the dimension codes come from the budget's setup); per-value actuals in the comparison exist for global dimensions only.
Drill-Down and Sharing
- Ctrl+click any budget amount to open the G/L budget entries in the cell's exact scope — account (or totaling range), period, budget and dimensions.
- Share the sheet at the Edit Budget Entries access level to let users change budget amounts and slicers — and nothing else. See Documents & Sharing.
Limits
The matrix caps its columns at 500 periods (250 with the comparison on) and reports an error asking for a narrower date filter or coarser frequency instead of rendering a broken grid.