Contractor's Guide

How to Level Sub Bids
(so the cheapest bid isn't the most expensive).

Three subs bid your deck job. One comes in at $26,200. One at $26,550. And one at $21,200. Easy call, right? Not so fast. That last number might be the most expensive one on the table. Here is the bid leveling method, a worked example you can copy, and the free app that does it in minutes.

Why the lowest paper price isn't always the low bid

No two subs write a bid the same way. One includes the demo and the haul-off. The next one leaves it out because he figures that's on you. One prices the permit. One never mentions it. None of that means anybody did anything wrong — it just means they read the scope differently.

So when you stack the totals side by side, you aren't comparing the same job. You're comparing three different jobs that happen to share an address. Most of the time, the low number just means somebody left the most out. Leveling puts everybody back on the same scope so the comparison means something.

The bid leveling method, step by step

1. Write out the scope, one line at a time

Demo. Footings. Framing. Decking and rail. Permit. Cleanup. Every line the job actually needs, whether or not anybody bid it. This becomes the left column of your leveling sheet.

2. Put each bidder's price next to each line

One column per bidder. Fill in what each of them priced for each line. Now you can see at a glance exactly who covered what.

3. Mark EXC and NQ

When a sub deliberately excluded a line, mark it EXC. When he simply never quoted it, mark it NQ. Different reasons, same result: that work is missing from his number, and somebody still has to do it.

4. Plug every hole with the highest competing price

Fill each EXC and NQ cell with the highest price another bidder gave for that same line. That sounds strict, but it's fair. It means a thin bid can't look cheap just because it's thin, and it reflects what that work will realistically cost you to buy somewhere else.

5. Add up the leveled totals

Total each column after the gaps are plugged. That's the real comparison — same scope, every bidder, apples to apples.

A worked bid leveling example

Same deck job, three bidders. Copy this layout onto paper, into a spreadsheet, or let the app build it for you.

Scope lineBidder ABidder BBidder C
Demo & haul-off$1,850$2,100EXC
Footings$3,200$2,950$1,200 ⚑
Framing$8,400$8,900$8,600
Decking & rail$11,200$10,800$11,400
Permit & inspection$650$700NQ
Cleanup$900$1,100NQ
Bid as written$26,200$26,550$21,200

On paper, Bidder C is $5,000 cheaper. Now plug his three gaps with the highest competing price for each line — demo $2,100, permit $700, cleanup $1,100 — and add them back:

 Bidder ABidder BBidder C
Bid as written$26,200$26,550$21,200
Gaps plugged+$3,900
Leveled total$26,200$26,550$25,100

A $5,000 gap turns into about $1,100. C is still the low number, but now it's a real one you can actually award against — and there's still that footings line to talk about.

Reading the flags

Look at C's footings: $1,200 against $2,950 and $3,200. When one price sits 30% or more under everybody else on the same line, that isn't a prize. It's a question.

Most of the time it means he read that line differently than you did — fewer piers, a different depth, no inspection trip. So make the phone call and ask what's in that number. A five-minute call before you award beats a hard conversation halfway through the job. And when you do award, you're picking the best leveled number from a sub you trust, with the qualifications in writing.

Or let the free app do it

The Bid Leveler is a free app that runs this whole method for you. Put in your scope lines and up to four bidders. Open each sub's quote PDF right in the app and tap their prices straight into the sheet — no retyping. Mark what's excluded, and it plugs the gaps and flags the too-good numbers automatically. On a computer it becomes a full spreadsheet with one-tap export to Excel.

It works with zero cell service, there's no account and no monthly fee, and your numbers never leave your device.

Open the Free Bid Leveler →

No download · No signup · Works with zero signal

Questions contractors ask about bid leveling

What is bid leveling?

Putting every sub bid on the same scope so the totals can be compared fairly. Raw totals compare different jobs that happen to share an address; leveling fills the gaps so you're comparing the same work.

What do EXC and NQ mean on a bid leveling sheet?

EXC means the sub excluded that line on purpose. NQ means he never quoted it at all. Different reasons, same result — the work is missing from his number.

How do you fill a gap in a sub bid?

Use the highest competing price for that same line. It keeps a bid from looking cheap just because it left the most out, and it's close to what that work will really cost you to buy elsewhere.

Is there a free bid leveling template or app?

Yes. The Bid Leveler is free, works 100% offline with no account and no monthly fee, and exports to Excel on a computer. Everything stays on your own device.

Level the bids. Win the right jobs.

Open the Free Bid Leveler →