100% money-backBook a walkthrough
Bid leveling for general contractors

The lowest total is not the lowest cost.Compare the scope, then carry the bid.

Bid leveling is the comparison of subcontractor bids on the same scope, with every exclusion and unclear item priced and added back, so the bid a general contractor carries is the lowest cost rather than the lowest total. Below: a leveling sheet to run on three bids, what is usually left out trade by trade, the sheet template to download, and what estimators get wrong.

  • Invitations built from the register, so every bidder prices the same package
  • Coverage classified covered, excluded or unclear, with contradictory statements exposed
  • A carried bid records the reason, the server-computed amount and any acknowledged gap
One trade, three bids, one honest sheetDRYWALL PACKAGE, THREE BIDSBidder ABidder BBidder CFraming, interior partitionscoveredcoveredcoveredLevel 5 finish, corridorscoveredexcludedcoveredShaft wall at elevatorscoveredunclearexcludedFirestopping at penetrationsexcludedcoveredunclear Bidder B: is shaft wall in your number?Asked before the bid is carried, not assumedLowest total: B.Complete scope: A.

Bidder B has the lowest total and excluded the shaft wall. Bidder A covered everything. The unclear cell goes back to the bidder as a question before anyone is carried, so the comparison is between scopes, not between formats.

3 states
per scope item, per bidder
Covered, excluded, unclear
1 record
per bid reply, versioned
Rev 2 supersedes Rev 1, receipts kept
1 reason
required to carry a bid
Recorded with the decision
0
gaps carried without acknowledgment
Unpriced scope becomes a labeled allowance
  1. 01ScopeBid package read, scope register written by trade
  2. 02TakeoffQuantities off the drawings, each traced to its sheet
  3. 03EstimatePriced on your price book, into your own workbook
  4. 04You are hereBid levelingSub bids compared on scope, not on the total
  5. 05SubsEligibility, invitations and awards on one record
  6. 06BudgetOriginal, changes, committed and buyout variance
  7. 07ScheduleDurations from quantities, lookaheads each week
  8. 08ProcurementPurchase orders from award, materials to receipt
  9. 09SubmittalsSubmittals from the spec, on a review clock
  10. 10ChangesRFIs tracked, change events priced with evidence
  11. 11Pay appsSchedules of values, pay apps and audited waivers
  12. 12CloseoutCloseout obligations and handover, gaps named
Live sheet

Level three bids on scope, not on the total.

Enter the base bids, mark each scope item covered, excluded or unclear for every bidder, and put your plug on each item. The sheet carries the plugs, ranks on carried cost and writes the questions for the unclear cells.

1. Base bids

The total on each proposal, before anything is carried.

2. Scope items, coverage and your plug

Click a cell to cycle Covered, Excluded, Unclear. The plug is what you carry when the item is excluded or unclear, from your estimate or another bid.

Scope itemPlugBidder ABidder BBidder C
Carried cost, ranked
  1. 1. Bidder C$188,400
    Quoted $179,900 + $2,100 excluded + $6,400 unclearLowest carried
  2. 2. Bidder A$191,100
    Quoted $186,500 + $4,600 unclear
  3. 3. Bidder B$195,200
    Quoted $171,200 + $20,800 excluded + $3,200 unclearLowest quoted

The order changed. Bidder B quoted the lowest total, $171,200, and carries at $195,200 once its 4 gaps are plugged. Bidder C is the bid to carry, $6,800 lower.

3Questions before award

  1. Bidder A: confirm in writing whether "Fire caulking at rated penetrations" is included in your bid. Until answered, $4,600 is carried against it.
  2. Bidder B: confirm in writing whether "Patching after MEP rough-in" is included in your bid. Until answered, $3,200 is carried against it.
  3. Bidder C: confirm in writing whether "Scaffolding and lifts above 12 ft" is included in your bid. Until answered, $6,400 is carried against it.
Download the sheet template

A leveling sheet, nothing more. The plugs are your numbers and the sheet does not price them. Ruh reads each bidder's proposal against your scope register, classifies every cell and drafts these questions on a real package.

Opinion

What estimators get wrong about bid leveling.

