Most builders find out whether a project made money after it is finished, when nothing can be changed. Budget vs actual tracking moves that answer to the middle of the job. The method is simple: turn the BOQ into a budget by cost code, count every order the day it is placed, count every bill the day it is paid, and compare. This guide shows how, with a worked example you can check line by line.
BOQ in one paragraph
A bill of quantities (BOQ) lists every item of work in a project, grouped into sections such as earthwork, RCC, masonry and finishes, with a quantity, unit and rate for each. Multiply quantity by rate and you get the item amount; add up the items and you get the estimated cost of the work. Clients use the BOQ to compare tenders. Contractors and builders should also use it as the starting point for cost control.
Turning a BOQ into a budget
A BOQ describes the work; a budget describes the money you will allow yourself to spend on it. To get from one to the other:
- 1Assign a cost code to every BOQ item. A cost code is a short label, such as CC-03 Masonry and plaster, that groups related costs. Keep the list short enough that site and accounts will use it correctly.
- 2Finalise the BOQ. Once quantities and rates are agreed, lock it so the baseline does not drift quietly.
- 3Build the budget by cost code. Use your cost rates, not the rates you quote to the client, for each code. Add items the BOQ does not show but you will pay for, such as site overheads.
- 4Approve it. A budget nobody signed off is a guess. Record who approved it and when.
Run your boq & budgeting on CivilPilot
BOQ, approved budgets and budget against committed and actual spend for every cost code.
What committed cost means
Committed cost is money you have agreed to spend but have not yet been billed for or paid. It comes mainly from approved purchase orders for material and work orders issued to subcontractors. The moment a PO for 40 tonnes of steel is approved, that money is spoken for, even if the steel arrives next month.
Actual cost is what has been billed, received or paid: supplier bills for delivered material, certified subcontractor RA bills, wages and site expenses.
Teams count committed in two ways. Some show the full order value, including the part already billed. Others show only the open balance, the part not yet billed. This guide uses the open balance, so that for every cost code: committed + actual + budget left = budget. Whichever way you choose, use it consistently.
Budget vs committed vs actual: a worked example
A builder is midway through a residential block with an approved cost budget of ₹1,56,00,000. All figures are sample figures for illustration only.
| Cost code | Budget | Committed | Actual | Budget left |
|---|---|---|---|---|
| CC-01 Earthwork and foundation | 18,00,000 | 30,000 | 17,10,000 | 60,000 |
| CC-02 RCC frame | 62,00,000 | 17,30,000 | 41,20,000 | 3,50,000 |
| CC-03 Masonry and plaster | 38,00,000 | 16,77,500 | 19,68,500 | 1,54,000 |
| CC-04 Site labour | 12,00,000 | 0 | 9,30,000 | 2,70,000 |
| CC-05 Finishes | 26,00,000 | 23,80,000 | 4,60,000 | −2,40,000 |
| Total | 1,56,00,000 | 58,17,500 | 91,88,500 | 5,94,000 |
Check any row: for CC-03, ₹16,77,500 committed + ₹19,68,500 actual + ₹1,54,000 left = ₹38,00,000. Across the project, ₹58,17,500 + ₹91,88,500 + ₹5,94,000 = ₹1,56,00,000. Site labour has no committed figure because wages are paid as they are earned, without an order in advance.
Budget vs actual tracking sheet in ExcelA cost-code budget sheet that works out budget left and percentages, plus a commitments register for POs and work orders.Free download · Excel · no sign-upHow to read the numbers
Look at committed + actual, not actual alone. If you only watched actual, finishes would look healthy: ₹4,60,000 spent out of ₹26,00,000. But ₹23,80,000 of orders are already placed, so the code is ₹2,40,000 over budget before most of the work has started. That is exactly when you still have options: renegotiate, change a specification, or approve the overrun knowingly.
- Budget left is negative – the code is over budget on orders already placed. Act before the bills arrive.
- Budget left is small but work remains – CC-03 has ₹1,54,000 left. Check whether any masonry or plaster is still unordered.
- Actual close to budget, committed near zero – CC-01 is almost closed out. Confirm no bills are pending, then close the code.
- Large budget left late in the job – either work was missed in the orders, or the budget was padded. Both are worth knowing.
Reading project P&L
Budget vs actual tells you about cost. Project P&L adds the other side: what you have billed the client. Using the same sample project with a contract value of ₹1,80,00,000:
| Line | Amount | How it is worked out |
|---|---|---|
| Contract value | 1,80,00,000 | From the client contract |
| Approved cost budget | 1,56,00,000 | From the budget |
| Budgeted margin | 24,00,000 | 1,80,00,000 − 1,56,00,000 |
| Billed to client to date | 1,10,00,000 | Client invoices raised |
| Actual cost to date | 91,88,500 | From the table above |
| Margin to date | 18,11,500 | 1,10,00,000 − 91,88,500 |
| Expected final cost | 1,58,40,000 | Budget plus the ₹2,40,000 finishes overrun |
| Expected margin | 21,60,000 | 1,80,00,000 − 1,58,40,000 |
The expected margin has dropped by ₹2,40,000 from the budgeted ₹24,00,000, and the table above shows exactly where. That is the value of tracking by cost code: the P&L tells you that margin moved, and the cost codes tell you why.
This is a management view for running the project, not an accounting statement. Your accountant will prepare the books on the basis the law and your auditor require.
Common budget tracking mistakes
- Tracking only actual spend. Overruns show up after the money is committed and nothing can be changed.
- Costs booked without a cost code. They end up in a "miscellaneous" line that grows every month.
- Budget edited instead of revised. Keep the approved version and record revisions, so you can see what changed.
- Updating the sheet once a month. By then three weeks of orders have gone out unchecked.
- Ignoring site expenses. Petty cash and site bills add up; record them with receipts and codes as they happen.
- Approving orders without looking at the budget. Check budget left for the cost code before approving any large purchase order or work order.
Do this in CivilPilot
In CivilPilot’s BOQ and budgeting, you build the BOQ in sections and items with quantity, unit, rate and cost code, finalise it, and create the project budget from the finalised BOQ for approval. Budget vs actual then shows budget, committed and actual for each cost code: committed comes from approved material requests and expenses not yet paid, and actual from fulfilled material requests and paid expenses. Project P&L puts actual spend by cost code against the approved budget.
Purchase orders go through approval in procurement, expenses are recorded with receipts in finance and billing, and GST or non-GST client invoices and payments received are kept there too. Subcontractor work orders and RA bills are managed separately in subcontractor management. Everything works in a phone browser.





