All articles
BOQ 4 min read

How to prepare a bill of quantities that survives the site

Every construction project stands on its bill of quantities, and most BOQ problems are baked in on day one. Here is the preparation process that holds up — whoever you are preparing it for.

A bill of quantities is the document that turns a design into something that can be priced, bought and measured. Prepared well, it is the backbone of the whole project: tenders are comparable, orders trace to lines, and progress is measurable against quantities. Prepared badly, it fails quietly — the errors surface months later as disputes, variations and material shortfalls.

Step 1 — fix the structure before the first quantity

Decide how the bill is organised before measuring anything: by trade, by element, or by location. The test is simple — when a purchase order or a progress claim comes back later, which grouping will you want it summarised by? Group quantities the way the building is actually organised and executed. In Ofivio these groupings are volume groups, and they follow the BOQ line everywhere it goes.

  • By element (substructure, superstructure, finishes) — best for design-stage cost planning.
  • By trade (masonry, electrical, plumbing) — best when packages go to different subcontractors.
  • By location (block A, block B, floor by floor) — best for phased execution and claims.

Step 2 — take off quantities against a fixed drawing set

Every quantity must trace to a drawing revision. The single most common BOQ failure is measurement against a mix of revisions — the plan from revision C, the sections from revision B — which produces a bill that matches no version of the building. Freeze the set, record the revision numbers in the bill's preamble, and when the design changes, change the bill deliberately rather than partially.

Architectural drawings with measuring tools during quantity takeoff
Takeoff is against a drawing set, not a drawing pile — revisions decide the quantities.

Step 3 — rates: use a library, not memory

Rates typed from memory drift, and a 400-line bill gives a wrong rate hundreds of places to hide. Keep a rate library — your last three projects' agreed rates are a better starting point than any published schedule — and update it when invoices, not estimates, prove a number. Where you must use a market rate you have not bought at, flag it in the bill so nobody mistakes a placeholder for a price.

Step 4 — the checks that catch real errors

  1. 1Walk the drawings once against the bill's section headings: is anything on the drawings that has no section at all? Omissions are the expensive errors — a wrong rate hurts once, a missing trade hurts at tender.
  2. 2Sanity-check unit weights: concrete per m² of floor area, steel per m³ of concrete, block per m² of wall. Experienced estimators know the bands; a line outside them is either special or wrong.
  3. 3Check the arithmetic separately from the measurement. In a spreadsheet, a broken formula range silently drops rows from a total — sum the sections independently and reconcile.
  4. 4Have someone else price ten random lines blind. Two people landing far apart on the same line means the description is ambiguous — and an ambiguous description becomes a claim later.
The gap between the BOQ and the purchase order is where projects bleed. Every retyping step is a chance for a quantity to change silently. If your process involves copying quantities from the bill into orders by hand, the fix is procedural before it is software — but it is the one step software removes entirely.

Step 5 — publish it as a living document

A BOQ printed to PDF is correct for exactly one day. On a live project the bill is drawn down by orders, adjusted by variations and measured against progress — which is why the bill wants to live inside the project system, not beside it. In Ofivio Build the BOQ imports from Excel, keeps its volume groups, and its lines become purchase orders without retyping; Ofivio AE runs the same BOQ engine from the design side.

Ofivio imports your existing Excel BOQ — volume groups, rates and all — so trying it costs an afternoon, not a migration.

See the BOQ engine
BOQquantity takeoffconstructionhow-to