The view of the Ruh estimating team, from leveling sheets on general contractor bid packages. An opinion, not a measured result.

  1. 01

    The ranking is done on the quoted total.

    The lowest number on bid day is the one everyone remembers. Once the exclusions are plugged the order changes more often than not, and by then the award has been promised.

  2. 02

    Unclear is read as included.

    A proposal that does not mention scaffolding has not included scaffolding. It has said nothing. Until the bidder answers in writing, that cell is a plug, not a zero.

  3. 03

    The sheet is built from the proposals, not from the scope.

    If each bidder's inclusion list sets the rows, every bidder is compared on their own terms. The rows come from your scope register, and the proposals are read against them.

  4. 04

    Plugs come from memory.

    A plug with no source cannot be defended at buyout. Every plug is a priced line, from your estimate, another bid or a quote, and the source is written on the sheet.

  5. 05

    The award goes out before the questions come back.

    The unclear cells are questions with a deadline. Awarding first and clarifying later turns each one into a change order.

Reference

What is usually left out, trade by trade.

The exclusions and silences that recur in subcontractor proposals, where your own documents answer them, and the question to put to the bidder before award. These are the rows the sheet above should carry.

TradeOften excluded or left unclearWhere your scope says otherwiseAsk before award
03 ConcretePumping, winter protection, vapor barrier, rebar supplyS general notes; spec 03 30 00 and 03 20 00; site logistics planWho supplies and places rebar; is pumping in the unit price
04 MasonryScaffolding, winter heat, flashing, final cleaningA wall sections; spec 04 20 00; the schedule datesScaffold by mason or by GC; cleaning in the base bid
05 MetalsMiscellaneous metals, deck, touch-up paint, erection splitA stair and railing details; S framing plans; spec 05 50 00Is 05 50 00 in this bid; who erects the deck
07 RoofingWood blocking, crickets, sheet metal, extended warrantyA roof plan and details; spec 07 50 00 and 07 62 00Blocking by carpenter or roofer; warranty term quoted
08 OpeningsHardware installation, glazing at hollow metal, finish hardware supplyA door schedule and hardware sets; spec 08 71 00Hardware furnish and install split; who glazes the frames
09 DrywallLevel 5 finish, scaffolding, patching after MEP, fire caulkingA finish schedule and wall types; spec 09 29 00 and 07 84 00Level 5 extents; who fire caulks the rated penetrations
21 Fire suppressionDesign and engineering, backflow preventer, fire pump, monitoringSpec 21 13 13 performance criteria; the P site planDesign included; backflow by plumber or by sprinkler sub
22 PlumbingOwner furnished fixtures, trenching, backflow, gas pipingP fixture schedule with its furnish column; C utility planRough-in for owner fixtures; trench and backfill by whom
23 HVACControls, testing and balancing, insulation, electrical connectionsM equipment schedule; spec 23 05 93, 23 07 00 and 25 00 00Controls in this bid or separate; who wires the equipment
26 ElectricalTemporary power, fire alarm, low voltage, permits and feesE one-line and site plan; spec 26 05 00, 28 31 00 and 27 00 00Temporary power duration; fire alarm and low voltage in scope
31 EarthworkRock, dewatering, import and export, compaction testingC grading plan; the geotechnical report; spec 31 23 00Rock clause and unit price; testing by owner or by sub

Section numbers are MasterFormat 2018 and your specification governs. The middle column names where the scope usually sits, so a bidder's silence can be checked against a page rather than a memory.

Template

The leveling sheet, as a spreadsheet.

The rows the sheet above uses: one scope item per row with its evidence, a coverage cell per bidder, a plug column with its source, and the carried total by bidder. Five example rows show a covered, an excluded and an unclear cell, each with the plug it carries.

  • Scope items as rows, taken from your scope register, each with the sheet or spec section that supports it
  • Coverage per bidder: Covered, Excluded or Unclear, never blank
  • A plug column with its source named, so every carried number can be defended at buyout
  • Base bid, plugs and carried total per bidder, with the unclear cells that become questions
CSV
bid-leveling-sheet-template.csv
CSV, opens in Excel and Sheets · 2 KB
Download the template

No email, no gate. If you want the register written for you from a real set, the walkthrough is at the bottom of the page.

Contractors already running Ruh
PCL ConstructionECC ExteriorsTaurus BuildersAlliance Construction SolutionsDondlinger ConstructionSpyder ConstructionPCL ConstructionECC ExteriorsTaurus BuildersAlliance Construction SolutionsDondlinger ConstructionSpyder Construction
Fits the tools you already run
ProcoreSage 300 CREBluebeamTrimble ViewpointQuickBooksMicrosoft Excel
How the bids get leveled

