Budget Checks
How the optional Budget Planning feature warns or blocks when an expense claim would go over budget.
What this is for
If your company uses budgets (Accounting > Budget Planning), Expense can compare a claim with the budget when the employee submits it. You choose what happens when a claim goes over: warn the employee, block the claim, or do nothing. Budget Planning is optional. Without a matching budget, no check happens and no message appears.
Before you begin
Before you begin
- Accounting > Budget Planning: an active budget with the Base scenario Its budget lines must list the same expense accounts your Expense Categories use.
- Budget Planning: run "calculate actuals" so spending to date is up to date
- Expense Categories, each with its expense account
- Expense Settings saved, so the budget switches exist
The three settings
Open them in Administration > Expense Settings, in the Budget Settings group. See Expense Settings.
| Field | Type | Required | Details |
|---|---|---|---|
| Warn When Expense Exceeds Budget | Yes/No switch | No | Shows a warning when an employee submits an expense that would exceed the budget for a category. The employee may choose to submit anyway. Default: On once settings are saved |
| Block Submission When Over Budget | Yes/No switch | No | Prevents submission when the overspend is more than the tolerance below. Only applies if a budget covers the category. Default: Off |
| Allow Up To (%) | Number | No | Appears only when the block switch is on. The claim is blocked only when the overspend itself is more than this percentage of the budgeted amount. 20 blocks once spending is a fifth over budget. 100 blocks only when spending is more than double the budget. 0 blocks any overspend. Default: 100 |
When the check runs
The check runs when an employee submits an expense claim for approval, not when the claim is saved as a draft and not at approval time. Nothing is posted or reserved against the budget. Advance requests are not checked.
For each claim line Winlium:
- finds the budget lines (in active Base budgets) that include the category's expense account, and whose branch and department (and the other tags) are either blank or equal to the line's;
- adds the budget amounts of all matching lines, and adds up their saved actual spending;
- works out over = actual spending so far + this line's amount (before tax) - the budget amount;
- if over is above zero, the line counts as over budget.
Lines are tested one by one. Two lines in the same claim on the same account are not added together. The budget's year or period is not compared with the claim's date.
What the employee sees
If blocking applies and some line is over by more than the tolerance, the claim is refused with this message (the first offending line is named):
Line 2 (Fuel) would exceed the budget for this period by ₦150,000. Submission blocked. Contact your finance manager to request a budget revision.
Appears: New Expense, when submitting
- Why it happens
- Block Submission When Over Budget is on, and the overspend is above the Allow Up To percentage of the budget. Line number, category and amount in this message are an example.
- How to fix it
Ask Finance to revise the budget in Accounting > Budget Planning, or reduce the claim. Blocking wins over warning.
If warning applies (and blocking does not), a dialog titled This expense exceeds budget opens. It says "The following lines exceed their budget. Do you want to submit anyway?" and lists each line, for example "Line 2 (Fuel) exceeds its budget by ₦150,000." The employee chooses Submit Anyway to continue, or Cancel to go back and nothing is submitted.
Screenshot pending
Dialog titled This expense exceeds budget listing the lines over budget with Cancel and Submit Anyway buttons
- 1Each line over budget is listed with the amount over.
- 2Submit Anyway sends the claim for approval.
If neither switch is on, or no budget covers the category, the claim goes straight on to approval with no message.
If the budget service is slow or down
Winlium waits up to 8 seconds for Budget Planning to answer. If it does not answer, or returns an error, the budget check is skipped and the claim is submitted as if there were no budget. The same happens if Expense Settings cannot be read in time: warning and blocking are then off. Nothing tells the user. This is by design so a slow service does not stop claims, but it means a block can be missed.
Also, if a company never saved Expense Settings, the budget switches do not exist and no budget check happens at all. Save Expense Settings once.
What the Budget vs Actual report shows
The Budget vs Actual report lists each category with its budget, actual spend and variance. It reads Budget Planning, so keep Budget Planning current. Its figures can differ from the submit-time check, which uses the saved actuals.
Ledger impact
Ledger impact: Budget check
Does not post to the ledger.
The check only reads budget data when a claim is submitted. It posts nothing and does not reserve budget. Spending reaches Budget Planning's actuals only through the ledger, after approval and when someone runs "calculate actuals".
Who can do this
Administrators who can change Expense Settings turn the switches on or off (permission admin:expense-settings:read to open, and the matching update permission to save). Employees need no extra permission: the check runs for whoever submits a claim. Today only the Owner standard role holds Expense permissions, so give other people a custom role. See Roles and permissions.