Back to blogBest Practices

How to write a Bill of Quantities that gets comparable bids

The VEXORS TeamMay 8, 20266 min read

You send the same request to five suppliers and get back five quotes that look nothing alike. One bundles delivery into the unit price, another lists it separately, a third quotes a different specification entirely, and the fourth answers a question you never asked. Now you are stuck rebuilding everything in a spreadsheet just to figure out who is actually cheapest. The problem usually is not the suppliers. It is the request.

A Bill of Quantities, or BoQ, is the fix. It is a structured list of exactly what you need, broken into line items with clear units and quantities, so every supplier prices the same thing the same way. Get it right and comparison becomes trivial. Get it wrong and you pay for the confusion later.

What a Bill of Quantities actually is

At its simplest, a BoQ is a table. Each row is one thing you want to buy. Each row carries a description, a unit of measure, and a quantity. Suppliers fill in a price per unit, the math gives you a line total, and the line totals add up to a bid.

The power is in the structure. When every supplier responds against the same rows, you are no longer comparing documents. You are comparing numbers in the same cells. That is the difference between an afternoon of spreadsheet wrangling and a five-minute decision.

Why vague line items wreck comparison

The fastest way to ruin a BoQ is to write line items that leave room for interpretation. Consider the difference:

  • Vague: "Office chairs, good quality, approx 20"
  • Specific: "Ergonomic task chair, adjustable lumbar support, weight rated to 120 kg, 5-year frame warranty; unit: each; quantity: 20"

Against the vague version, one supplier quotes a basic stacking chair and another quotes a premium model. Both are technically "good quality office chairs." Their prices differ by a factor of three, and the comparison tells you nothing. Against the specific version, every quote is for the same chair, so the lowest price is genuinely the lowest price.

Vague quantities are just as damaging. "Approx 20" invites a supplier to quote a price break you cannot actually claim, or to pad for the uncertainty. State the number you intend to buy.

How to structure it

Think in sections, then line items.

Group related items into sections. A request for an office fit-out might have sections for furniture, electrical, and flooring. Sections keep long lists readable and let a supplier who only covers one area bid cleanly on that part.

Give every line a real unit of measure. This is where most comparisons quietly break. Pick the unit the way the item is actually bought and sold:

Item typeGood unitAvoid
Discrete goodseach, set, pack"lot" when you mean 50
Materialssquare meter, linear meter, kilogram"some", "as needed"
Serviceshour, day, fixed deliverable"project" with no scope

State an exact quantity per line. If you genuinely do not know yet, say so explicitly and ask suppliers to price per unit so you can scale later. Do not bury the uncertainty inside a fuzzy total.

Specify the things that change the price. Material grade, certification, warranty length, delivery location, lead time. If it would make you choose one supplier over another, it belongs in the line description.

What to specify versus what to leave out

There is a balance. Over-specify and you accidentally write one supplier's catalog number into the request, which locks out everyone else and kills competition. Under-specify and you get the mismatched mess above.

Specify the outcome, not the brand. Say "weight rated to 120 kg," not "Model X-200." You want suppliers competing on how to meet your need, not just confirming they stock one product.

Leave room for alternatives where it helps. Add a short note inviting suppliers to propose an equivalent if they can meet the same specification for less. You keep comparability on the baseline line item while still capturing a smarter offer.

Do not bury commercial terms in line descriptions. Payment terms, delivery windows, and warranty expectations are real, but they apply across the whole bid. Keep them in the request's terms section so they do not distort individual line prices.

From a pile of quotes to a like-for-like comparison

Here is what changes once the BoQ is clean. Every bid comes back against the same rows, in the same units, for the same quantities. You can lay them side by side and read straight down a column. The cheapest line is obvious. So is the supplier who is suspiciously low on one item and high on another, which is often a sign they misread the spec.

This is also where a structured platform earns its place. On VEXORS, a request is built as a line-by-line Bill of Quantities, and every supplier bids directly against those same lines. The bids arrive already aligned, so the comparison is automatic instead of a manual rebuild. There is no spreadsheet stitching, no chasing a supplier to clarify what their "lot" included, and a clean record of exactly what each party committed to.

A short checklist

Before you send a request, run it past these:

  • Every line has a description specific enough that two suppliers would price the same thing.
  • Every line has a real unit of measure and an exact quantity.
  • Price-driving details, such as grade, warranty, and delivery, are in the line or the terms, not assumed.
  • No brand or part number that secretly locks out competition.
  • Commercial terms live in the terms section, not inside individual lines.

A good Bill of Quantities is not bureaucracy. It is the single highest-leverage thing you can do to make sourcing fast, fair, and genuinely comparable. Write it once, and every quote you get back does the comparison work for you.

Run procurement the modern way

Create a free account and see how structured sourcing and supplier trust come together on VEXORS.

Get started free