From a trade scope to a carried bid your estimator can defend.

Three things have to hold for a carried bid to survive buyout. Every bidder priced the same scope, every reply was captured as it arrived, and the person who carried it wrote down why.

Invitations that carry the scope, not just a due date

Invitations that carry the scope

The trade solicitation panel connects bidder selection to the register. Each selected subcontractor receives a clearly identified package built from the trade's scope inclusions, through the normal communication review, so three bidders answer one question instead of three different ones.

  • Bidder lists come from your subcontractor directory, filtered by trade, with prior jobs worked and feedback beside each name
  • A do-not-invite decision carries a reason and blocks selection until a person restores the contact
  • A contact without an email address cannot be queued, so a bad address is fixed before it delays a bid
  • Invitation drafts attach the register rows for the trade and go through review before anything sends
  • The bid plan records the resulting coverage, so four directory entries with one excluded count as three live bidders, not four
Every reply becomes a versioned bid record

Every emailed reply becomes a versioned bid record

Bids arrive as email. The intake path matches a reply to its invitation and turns it into a sub-bid record with a version, so a revised number supersedes the earlier one instead of sitting beside it in a thread.

  • Matched replies become sub-bid records; the highest revision wins and the earlier versions are kept
  • When no reliable total can be read, evidence of receipt is preserved and the proposal stays visible as unpriced
  • Unpriced proposals sit in the follow-up queue, so a bidder who replied without a number is chased, not forgotten
  • Exact labeled totals are parsed from the document; nothing is inferred from a subject line
  • Alternates and stated exclusions are kept on the record for the coverage sheet
Carrying a bid is a recorded decisionCarry Bidder A, drywallReason: complete scope incl. shaft wall; B and C excluded itAmount computed on the serverBase 96,000 plus accepted alternate 2Open gap acknowledgedFirestopping unpriced by all three, carried as a labeled ROM allowanceEstimator acknowledgesthe gap before the bid is carried

Carrying a bid is a decision with a reason attached

The comparison sheet places every trade scope item against every bidder and marks each cell covered, excluded or unclear, with contradictory stated evidence shown side by side. Carrying a bid then records the estimator's choice, the reason, and a server-computed amount.

  • Covered, excluded and unclear per scope item and per bidder, so what each quote actually answers is visible
  • Contradictions between a bidder's inclusions and exclusions are exposed rather than averaged away
  • Carrying requires a written reason; the amount is computed on the server from the record, not typed in
  • Open unpriced scope must be explicitly acknowledged before the bid is carried
  • Gaps are priced as labeled ROM allowances from your low, typical and high planning rates, never as silent zeros

Scope in. Bids captured. The right one carried.

Four steps, and you can see the state of every trade at each one. The comparison is on a sheet your estimator can open, not in someone's head.

01

Select the bidders

From your directory, filtered by trade, with history and exclusions visible. Fix the missing address before it costs you a bid.

02

Send scope-carrying invitations

One package per trade, built from the register, reviewed before it goes out. Every bidder answers the same scope.

03

Capture and level the replies

Emailed bids become versioned records. The sheet marks covered, excluded and unclear for every item and every bidder.

04

Your estimator carries the bid

With a reason, a computed amount and any open gap acknowledged and priced as a labeled allowance. Then it feeds the estimate and the proposal.

One trade package. Everything the sheet records about it.

A bid package rarely comes back the way it went out. Here is what gets recorded so the carried bid can be reconciled at buyout instead of argued about.

Coverage per item

What gets recorded

Every trade scope item against every bidder, marked covered, excluded or unclear. Where a bidder's stated inclusions and exclusions contradict each other, both statements are shown so the estimator can identify what the quote actually answers.

Bid versions

What gets recorded

Each reply is a record with a revision. A later revision supersedes the earlier one; the earlier one is kept for the audit trail.

Unpriced proposals

What gets recorded

A reply with no readable total is recorded as received and stays visible for follow-up rather than disappearing.

The carried decision

What gets recorded

Which bidder, why, and the amount computed on the server from the record. Open unpriced scope is acknowledged explicitly and priced as a labeled allowance, so the estimate says where the number came from.

Planning allowances

What gets recorded

Low, typical and high planning rates per division and building type, so an allowance is calibrated and labeled rather than guessed.

An estimator checking a drawing with a scale rule and a calculator at a desk

What the bids say, and what they leave out.

