Construction
Bid leveling: how to compare subcontractor bids apples to apples
The lowest number on the bid tab is rarely the lowest cost. It is often the bid that left something out. Here is a practical method for leveling sub bids, a spreadsheet layout you can copy, the exclusions that cause the most trouble, and where AI can take the tedious part off your estimator's desk.
Short answer
Bid leveling means adjusting subcontractor bids for the same trade to a common scope so you can compare true cost, not headline price. Build a scope checklist from the drawings and specs, mark each item as included, excluded or unclear for every bidder, add a plug number for anything missing, and confirm unclear items in writing. Compare the adjusted totals, then weigh schedule, bonding, safety record and past performance before you award.
Key takeaways
- Subs bid their own interpretation of the scope. Leveling translates every bid back to yours.
- The scope checklist is the real work product. Build it before bids arrive, not while you read them.
- Every exclusion gets a plug number with a written source, so the comparison is honest and explainable.
- Unclear items get a written clarification from the bidder, not a guess from the estimator.
- Price is only one column. Schedule, bonding, insurance, workload and track record belong on the same sheet.
- AI is good at reading proposals and filling the sheet. Plugs, calls and the award decision stay with people.
What bid leveling is, and why bids don't compare
Bid leveling is the process of lining up subcontractor bids for the same trade and adjusting each one to the same scope, so the numbers mean the same thing. It is how a general contractor or construction manager turns a stack of proposals that look comparable into a decision that actually is.
Bids don't compare out of the box because every sub writes their proposal from their own reading of the drawings, their own standard exclusions and their own habits. Two electrical bids for the same building can differ by a large amount and both be "right" for the scope each bidder assumed. Common reasons:
- Different scope boundaries. One sub includes temporary power, another assumes the GC provides it.
- Standard exclusions. Boilerplate lines like "excludes permits, bonds, cutting and patching, overtime" that may or may not matter on your job.
- Missed addenda. A bidder priced the original set and never acknowledged addendum 2.
- Allowances and unit prices. A low allowance makes a bid look cheaper today and costs more later.
- Qualifications buried in the fine print. "Price valid 15 days," "assumes one mobilization," "material escalation not included."
- Alternates priced inconsistently. Some bidders price every alternate, some price none, some combine them.
Leveling exists so that the low number you carry in your own bid, or the sub you award to, doesn't turn into a pile of change orders and arguments once the job starts.
It also helps to separate two terms that get used interchangeably. A bid tabulation, or bid tab, is a record of what each bidder submitted, often just the base bid and alternates. Bid leveling is the analysis that goes further: checking each bid against the full scope, adjusting for gaps and producing a number you can compare.
Set up before the bids arrive
The fastest leveling happens when most of the work is done before the first proposal lands. If you only start thinking about scope when you are reading bids, you will end up adopting whichever bidder's scope description is most detailed, which is not the same as the right scope.
- Write a scope of work for each bid package. What is in, what is out, and who provides what at the boundaries with other trades. This goes out with the invitation to bid.
- Include a bid form. A simple form that asks every bidder to price the same base bid, the same alternates and the same unit prices, and to list exclusions and acknowledge addenda. Bidders won't all use it, but the ones who do save you hours.
- Build the scope checklist. Turn the scope of work into a line-item list you will use as the rows of your leveling sheet. Pull items from the spec sections, the drawings, the general conditions and your own lessons from past jobs.
- Decide your plug sources in advance. Your own estimate, historical cost data, or an outside price. Knowing this up front keeps plugs consistent from bidder to bidder.
- Set a bid due date with room to clarify. Leveling needs at least a day or two between bid day and your own deadline for clarification calls.
How to level subcontractor bids, step by step
Once proposals are in, the process is the same every time. The order matters: capture first, adjust second, judge last.
- Log every bid received. Bidder, date and time, base bid, alternates, addenda acknowledged, and the file or email it came in. Note who was invited and did not respond.
- Read each proposal against the scope checklist. For every row, mark the bidder as included, excluded or unclear. Don't skip the fine print and the attached terms; exclusions often live there.
- Add anything the bidders raised that you missed. If one bidder lists an item nobody else mentions, add a row and check every other bid against it. Good subs often catch scope your checklist did not.
- Send written clarifications. For each unclear item, ask the bidder a specific question by email: "Does your price include firestopping at rated wall penetrations, yes or no?" Record the answer on the sheet.
- Plug the gaps. For each confirmed exclusion, add a plug value to that bidder's column so their adjusted total covers the full scope. Note where each plug came from.
- Normalize alternates and allowances. Compare alternates separately from the base bid, and replace any allowance that is clearly too low with your own realistic number.
- Compare adjusted totals. Rank bidders on the leveled number, and look at the spread. A bid far below the others, even after leveling, usually means a missed item or a misunderstanding, not a bargain.
- Review qualifications and terms. Schedule, manpower, bonding, insurance, safety record, payment terms and past performance (more on this below).
- Document the decision. Save the final sheet with clarifications attached. When the selected sub's contract is written, pull the leveled scope into the subcontract exhibit so the scope you compared is the scope they signed.
That last step gets skipped more than any other, and it is where leveling pays off later. If the subcontract says "per proposal dated March 3," every exclusion in that proposal comes along with it.
A bid leveling spreadsheet layout
A bid leveling spreadsheet doesn't need to be clever. Scope items run down the rows, bidders run across the columns, and every cell answers one question: is this item in their price, and if not, what does it cost to add? Here is a layout most estimators will recognize.
| Section | What goes in it |
|---|---|
| Header | Project, bid package, trade, spec sections, drawing set and addenda, due date, estimator |
| Bidder summary | One column per bidder: contact, date received, addenda acknowledged, bid validity, bond available |
| Base bid | The number as submitted, before any adjustments |
| Scope checklist | One row per scope item. For each bidder: Included, Excluded (with plug value) or Clarify (with question sent) |
| Plug total | Sum of plugs for each bidder, with a source note on each plug |
| Leveled total | Base bid plus plugs, minus anything included that is not in your scope |
| Alternates and unit prices | Each alternate and unit price on its own row, compared separately |
| Qualifications | Schedule, crew size, bonding, insurance, safety, current workload, past performance notes |
| Notes and clarifications | Questions sent, answers received, dates |
Two habits make the sheet trustworthy. Color-code cells consistently (for example, green for included, red for excluded and plugged, yellow for waiting on clarification) so anyone can scan it. And keep the "as submitted" number visible next to the leveled number, so nobody confuses the two in a meeting.
Worked example: three drywall bids
The numbers below are hypothetical, chosen to show how leveling can reorder the bids. Suppose a GC receives three drywall and framing bids for a small commercial interior.
| Item | Bidder A | Bidder B | Bidder C |
|---|---|---|---|
| Base bid as submitted | $412,000 | $438,000 | $451,000 |
| Firestopping at rated walls | Excluded, plug $14,000 | Included | Included |
| Level 5 finish at lobby | Excluded, plug $9,000 | Excluded, plug $9,000 | Included |
| Addendum 2 (added soffits) | Not acknowledged, plug $11,000 | Included | Included |
| Lifts and equipment | Excluded, plug $6,000 | Included | Included |
| Daily cleanup and haul-off | Included | Excluded, plug $4,000 | Included |
| Leveled total | $452,000 | $451,000 | $451,000 |
Bidder A looked $26,000 to $39,000 cheaper on the bid tab. After leveling, all three bids land within about $1,000 of each other, and Bidder A carries the most risk because four items had to be plugged and one addendum was never acknowledged. Now the decision turns on things that actually differ: which sub has the crew for your schedule, who has performed well for you before, and whose proposal has the fewest open qualifications.
Your results will not look like this every time. Sometimes the low bidder really is the best value. The point of leveling is that you know which situation you are in before you sign anything.
The scope gaps and exclusions that cause the most trouble
Most scope gaps appear at the boundaries: between trades, between the sub and the GC, and between the drawings and the specs. These are worth a row on almost every checklist.
- Trade interfaces. Blocking, backing, firestopping, sealants, access panels, cutting and patching, and core drilling. Each trade assumes another one has it.
- General conditions items. Hoisting, lifts, scaffolding, temporary power and lighting, dumpsters, cleanup, layout and staging.
- Permits, fees and inspections. Trade permits, testing, third-party inspections and engineering stamps for delegated design.
- Addenda and bulletins. Confirm every bidder acknowledged every addendum, in writing.
- Schedule assumptions. Number of mobilizations, phasing, overtime, after-hours or occupied-building work.
- Material escalation and price validity. Short validity windows and escalation clauses can matter more than the base price on long-lead material.
- Bonds and insurance. Whether the bond premium is in the price, and whether the sub can meet your insurance requirements.
- Warranty, closeout and submittals. Extended warranties, O&M manuals, attic stock, as-builts and the submittal package itself.
- Prevailing wage and certified payroll on public work, if the bidder priced at the wrong wage rates. See our guide to certified payroll.
A useful habit: after every job, add any scope gap that turned into a change order or a dispute to your standard checklist for that trade. Over a few years the checklist becomes one of your company's most valuable estimating assets.
Beyond price: qualifications and terms
A fully leveled price tells you what the scope should cost. It doesn't tell you whether the sub can deliver it. Before awarding, put these on the sheet alongside the number:
- Capacity: current backlog, crew size and whether they can staff your schedule.
- Track record: past performance on your jobs, references, and how they handled change orders and punch lists.
- Financial strength and bonding: bonding capacity if required, and any signs of cash strain.
- Safety: safety program and history, per your company's prequalification standards.
- Terms: payment terms, retainage acceptance, lien waiver practices and any exceptions they took to your subcontract.
General information, not legal advice. Public projects often have specific procurement rules about how bids are received, opened, compared and awarded, and some owners require their own bid tabulation format. Sharing one bidder's price with another to drive it down (often called bid shopping) can damage relationships and, depending on the project and jurisdiction, may conflict with contract or procurement rules. Check the requirements for your project with your counsel.
Excel, Procore or an AI agent
The tool matters less than the discipline, but the tools differ a lot in how much of the reading and typing they take off your team.
| Approach | What it handles well | Where it falls short |
|---|---|---|
| Excel or Google Sheets template | Flexible, familiar, free; easy to adapt by trade | Every proposal is read and typed in by hand; versions multiply; checklist quality depends on the estimator |
| Construction platform (for example Procore or other preconstruction tools) | Bid invitations, bidder tracking, structured bid forms and side-by-side comparison, depending on your plan and modules | Works best when subs submit through the portal; PDF proposals with custom exclusions still need reading |
| AI agent with an estimator reviewing | Reading PDF and email proposals, extracting line items and exclusions, mapping them to your checklist, flagging gaps, missed addenda and unusual qualifications, drafting clarification emails | Needs a good scope checklist to map against; plugs, calls and the award stay with people |
For many small and mid-sized GCs, the slowest part of leveling is not the comparison but the data entry: opening a dozen proposals in different formats and transcribing what each one includes. That is the part an AI agent handles well. It can read each proposal, fill your existing spreadsheet or the comparison view in your platform, highlight every exclusion and every row it could not resolve, and draft the clarification questions for the estimator to send.
The design choice that matters is human-in-the-loop review. The agent proposes; the estimator confirms every "included" call on high-dollar items, sets the plug values and makes the decision. Treat anything the agent can't map confidently as an exception for a person, which is the same exception handling principle that applies to any finance or operations automation. For more on what agents can and can't do, see what is an AI agent.
Common bid leveling mistakes
- Leveling to the most detailed bid. The most thorough proposal is a good source of checklist items, but your scope comes from the contract documents, not from a bidder.
- Plugging without a source. A plug pulled from thin air can swing the decision. Note where every plug came from.
- Guessing on unclear items. If it matters, ask in writing. Verbal answers on bid day are forgotten by the time the job starts.
- Ignoring a suspiciously low bid. If one bid is far below the rest after leveling, call the bidder and walk the scope with them. Holding a sub to a number they clearly got wrong rarely ends well for either side.
- Losing the leveled scope at contract time. Write the leveled scope and clarifications into the subcontract, and reference addenda explicitly.
- Not reusing what you learned. Scope gaps that cost you on the last job belong on the next job's checklist.
Good leveling also reduces work downstream. A clear subcontract scope makes change order tracking simpler, and it gives your team a cleaner baseline for RFIs and submittals and for draw requests later in the job.
Bid leveling is one of the preconstruction processes Tarvora automates for construction teams: an agent that reads incoming proposals, fills your leveling sheet in the tools you already use and flags gaps for your estimator. We start with a free working prototype on bids from one of your recent packages, so you can compare the result against your own sheet before deciding anything.
Frequently asked questions
What is bid leveling in construction?
Bid leveling is the process of putting subcontractor bids for the same trade side by side and adjusting them to a common scope, so you can compare true cost rather than headline price. You list every scope item, mark what each bidder included or excluded, add a plug value for anything missing, and compare the adjusted totals along with qualifications such as schedule, bonding and experience.
How do you level subcontractor bids?
Start with a scope checklist for the trade built from the drawings and specs. Enter each bid against that checklist, marking items as included, excluded or unclear. Assign a plug number to every exclusion or gap, confirm unclear items with the bidder in writing, then compare adjusted totals. Finish by reviewing qualifications, alternates and terms before picking a sub.
What is a plug number in bid leveling?
A plug is an estimated cost you add to a bid to cover scope the bidder left out, so it can be compared fairly with bids that included it. Plugs usually come from another bidder's price for the same item, your own estimate or historical cost data. Note the source of every plug so the final decision is easy to explain.
What is the difference between bid leveling and bid tabulation?
A bid tabulation, or bid tab, records the prices each bidder submitted, often just the base bid and alternates. Bid leveling goes further by checking each bid against the full scope, adjusting for exclusions and qualifications, and producing a comparable number. On public work the bid tab is often a formal record, while leveling is the contractor's internal analysis.
Can I do bid leveling in Procore or Excel?
Yes. Excel or Google Sheets is still the most common tool, using a template with scope items as rows and bidders as columns. Construction platforms such as Procore offer bid management and comparison features depending on your plan and modules. Either way, the slow step is reading each proposal and entering inclusions and exclusions, which is where AI can help.
Can AI level bids for me?
AI can do the reading and data entry: extracting line items, inclusions, exclusions and qualifications from bid PDFs and emails, mapping them to your scope checklist and flagging gaps and unclear language. An estimator should still set plug values, call bidders to clarify, judge qualifications and make the award decision. The AI speeds up the comparison; it should not pick the sub.