BQ vs Actuals: Job Costing That Tells the Truth on Site
The bill of quantities is a promise made at tender; the site is where the promise meets reality. Job costing is the discipline of comparing the two while the job is still running — the difference between a correction you can make and a loss you can only absorb.
Every construction project begins with a bill of quantities — a line-by-line schedule of the materials, labour, and work the job requires, priced to produce the tender. Once the contract is signed, that price is fixed. From that moment the entire game is cost: every shilling spent above the BQ allowance for a line comes directly out of margin, and every shilling saved is margin kept. Job costing is simply the practice of tracking what you actually spend against what the BQ said you would — and the only version of it that matters is the one that happens while the job is still running.
Committed, not just spent
The mistake most contractors make is tracking only money already paid. By the time a cost is paid it is ancient history. Real job costing tracks three numbers against each BQ line: the budget (what the BQ allowed), the committed cost (purchase orders raised and subcontracts let, whether or not paid), and the actual cost (materials consumed and work done). Committed cost is the one that gives you warning: the moment you raise POs for steel that exceed the BQ steel allowance, the line is over-committed, and you know it before a single invoice arrives. Tracking only actuals is like driving by the rear-view mirror.
Cost against progress, not the calendar
A line being 50% spent is meaningless on its own — it is good news at 70% complete and a crisis at 20% complete. Useful job costing compares cost incurred against work actually completed, so an overrun is measured against progress. This is where site materials discipline pays off: because material issues are booked against tasks, you can see that the foundations consumed 130% of their concrete budget at completion, flag it, and protect the remaining pours — instead of learning at handover that concrete as a whole ran over and having no idea where.
| Number | What it tells you | When it warns you |
|---|---|---|
| Budget (BQ) | What the line was priced to cost | Baseline — set at tender |
| Committed | POs and subcontracts raised, paid or not | Earliest — before invoices arrive |
| Actual | Material consumed and work done | As the work happens |
| Actual vs % complete | Whether spend matches progress | While there is still job left to fix |
Variations: the margin most contractors give away
The BQ is not the whole story — clients change their minds, ground conditions surprise, and scope grows. Every variation is either extra revenue you claim or extra cost you absorb, and the difference is documentation. Contractors who log variations against the job as they arise — instructed, priced, and claimed — recover them. Contractors who "sort out the variations at the end" discover that memory, goodwill, and missing paperwork have quietly converted claimable work into free work. Job costing that captures variations as first-class events, not end-of-job reconstruction, is where a surprising amount of lost margin actually hides.
The report that runs a contract
What a contractor needs is one view per job, updated as work flows: each measured element with its budget, its committed cost, its actual cost, and cost read against work genuinely completed. Whatever you evaluate, test that report specifically — it is the one deliverable that separates managing a contract from reviewing a post-mortem, and the information is worthless the day after you could have acted on it. Be aware of what it takes to assemble here: a task per element gives you actuals and commitments, the budget side at that granularity does not exist, and percentage complete is not measured at all.
Live job costing is the payoff for the rest of the contractor's operational discipline. It needs materials booked against tasks, procurement flowing through approved POs, and subcontracts and variations logged as they happen — the same connected operations that the wider construction guide describes. Assemble those, and the gap between the promise and the reality stops being a year-end surprise and becomes a number you steer by.
What AWRA OpsHub does today
- A project budget amount with a four-component actual cost against it — logged time, purchase orders, expenses and stock issued — plus a consumed percentage and an overrun flag.
- Committed spend is folded into that actual, not shown beside it. Approved and completed purchase orders arrive as one component of the total rather than as a separate committed figure, so "budget versus committed versus actual" is three numbers you assemble, not a view you open.
- Approved purchase orders counted as commitment, so the figure includes the pipeline rather than only invoices.
- Time entries costed to the project, whether billable or not.
- Expenses coded to the project for costs outside procurement.
- Custom fields on projects and tasks, which is the practical route to a coarse cost-code structure.
More we can add to your workspace
- A bill of quantities and BQ lines. A project holds one budget amount and one budget-hours figure. Line-by-line budget-versus-actual against a measured BQ is not possible.
- Cost codes as a first-class structure — the nearest approach is a task per major element, or a custom field.
- A progress measurement, so cost-against-progress and earned value cannot be computed.
- A variation capture.
- Stock issued from your own store now carries a job, valued at the cost stamped when it was issued. Two limits remain: issues raised before this existed have no stamped cost and are skipped rather than valued at today's average, and transfers between your own stores carry no job.
The workable pattern, and it is genuinely useful: create a task per major BQ element and cost time and purchase orders to those tasks. You get element-level actuals and commitments without a BQ structure. What you will not get is the budget side at that granularity, so the comparison stays manual.
Anything above that you need, we can build for you
Everything listed above as something we can add describes what ships in the standard product today — it is a starting point, not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for whatever you just read about. One qualification so this is worth what it claims: a small number of things on this blog we deliberately leave to a specialist rather than build — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words. Everything else is a scope, a timeline and a price.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
The module-shaped additions, which are the ones readers ask for most often
A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.
The report, document or pack nothing currently produces
The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.
Systems, rails and hardware you already run
The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.
Tell us what your operation needsCost every job while it still runs
A budget and a four-component actual cost per project — time, purchase orders, expenses and stock issued from your own store — with approved orders arriving inside the actual rather than beside it.
Explore construction operationsFrequently asked questions
What is BQ vs actual job costing?
It is the practice of comparing what a construction job actually costs against what its bill of quantities budgeted, line by line, as the work runs. Because the contract price is fixed at tender, any spend above the BQ allowance comes out of margin — so tracking actual against budget in real time is what lets a contractor catch and correct an overrun before it becomes a loss.
Why track committed cost and not just money spent?
Because paid cost is history. Committed cost — purchase orders raised and subcontracts let, whether or not yet paid — warns you the moment you commit to spend above a BQ line, before any invoice arrives. Tracking only actuals means you always learn about overruns too late to do anything about them.
How do variations affect job costing?
Variations are changes to the contracted scope — each is either revenue you can claim or cost you must absorb. Contractors who log and price variations as they arise recover them; those who leave them to the end routinely lose claimable work to missing paperwork and fading memory. Capturing variations as they happen is where a lot of hidden margin is saved.
Do I need special software for job costing?
You need materials booked against jobs, procurement flowing through approved purchase orders, and cost accumulating against the job while it runs — that is what makes live job costing possible. A spreadsheet can hold the BQ but cannot see committed cost accumulating in real time, which is exactly where the value is. Be clear about the division of labour when evaluating: a system that carries the job and every channel of spend against it does the hard part, and if it has no BQ-line structure — most do not, including this one — the line-level budget stays in the spreadsheet and the comparison is yours to make.