Every contractor knows the feeling at the end of a project: the site finished, the money gone, and nobody can say exactly where the overspend came from. A budget is only useful if you can compare it with what was actually spent, line by line, while there is still time to act. This guide shows how to build a site budget, track actual cost against it and read the variance.
Start with the right structure
A single number for the whole site hides the problem. Break the budget into:
- Site (project): the building or development.
- Cost code (activity): excavation, structure, brickwork, plumbing, electrical, finishing.
- Zone (location): block, floor or phase.
- Account: the expense account the cost belongs to, such as materials or labour.
Each budget line is the combination of these. The same key must be used when you enter a bill, so the actual cost lands on the same line as the budget.
A worked example
A site has a cost code, "Structure", for one block with a budget of Rs 12,000,000.
| Item | Rs |
|---|---|
| Budget | 12,000,000 |
| Actual to date | 12,850,000 |
| Variance (budget - actual) | -850,000 |
A negative variance means overspending. The same cost code in another block might show a variance of +400,000, which is a saving. Looking at lines separately shows where the problem is, instead of one total that hides both.
How to read the variance
- Negative: actual is above budget. Find the bills behind it.
- Positive: actual is below budget. Either a saving, or work not yet billed.
- Large and positive early in a project: often just timing, not a saving.
Always ask what is still to be billed before celebrating a saving or panicking over an overspend.
Four habits that make budgets work
- Budget before spending starts. A budget made after the work is just a record.
- Use the same codes everywhere. If a bill is coded to a different cost code than the budget, the report lies.
- Check at entry, not at month end. A bill that would breach the budget should be questioned before it posts.
- Review weekly for active sites. Monthly is too late when costs move fast.
Common mistakes
- One budget for the whole company. You cannot find the overspending site.
- Changing the budget to match the actual. Keep the original and record approved changes separately.
- Forgetting committed costs. Purchase orders not yet billed are real commitments.
- Mixing sites in one cost code. Each site needs its own lines.
How OneAccounts does it
Budgets are set by site, cost code and site zone. When a bill or invoice is entered, it is validated against that budget before it posts, so a bill that would take a line over its limit is stopped at entry.
The Budget vs Actual report shows budget, actual and variance side by side for each line, with overspending in red and savings in green. Any line opens into the spending detail behind it, so you can see the exact bills. Reports can be filtered by site, cost code and zone.
See Construction accounting software, and for the purchasing side purchase order to vendor payment for contractors.
Frequently asked questions
What is the difference between a budget and a forecast?
A budget is the approved plan. A forecast is your latest estimate of the final cost. Keep the budget fixed so you can measure against it.
How often should I compare budget with actual?
Weekly for an active site, monthly for a quiet one.
Can I compare several sites?
Yes. Run the report for each site, or filter it by cost code across sites to see where one type of work is consistently overspent.
What happens if a bill exceeds the budget?
It is stopped at entry, so it can be discussed before it posts rather than found later in a report.
Can I see which bills make up an actual figure?
Yes. Each line opens into the spending detail with the individual bills behind it.