You send the same RFP to five subcontractors. Every one of them sends back something different. One uses a detailed line-item format. One writes a one-page letter with a lump sum. One breaks out labor and materials separately. One gives you a scope description and a total. One sends a 40-page Xactimate report.
All five are quoting the same job. None of them are comparable apples to apples out of the box. This is not a sub behavior problem — it's just how construction bidding works. And leveling those five bids into something you can actually compare is one of the most time-consuming tasks in preconstruction.
This guide walks through the practical steps of leveling subcontractor bids — the ones that actually produce a useful comparison, not just a side-by-side of numbers that don't mean the same thing.
Step 1: Read Every Bid Before You Compare Anything
The most common leveling mistake is jumping straight to the totals. Before you build any comparison, read each bid in full — even the long ones. You're looking for:
- What's explicitly included in the scope
- What's explicitly excluded (these matter most)
- How the sub broke out labor vs. materials vs. overhead
- Whether there are qualifications, assumptions, or allowances buried in the notes
- Whether the bid covers everything in the drawings and specs or only selected portions
This reading step is where most of the work happens. A bid that looks cheap at first glance often has an exclusion note on page three that eliminates the savings. Don't skip it.
Step 2: Build a Master Line Item List
Take the most detailed bid you received and use it as your starting template. If one sub gave you 45 line items and the others gave you 8, the 45-item bid is telling you what the complete scope actually looks like. That's your master list.
Add anything from the other bids that your most detailed bid didn't include. Your goal is a comprehensive line item list that covers everything across all bids.
Pro tip
Keep your master line item list consistent across projects within the same trade. A standard electrical line item list means every future electrical comparison starts with the same taxonomy — you're not rebuilding it from scratch each time.
Step 3: Map Each Bid to the Master List
For each bid, go line by line and map the sub's items to your master list. This is where terminology normalization happens. "Rough framing," "wood stud walls," and "framing per plans" are all the same item — they map to the same row.
Mark any master list items where a bid is silent. Silence might mean the item is included in another line item (common with lump-sum bids), or it might mean it was excluded. You'll need to resolve which.
Handling lump-sum bids
When a sub gives you a single total with minimal breakdown, you have two options: call them and ask for itemization, or carry an allowance at the total level and note the lack of detail in your comparison. For significant scopes, always call. A lump sum that's 20% below the itemized bids is either a better price or a significant scope gap — you can't tell which without the breakdown.
Step 4: Identify and Quantify Scope Gaps
Scope gaps are items on your master list that appear in some bids but not others. These are not formatting differences — they are real cost differences that will show up as change orders if you award to the bid that excluded them.
For each gap, estimate the cost of the missing item. You can use the other bids as a reference point, or use market benchmarks for your area. The question you're answering: if you added this missing scope to the lower bid, would it still be cheaper?
Real example
Three roofing bids. Two include debris removal at ~$1,200. The third doesn't. The third bid is $800 lower overall. After accounting for the debris removal gap, it's actually $400 more expensive than the middle bid — but you'd only know that after leveling.
Automate the leveling process
EstimateHawk reads your bid PDFs and normalizes line items automatically — no copy-paste, no manual formulas. Free plan, upload your first bid today.
Try it free — no credit card requiredScope gap analysis is the single most valuable part of the leveling process. It's also the step that takes the longest to do manually — and the one that AI detects automatically.
Step 5: Check Unit Consistency
Different subs use different units for the same work. Flooring might be priced per square foot, per square yard, or per room. Painting might be per surface, per coat, or per room. Concrete might be per cubic yard or per linear foot of slab.
Before you compare prices, make sure units are consistent. A tile price of $4.50/SF and $40/SY are identical — but they look completely different until you convert.
Step 6: Flag Pricing Outliers
After normalizing scope and units, look for individual line items where one bid is significantly above or below the others. A 2-3x price difference on a single item is worth a phone call — either the high bidder is including something the others aren't, the low bidder made an error, or market pricing has moved.
Outliers at the line-item level are more informative than outliers at the total level. A bid that's $2,000 below average might be priced below market on one item while being above market on three others. Line-level analysis tells you where the differences actually are.
Step 7: Adjust Totals for Scope and Normalize for Comparison
With scope gaps quantified and units normalized, adjust each bid total to reflect equivalent scope. Add the estimated cost of missing items to bids that excluded them. Now you have normalized totals — bids that reflect the same scope, priced at whatever level each sub came in at.
This is the comparison you've been building toward. Not the original cover-page totals, but adjusted totals that account for everything each bid included or excluded.
Why This Process Breaks Down at Scale
The seven-step process above is the right way to level bids. It's also slow. For a single bid package with three bids, expect 2-4 hours of work. For a large commercial project with 15-20 trade packages, each with multiple bids, leveling is a multi-day effort.
Most GC offices don't have dedicated estimators. The PM doing the comparison is also managing RFIs, running job walks, and handling three other things. The leveling step gets compressed — corners get cut, gaps get missed, and the comparison ends up being a good-enough approximation rather than a rigorous analysis.
That compression is where change orders come from. A scope gap that takes 30 seconds to catch in a proper leveling exercise can cost $10,000–$50,000 to fix after the contract is signed.
How EstimateHawk Automates the Leveling Process
EstimateHawk runs the leveling process automatically. Upload your bid PDFs — any format, any layout — and the AI handles extraction, normalization, scope gap detection, and pricing analysis. The output is a leveled comparison table with gaps flagged and outliers highlighted.
The workflow is the same as the manual process above, just 100x faster. You still review the results, you still make the phone calls on outliers, and you still make the award decision. The difference is you get to the review step in 2 minutes instead of 4 hours.
For GCs who level bids regularly — residential, commercial, or specialty trade — this is worth testing on a real bid package. The free plan includes one full comparison. Upload your next package and see what the AI finds versus what your manual process would have surfaced.