A budget is your plan for one company's fiscal year, written as an amount per GL account, and the Budget vs Actual screen compares it with what has actually been posted to the ledger. You build the budget once the fiscal year and chart of accounts exist. During the year you read the variance, and you adjust the plan by unlocking it, editing it and locking it again.
Overview
A budget has two parts:
- The budget (header) names the plan and its scope: the Fiscal Year, the company (Partner Account) and, optionally, a Business Unit. It also carries the Status that locks the plan, and a Planned Amount that totals the lines.
- Budget lines hold the money. Each line is one GL Account with a Budget Amount, either for the whole year or for one Fiscal Period.
A budget is a comparison baseline only. Nothing about it posts to the ledger, and it does not stop anyone from raising an order, a bill or an expense claim.
When to use it
- Annual operating plan. Budget each income and expense account for the year and watch the variance month by month.
- A plan per division. Give each business unit its own budget, so each one is compared with that unit's own postings.
- Monthly phasing. Put the budget into specific periods (for example, a heavier marketing spend in the festive quarter) and read the monthly Budget vs Actual layout.
How xMatix handles it
- One active budget per scope. Only one active budget can exist for the same company, business unit and fiscal year. A budget with no business unit is a separate scope from one with a business unit.
- Status locks the plan. While a budget is Draft you can change anything. When it is Confirmed, the header and its lines are frozen. Only Status can still change, and lines can't be added or edited.
- Planned Amount is calculated. The budget's Planned Amount is recalculated as the sum of its lines' Budget Amount whenever the budget or one of its lines is saved.
- Budget vs Actual reads profit and loss accounts only. The screen builds an income statement from the company's chart of accounts. Lines on balance sheet accounts (assets, liabilities, equity) are stored but never shown.
- Actuals come from posted journals. The Actual column is the posted movement on each account for the budget's whole fiscal year. A draft document has no effect until it posts.
- No spending control. No order, bill, expense or journal checks the budget before it is saved or posted. An overrun shows up on Budget vs Actual after the spending has posted.
Prerequisites
- The company's fiscal year and its periods exist (see Fiscal years).
- The GL accounts you want to budget exist, are active, and have the right statement classification (see Chart of accounts).
- If you budget by division, the business units exist (see Business units).
- You can open the Finance Setup app to maintain budgets, and the Financials app to read Budget vs Actual (see Permissions).
Procedure
Step 1 — Create the budget
- Open the Finance Setup app and, under Planning, open Budgets. The All Budget view lists Name, Partner Account, Business Unit, Status and Is Active.
- Select New.
- Fill in the form:
- Name (required), for example "FY 2026-27 Operating Plan". Budgets have no automatic numbering, and the name must be unique across all budgets.
- Label, an optional display name. Where it is filled in, the Budget vs Actual screen shows it in place of the Name.
- Fiscal Year. The form doesn't require it, but a budget without a fiscal year never appears on Budget vs Actual.
- Partner Account, the company the plan belongs to. If your organisation runs a single company, this field is hidden and the fiscal year's company is used.
- Business Unit, only if this plan is for one division.
- Status: choose Draft.
- Is Active: leave it on.
- Save. The budget opens on its record page, with the Related tab showing its lines (empty for now) and the Details tab showing Business Unit, Fiscal Year, Label, Planned Amount, Status and Is Active.
If another active budget already covers the same company, business unit and fiscal year, the save is refused with An active budget already exists for this scope and fiscal year.
Step 2 — Add the budget lines
- On the budget's record page, open the Related tab.
- In the lines list, select Quick Add. A line form opens inside the list.
- Fill in:
- Name (required), a label for the line. Line names must be unique across all budgets, not only this one, so include something that identifies the budget, such as "FY27-OPS Travel" or "FY27-OPS Travel Q3". In some organisations this field is labelled GL Account Name. It is still a free-text label, not the account itself.
- GL Account, the account being budgeted. Only active accounts are offered.
- Fiscal Period. Leave it empty for an annual amount, or choose a period to place the amount in that month.
- Branch and Business Unit, if you want to record them on the line (see Business rules for what they affect).
- Budget Amount, entered as a positive figure for both income and expense accounts.
- Save the line. Repeat for each account and period.
The budget's Planned Amount updates to the new total as each line is saved.
You can budget the same GL account once per period, plus once more as an annual line with no period. A second line for the same account and period is refused with A budget line for this GL account and period already exists in this budget.
Only Name is mandatory on the line form. Always fill in GL Account and Budget Amount as well. A line saved without a GL account is kept but never appears in Budget vs Actual, and a line saved without an amount counts as zero.
To change a line later, use the row's Edit action in the lines list, or open the line to see its record page. The header shows the line's Name, Budget and Budget Amount. The Line Information section holds Budget, GL Account and Fiscal Period. The Allocation & Amount section holds Business Unit, Branch and Budget Amount. A Budget Insights card beside them repeats the amount and the period, and System Information shows who created and last changed the line, and when.
Step 3 — Confirm the budget
When the plan is agreed:
- Open the budget and select Edit (or change the field in place on the Details tab).
- Set Status to Confirmed and save. Change nothing else in the same save.
From now on the budget and its lines are frozen. An attempt to change a header field is refused with This budget is Confirmed and cannot be edited directly. Revert it to Draft (or create a revision) before changing its details. An attempt to add or edit a line is refused with The parent budget is Confirmed and cannot be edited; its lines are frozen.
Step 4 — Read Budget vs Actual
- Open the Financials app and, under Analysis & Planning, open Budget vs Actual.
- In the header, choose the Company (if you have more than one) and the Fiscal year. The Budget picker lists every budget for that fiscal year and selects the first one. Choose the one you want.
- Choose the Layout:
- Budget vs Actual: four columns, Budget, Actual, Variance (Actual − Budget) and Variance %.
- Budget only: the budget as a projected income statement.
- Monthly Budget only: one column per fiscal period.
- Monthly (Budget vs Actual): Budget, Actual and Var for each period.
- Read the result. Accounts are grouped into the income statement's sections, with your account hierarchy underneath, and the last line is the net profit (or the projected net income on the budget-only layouts). The variance figures are coloured: green is Favourable (income above budget, expense below it) and red is Unfavourable.
If nothing at all has posted to the budget's accounts, the screen warns No actuals match this budget. and every line reads 100% under budget. Check that you picked the right fiscal year and budget.
The Branch picker in the header narrows only the Actual column. It defaults to your own branch when you have one, so clear it to compare the whole budget with the whole company. Rows on this screen don't drill into the ledger. To trace an actual, open the same account on the Profit and Loss statement.
Step 5 — Revise a confirmed budget
- Open the budget, set Status back to Draft, and save. Change nothing else in the same save.
- Change the header or the lines as needed.
- Set Status to Confirmed again and save.
To keep the old plan for reference and start a new one, see Common questions.
Step 6 — Retire or delete a budget
- Retire: while the budget is in Draft or Cancelled, turn Is Active off and save. An inactive budget no longer reserves its scope, so a new budget can be created for the same company, business unit and fiscal year. A confirmed budget must first be moved to Draft or Cancelled, because Is Active can't change while it is locked.
- Cancel: set Status to Cancelled. Cancelled is a label only. The budget still appears in the Budget vs Actual picker and still reserves its scope while it is active.
- Delete: select Delete on the record page. Deleting a single line is not blocked by the Confirmed lock, so restrict delete access if confirmed plans must not change (see Permissions).
Fields
Budget
| Field | What it means | Notes |
|---|---|---|
| Business Unit | The division this plan is for | Optional. Part of the one-active-budget scope. When set, Budget vs Actual counts only postings carrying this unit |
| Label | Display name | Optional. Shown in the Budget vs Actual picker in place of the Name |
| Name | The budget's name | Required, typed by you, unique across all budgets |
| Is Active | Whether the budget counts | On for new budgets. Only active budgets block a second budget for the same scope |
| Fiscal Year | The year the plan covers | Needed in practice: Budget vs Actual lists budgets by fiscal year, and the scope check only runs once it is set |
| Status | Where the plan is in its life | Draft, Cancelled, Confirmed. Confirmed locks the budget and its lines |
| Partner Account | The company whose plan this is | Hidden for organisations with one company. Part of the one-active-budget scope |
| Planned Amount | Total of the lines' Budget Amount | Read-only. Recalculated whenever the budget or a line is saved |
Budget line
| Field | What it means | Notes |
|---|---|---|
| Name | A label for the line | Required, and unique across all budget lines in all budgets. Labelled GL Account Name in some organisations, but it is free text and nothing in the comparison reads it |
| GL Account | The account being budgeted | Not mandatory on the form, but a line without one is ignored by Budget vs Actual. Active accounts only. Budget vs Actual shows profit and loss accounts of the budget's company only |
| Fiscal Period | The month the amount belongs to | Empty means an annual amount, which the monthly layouts spread evenly across the year's periods |
| Branch | Branch recorded on the line | For reference. Budget vs Actual does not split the budget by branch. Hidden for organisations with one location |
| Business Unit | Business unit recorded on the line | For reference. Budget vs Actual uses the budget's business unit, not the line's |
| Budget Amount | The planned figure | When entered, must be greater than zero. Left empty, it counts as zero. Enter income and expense budgets as positive amounts |
The line's record page also shows the Budget it belongs to, and the All Budget Line view adds Partner Account. The standard line form does not fill in Partner Account.
Business rules
- One active budget per scope. When a budget is created, or when its Fiscal Year, Partner Account or Business Unit changes, it is refused if another active budget already has the same three values. An empty value only matches an empty value. Turning Is Active back on is not checked, so check for an overlapping active budget yourself before reactivating an old one.
- The lock. A budget whose Status is Confirmed accepts a save only if Status is the only field that changed. Its lines can't be added or edited, though they can be deleted.
- Line checks. A line's Budget Amount, when entered, must be greater than zero. There can be only one line per budget, GL account and fiscal period, and an annual line (no period) counts as its own period. The duplicate check runs only when the line has a GL account. Lines without one are not checked and are left out of Budget vs Actual.
- Planned Amount is recalculated from the lines whenever the budget or a line is saved. It is the plain sum of all lines, income and expense together, so it is a size check, not a profit figure.
- How Budget vs Actual is built:
- The budget's lines are summed per GL account. Only profit and loss accounts that belong to the budget's company are shown, and rows that are zero in every column are hidden.
- Actual is the posted movement for the budget's fiscal year, shown so that both income and expense read as positive figures. It is limited to the budget's business unit (if any) and to the Branch chosen in the header (if any).
- Variance = Actual − Budget. Variance % = Variance ÷ Budget × 100, and is 0 where there is no budget.
- In the monthly layouts a line with a period lands in that period's column. A line with no period, or with a period from a different fiscal year, is spread evenly across the year's periods.
- What the budget does not do: it creates no journal, reserves no money when a purchase order is approved, and blocks no transaction.
Example
A distribution company plans its fiscal year 2026-27 for its Western division.
- The finance controller opens Finance Setup → Planning → Budgets and creates "FY27 West Operating Plan" with Label "West FY27", Fiscal Year 2026-27, Business Unit "West" and Status Draft.
- On the Related tab they Quick Add four lines:
- "FY27-W Sales", Sales Revenue, no period, 1,20,00,000
- "FY27-W Freight", Freight Outward, no period, 6,00,000
- "FY27-W Travel H1", Travel Expenses, no period, 3,00,000
- "FY27-W Promo Oct", Advertising, period October 2026, 2,50,000
Planned Amount now reads 1,31,50,000. That figure is simply the sum of the lines, income and expense together.
- After the plan review they set Status to Confirmed.
- In November they open Financials → Analysis & Planning → Budget vs Actual, choose fiscal year 2026-27, budget "West FY27" and layout Budget vs Actual. They clear the Branch picker so the whole division is compared. Travel Expenses shows Budget 3,00,000 and Actual 3,40,000, a Variance of 40,000 (13.33%) in red.
- To raise travel for the second half, they set the budget back to Draft, change the travel line to 4,00,000, and confirm it again.
Training
Practice exercise
In a sandbox company with an open fiscal year of 12 periods:
- Create a budget "Training FY Plan" for that fiscal year, with Status Draft.
- Add two lines: an annual line for an expense account of 1,20,000, and a line for the same account in the first period of 10,000.
- Try to add a third line for the same account with no period. Expected: it is refused with A budget line for this GL account and period already exists in this budget.
- Confirm the budget, then try to change its Label. Expected: the save is refused with This budget is Confirmed and cannot be edited directly…
- Open Budget vs Actual with the layout Monthly Budget only. Expected: the account shows 20,000 in the first period (10,000 + 1,20,000 ÷ 12) and 10,000 in each of the other eleven.
Quick reference
- Budgets live in Finance Setup → Planning → Budgets. Lines are added from the budget's Related tab.
- Only one active budget is allowed per company + business unit + fiscal year.
- Line names must be unique across every budget, so prefix them with the budget's name.
- One line per GL account per period, plus one annual line. Amounts must be above zero.
- Fill in GL Account and Budget Amount on every line, even though only Name is mandatory.
- Confirmed freezes the budget and its lines. Go back to Draft to change anything.
- Read it on Financials → Analysis & Planning → Budget vs Actual. Only profit and loss accounts appear.
- Clear the Branch picker for a whole-company comparison.
- A budget never blocks or reserves spending.
Permissions
Access follows the user's security profile:
- Budgets and lines. The profile's entity permissions on Budget and Budget Line decide whether a user can see, create, edit or delete them. The standard System Admin, Standard User, Sales Manager and Sales Executive profiles have full access to both. To protect confirmed plans, give delete access only to finance administrators, because line deletion is not blocked by the lock.
- Apps. The Finance Setup app is granted to System Admin, Standard User and Sales Manager. The Financials app is granted to those three and to Sales Executive.
- Budget vs Actual. The screen runs the fiscal year's Budget Income Statement action, so the user's profile needs that grant on its Actions tab. System Admin, Standard User and Sales Executive have it. Sales Manager does not, so add the grant if sales managers should read budgets.
Configuration
- Navigation. Budgets appear in the Finance Setup app under Planning, and Budget vs Actual in the Financials app under Analysis & Planning. Move or add them under Setup → Design Studio → Apps → Manage Items (see Create an entity).
- Status values. The Status list is Draft, Cancelled and Confirmed. You can add values, but only Confirmed (and Approved, if you add it) locks a budget. Any other value behaves like Draft.
- Forms. The budget and line forms can be changed in the layout designer (see Design a form layout). Fields you add for your own use do not change the comparison. Two things to keep in mind:
- The Record Page header shows only Edit and Delete. Clone exists as an action but is not on the page, and it would copy the header without its lines.
- Line names are required on the form and must be unique across all budgets. Agree a naming convention with your team (for example, budget code plus account plus period).
- Showing Budget vs Actual elsewhere. The screen is a Finance Statement widget with its Statement set to the budget income statement. You can place the same widget on another app page. Users then pick the budget and layout on the page.
- Cost centres. The standard forms have no Cost Center field on the budget, so Budget vs Actual can't be limited to one cost centre out of the box (see Cost centers).
Common problems
"An active budget already exists for this scope and fiscal year."
Another active budget has the same company, business unit and fiscal year. Open Budgets and filter by fiscal year. Either revise that budget instead (Step 5), or retire it by turning off Is Active (Step 6) and then save the new one. A budget with no business unit and one with a business unit don't conflict.
"Name '…' already exists." when adding a line
Line names are unique across every budget in your organisation, so a line called "Travel" in last year's budget blocks a line called "Travel" this year. Give the line a name that includes the budget, such as "FY27-OPS Travel".
"A budget line for this GL account and period already exists in this budget."
The budget already has a line for this account in this period (or an annual line, if you left Fiscal Period empty). Edit the existing line's amount instead of adding another.
"Budget line amount must be greater than zero."
Enter the amount as a positive figure, even for an income account. To remove an account from the plan, delete its line.
"This budget is Confirmed and cannot be edited directly…" or "The parent budget is Confirmed…"
The budget is locked. Set Status back to Draft on its own, save, make the change, and confirm again. If you change Status and another field in the same save, the save is refused.
My budget is not in the Budget picker
The picker lists budgets whose Fiscal Year is the year chosen on the screen. Open the budget and set its Fiscal Year. Inactive and cancelled budgets are listed too, so check the Label and Name to make sure you pick the right one.
A budgeted account is missing from Budget vs Actual
Only profit and loss accounts belonging to the budget's company are shown. A line on a balance sheet account, or on another company's account, never appears. Neither does a line saved without a GL Account, so open the budget's lines and fill in the account where it is empty. Also check that the account's statement classification is right in the chart of accounts.
Actuals look too low
Check the Branch picker: it starts on your own branch, so the Actual column covers only that branch. Clear it for the whole company. For a budget with a business unit, only postings that carry that unit count (see Business units). Documents that are not yet posted are not included.
"No actuals match this budget."
Nothing has been posted to the budget's accounts in its fiscal year within the chosen scope. Check the fiscal year, the budget, the Branch picker and the budget's business unit.
Common questions
What happens when spending goes over budget?
Nothing stops it. xMatix does not check budgets when an order, bill, expense claim or journal is saved or posted, and it does not reserve budget when a purchase order is approved (see Budget commitments). The overrun appears on Budget vs Actual once the spending has posted, with the variance shown in red. If you need approval for over-budget spending, set it up in your approval process. For example, route purchase orders above an amount to a finance approver (see Approvals).
Can I budget by branch or cost centre?
Not in a way the comparison uses. A line has a Branch field, but Budget vs Actual adds up all lines for an account regardless of branch, and the Branch picker on the screen narrows only the Actual column. Budgets by business unit are supported: create one budget per unit and set Business Unit on each budget header. The standard forms have no cost centre field.
How do I keep the original plan and work on a revised one?
Set the original budget's Status to Cancelled (or Draft), turn Is Active off, and save. Then create a new budget for the same scope and add its lines. Both remain visible in the Budget vs Actual picker, so you can compare either one with actuals. Give them clear labels, such as "FY27 Original" and "FY27 Revised". The record page has no Clone button, so the lines have to be entered again.
Is the budget available on mobile?
The Budget vs Actual menu entry is set up for both web and mobile, and the mobile statement screen lets you choose the budget and layout in the same way. Whether it appears depends on whether your mobile app includes the Financials app. The budget record forms have mobile layouts too, but the Finance Setup menu is designed for the web, so plan to build and maintain budgets there.
What is the difference between a budget and a financial projection?
A budget is a fixed plan per GL account that you compare with posted actuals. A financial projection records expected future amounts for the cash flow forecast. The two are separate records, and neither reads the other.