Three drywall bids describe the same package three different ways. One excludes the shaft wall in a footnote, one bundles firestopping, one is silent on Level 5. Leveling by hand means retyping, and retyping is where the scope gap gets in. Ruh puts them on one sheet and shows you where they disagree.

What the bids tell you

  • A total, sometimes a revised total
  • Stated inclusions and exclusions, in each bidder's own words
  • Alternates and unit rates where the bidder chose to give them
  • A schedule statement, if you asked for one

What they leave out

  • Whether silence on an item means included or excluded
  • Which of two contradicting statements in the same quote governs
  • The scope nobody priced, which becomes your allowance
  • Whether the lowest total is the lowest cost once the exclusions are bought separately
Why the carried bid holds up

No carried bid you cannot explain.

The fear in bid leveling is not the spreadsheet. It is standing in a buyout meeting with a subcontractor who says the shaft wall was never in their number, and having nothing on paper that says otherwise.

Same scope to every bidder

Invitations carry the register rows for the trade, so the comparison starts from one package rather than three interpretations of the drawings.

Coverage, not totals

Covered, excluded and unclear per item exposes the bid that is cheap because it is incomplete, before it is carried.

We surface the contradiction. Your estimator resolves it

Unclear items and contradictory statements go back to the bidder as questions. The system records the answer; it does not decide.

A person carries every bid

With a reason, a computed amount and an acknowledged gap. Nothing is carried automatically, and nothing is carried without saying why.

Our estimators spent more time retyping quantities than thinking about scope. Ruh reads our drawings like a senior estimator and hands back a priced estimate we want to review, not rebuild.
Director of Preconstruction, ADF Group
Director of Preconstruction
ADF Group
Bid turnaround cut ~50%

What the sheet can show, and what it cannot

The sheet shows what each bidder stated, where statements contradict each other, and which scope items nobody priced. Those are facts from the documents, and every one links back to the reply it came from.

It cannot tell you whether a bidder will honor a number, whether their crew is available, or whether an excluded item was excluded on purpose. Those are questions for your estimator to ask, and the sheet keeps them visible until they are answered.

100%

Try Ruh on a real bid. 100% money-back guarantee if you are not satisfied.*

*Scoped delivery, terms apply. Read the guarantee terms

Start with one package

Questions general contractors ask.

Does it pick the subcontractor?+

No. It levels the bids and shows coverage, contradictions and gaps. Carrying a bid is your estimator's decision, recorded with a reason, a server-computed amount and an explicit acknowledgment of any open unpriced scope.

How do invitations work?+

You select bidders from your directory, filtered by trade, with prior jobs and feedback beside each name. The invitation draft carries the register rows for that trade, so every bidder prices the same package. Drafts go through the normal communication review before anything is sent, and a contact with no email address cannot be queued.

What happens to a bid that arrives by email?+

A reply matched to its invitation becomes a versioned sub-bid record. Exact labeled totals are parsed from the document, a later revision supersedes the earlier one, and both are kept. When no reliable total can be read, the receipt is still recorded and the proposal stays visible as unpriced for follow-up.

What do covered, excluded and unclear mean on the sheet?+

Each trade scope item is marked per bidder. Covered means the bidder's stated inclusions answer it. Excluded means the bidder stated it is out. Unclear means the quote is silent or contradicts itself, and that item goes back to the bidder as a question rather than being assumed either way.

How are gaps nobody priced handled?+

They are acknowledged explicitly before the bid is carried and priced as a labeled ROM allowance from your low, typical and high planning rates for that division and building type. The estimate shows the allowance as an allowance, never as a silent zero or a guessed firm price.

Can we exclude a subcontractor from invitations?+

Yes. The directory carries a do-not-invite decision with a reason. Excluded contacts cannot be selected until a person restores them, and the bid plan counts coverage from the bidders actually invited, not from the size of the directory.

Where does the carried bid go next?+

Into the estimate line for that trade and into the proposal, with its exclusions and allowances preserved for review. After award, the same record is the basis for the subcontract scope and for the coverage check at buyout.

Bring one package that is out to bid now.

A 30 minute walkthrough on a real trade package. Bring the invitation list and the replies you have, and we level them live on the call. Your estimator decides which bid to carry.

No card to start100% money-back guarantee*

Level a package you are bidding now

Three replies are enough. Your estimator carries every bid.

Backed by a 100% money-back guarantee*