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.
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.
Part of Ruh for general contractors · stage 04 of 12
The whole GC lifecycle →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.
The total on each proposal, before anything is carried.
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 item | Plug | Bidder A | Bidder B | Bidder C |
|---|---|---|---|---|
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.
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.
The view of the Ruh estimating team, from leveling sheets on general contractor bid packages. An opinion, not a measured result.
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.
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.
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.
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.
The unclear cells are questions with a deadline. Awarding first and clarifying later turns each one into a change order.
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.
| Trade | Often excluded or left unclear | Where your scope says otherwise | Ask before award |
|---|---|---|---|
| 03 Concrete | Pumping, winter protection, vapor barrier, rebar supply | S general notes; spec 03 30 00 and 03 20 00; site logistics plan | Who supplies and places rebar; is pumping in the unit price |
| 04 Masonry | Scaffolding, winter heat, flashing, final cleaning | A wall sections; spec 04 20 00; the schedule dates | Scaffold by mason or by GC; cleaning in the base bid |
| 05 Metals | Miscellaneous metals, deck, touch-up paint, erection split | A stair and railing details; S framing plans; spec 05 50 00 | Is 05 50 00 in this bid; who erects the deck |
| 07 Roofing | Wood blocking, crickets, sheet metal, extended warranty | A roof plan and details; spec 07 50 00 and 07 62 00 | Blocking by carpenter or roofer; warranty term quoted |
| 08 Openings | Hardware installation, glazing at hollow metal, finish hardware supply | A door schedule and hardware sets; spec 08 71 00 | Hardware furnish and install split; who glazes the frames |
| 09 Drywall | Level 5 finish, scaffolding, patching after MEP, fire caulking | A finish schedule and wall types; spec 09 29 00 and 07 84 00 | Level 5 extents; who fire caulks the rated penetrations |
| 21 Fire suppression | Design and engineering, backflow preventer, fire pump, monitoring | Spec 21 13 13 performance criteria; the P site plan | Design included; backflow by plumber or by sprinkler sub |
| 22 Plumbing | Owner furnished fixtures, trenching, backflow, gas piping | P fixture schedule with its furnish column; C utility plan | Rough-in for owner fixtures; trench and backfill by whom |
| 23 HVAC | Controls, testing and balancing, insulation, electrical connections | M equipment schedule; spec 23 05 93, 23 07 00 and 25 00 00 | Controls in this bid or separate; who wires the equipment |
| 26 Electrical | Temporary power, fire alarm, low voltage, permits and fees | E one-line and site plan; spec 26 05 00, 28 31 00 and 27 00 00 | Temporary power duration; fire alarm and low voltage in scope |
| 31 Earthwork | Rock, dewatering, import and export, compaction testing | C grading plan; the geotechnical report; spec 31 23 00 | Rock 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.
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.
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.










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.
The invitation draft carries the register rows for the trade, so every bidder prices the same package. A contact without an email cannot be queued; the exclusion needs a reason; nothing sends until a person approves it.
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.
A matched reply becomes a sub-bid record with a version. When no reliable total can be read, the receipt is still recorded and the proposal stays visible as unpriced, so a quote that arrived is never mistaken for one that did not.
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.
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.
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.
From your directory, filtered by trade, with history and exclusions visible. Fix the missing address before it costs you a bid.
One package per trade, built from the register, reviewed before it goes out. Every bidder answers the same scope.
Emailed bids become versioned records. The sheet marks covered, excluded and unclear for every item and every bidder.
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.
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.
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.
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.
What gets recorded
A reply with no readable total is recorded as received and stays visible for follow-up rather than disappearing.
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.
What gets recorded
Low, typical and high planning rates per division and building type, so an allowance is calibrated and labeled rather than guessed.

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.
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.
Invitations carry the register rows for the trade, so the comparison starts from one package rather than three interpretations of the drawings.
Covered, excluded and unclear per item exposes the bid that is cheap because it is incomplete, before it is carried.
Unclear items and contradictory statements go back to the bidder as questions. The system records the answer; it does not decide.
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.

ADF GroupThe 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.
Try Ruh on a real bid. 100% money-back guarantee if you are not satisfied.*
*Scoped delivery, terms apply. Read the guarantee terms
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.
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.
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.
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.
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.
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.
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.
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*