The Bid Leveling Template — and When to Stop Using One (2026)
Most people searching for a bid leveling template want one of two different spreadsheets, and the search results do not distinguish between them.
If you are a general contractor comparing subcontractor bids on a trade package, you need a scope-based sheet: bidders across the top, scope items down the side, plug numbers filling the gaps. If you are buying material and comparing supply-house quotes, you need a line-item sheet: vendors across the top, part numbers down the side, landed cost at the bottom.
Both are below, with every column explained. Copy the structure into a spreadsheet — the columns are the useful part, not the file format.
One thing up front, stated plainly: we do not have a downloadable Excel file for you. Our blog cannot host one. If a downloadable file is what you came for, Downtobid and MeltPlan both publish free ones and are the better destination for that. What follows is the reasoning behind the columns, which is the part most templates leave out. We build CostCrunch, which does the material-side version of this automatically — that is the bias to weigh in the last section.
Template 1: subcontractor bid leveling (for GCs)
One sheet per trade package. Bidders become columns; scope items become rows.
| Scope item | Sub A | Sub B | Sub C | Notes |
|---|---|---|---|---|
| Base bid as submitted | $284,000 | $291,500 | $279,200 | |
| Included: rough-in | Yes | Yes | Yes | |
| Included: fire caulking | Yes | Yes | No | Excluded p.3 |
| Included: as-builts | Yes | No | Yes | |
| Included: hoisting | No | Yes | Yes | |
| Alternate 1 (spec change) | $12,400 | $14,000 | not priced | |
| Plug: fire caulking | — | — | +$8,600 | RSMeans 2026 |
| Plug: as-builts | — | +$3,200 | — | Prior job basis |
| Plug: hoisting | +$6,100 | — | — | Internal benchmark |
| Leveled total | $290,100 | $294,700 | $287,800 | |
| Rank as submitted | 2 | 3 | 1 | |
| Rank leveled | 2 | 3 | 1 | |
| Bonding / insurance current | Yes | Yes | Pending | |
| Schedule commitment | Yes | Yes | Yes | |
| Prior work with us | 3 jobs | None | 1 job |
What each section is for
Base bid as submitted. The raw number, recorded before any adjustment. Keep it visible — the difference between submitted rank and leveled rank is the entire value of the exercise, and you want it legible to whoever reviews the award.
Inclusion rows. One row per scope item that any bidder treated differently. Do not write these from the bids. Write them from the drawings and specs, then mark what each bid did with them. Starting from a bid means anything all three missed stays invisible.
Alternates, priced separately. Never fold an alternate into a base total. A bidder who did not price it is not cheaper.
Plug rows, with a documented basis. A plug is a cost allowance you insert to cover something a bidder left out, so the totals compare. The basis column is not bureaucracy: SpecLens notes that undocumented plugs are the leading reason a leveling recommendation gets overturned on review. Write down where the number came from — RSMeans, a prior project, an internal benchmark — at the moment you make it up, because you will not remember in March.
Leveled total, and both ranks. If the ranking does not change after leveling, that is a finding worth recording too.
Qualitative rows at the bottom. Bonding, insurance, schedule commitment, prior history. These do not get a dollar value and they decide awards anyway. Keeping them on the same sheet stops the comparison from becoming purely arithmetic.
The column most templates omit
Add one more: "who leveled this and when." When an award gets questioned six months later, the sheet is the record. An unsigned, undated spreadsheet with plug numbers of unknown provenance is not a defense.
Template 2: supplier material quote comparison (for buyers)
Different job. Vendors become columns; your material list becomes the rows — not the first vendor's list.
| Your item | Qty | Unit | Vendor A unit | Vendor B unit | Vendor C unit | Best |
|---|---|---|---|---|---|---|
| 3/4 wrot CU 90 ell | 240 | ea | $2.84 | $2.74 | $2.74 | B/C |
| 1/2 type L CU tube | 1,800 | ft | $4.12 | $4.31 | $3.98 | C |
| 3/4 ball valve FIP | 60 | ea | $18.40 | $17.95 | $19.10 | B |
| 2in PVC sch 40 | 400 | ft | $1.86 | not quoted | $1.79 | C |
Then a second block underneath, per vendor. This is the same worked example used in the line-by-line method, where the quoted totals were $41,880, $42,310, and $43,050:
| Vendor A | Vendor B | Vendor C | |
|---|---|---|---|
| Material subtotal, normalized | $42,500 | $42,310 | $42,870 |
| Lines not quoted | 11 | 0 | 0 |
| Cost of unquoted lines elsewhere | +$1,140 | $0 | $0 |
| Freight | $0 delivered | $385 | $0 delivered |
| Partial-shipment freight | +$310 | $0 | $0 |
| Minimum / small-order fees | +$45 | $0 | $0 |
| Tax basis correct | Yes | Yes | Yes |
| Payment terms | net 30 | 2% net 10 | 2% net 10 |
| Discount if taken | $0 | -$854 | -$857 |
| Landed cost | $43,995 | $41,841 | $42,013 |
| Lead time, longest line | 9 days | 2 days | in stock |
| Backorder lines | 4 | 0 | 1 |
| Substitution policy | notifies | notifies | does not |
Vendor A quoted the lowest number and is the most expensive buy by roughly 5%.
What each section is for
Your item, not their description. The left column is your own nomenclature. Each vendor column maps their part number onto your row. Getting this right is most of the work, and the mapping is reusable next time — see the full method.
Normalized unit prices. Convert everything to one basis before comparing. Quoted per each, per box of 25, and per hundred are three different numbers describing similar prices, and read raw they reverse the ranking.
Lines not quoted, counted explicitly. The most expensive error in material buying is a cheap-looking quote that is missing items. Count the gaps and price them, or the comparison is meaningless.
Landed cost, not subtotal. Freight, partial-shipment freight, minimum-order fees, tax basis, and payment discounts you can genuinely take. A vendor quoting delivered against one quoting FOB their yard are not comparable numbers.
Non-price rows. Lead time on the longest line, not the average. Backorder count. Substitution policy — that last one predicts whether the invoice will match the quote, which is a real cost even though it has no number today.
When to stop using a spreadsheet
Both templates work. For a while.
Keep the spreadsheet when: the list is under about a hundred lines, you run the comparison monthly or less, one person does it, and the vendor set is stable.
The spreadsheet is now the bottleneck when:
The matrix got big. Purchaser reports procurement teams describing meaningful reliability problems above roughly 200 line items across more than three vendors, and estimates 2,500 to 4,000 manual data-entry operations for a 500-line, six-vendor comparison. Those are their own published figures rather than third-party research, but the shape matches what purchasing agents describe. On the GC side, Buildr reports manual leveling of a full project taking 40 to 50 hours, with estimators spending 60 to 80% of their time qualifying bids.
Nothing accumulates. The alias map between your item names and each vendor's part numbers is the real asset, and a spreadsheet does not retain it in a usable form. This is why manual comparison never gets faster no matter how many times you do it — every buy starts from zero.
Different people do it differently. Three purchasing agents with three private spreadsheet conventions produce comparisons that cannot be compared to each other, and the historical record becomes unusable for negotiation.
It stops at the award. This is the real limit, and it applies to every template including both of the ones above. A spreadsheet is a decision artifact. Nine weeks later an invoice arrives, and the sheet does not check it. Bid leveling genuinely ends at award, but material buying does not — the quote becomes a PO, the PO becomes an invoice, and the invoice frequently disagrees with the quote.
Where CostCrunch fits
We build this, so weigh accordingly.
We do the material template automatically and not the GC one. Quote comparison reads supplier quotes in whatever format they arrived, maps line items across them so the same item lines up despite different naming, and produces the normalized side-by-side. Then invoice auditing checks the eventual invoice line by line against your purchase history and local market rates.
We do not do subcontractor bid leveling. No scope checklists, no plug numbers, no bidder network. Template 1 above is a genuine spreadsheet recommendation, not a soft pitch — if you are a GC leveling trade bids, use it, or look at Beck Technology's DESTINI Bid Day, Procore Bid Management if you already run Procore, or one of the AI leveling tools in our category guide.
Frequently asked questions
What should a bid leveling template include?
At minimum: each bidder as a column, each scope item as a row, the base bid as submitted, an inclusion or exclusion marker per scope item, alternates priced separately from the base, plug rows with a documented basis for each number, and a leveled total. Keep both the submitted ranking and the leveled ranking visible, since the difference between them is the point of the exercise. Add qualitative rows for bonding, insurance, schedule commitment, and prior work history, plus a record of who leveled it and when.
What is the difference between a bid leveling template and a quote comparison template?
A bid leveling template is organized around scope: rows are scope items, and the adjustment mechanic is the plug number you insert to cover what a bidder omitted. A quote comparison template is organized around line items: rows are part numbers from your own material list, and the adjustment work is normalizing units of measure and building landed cost with freight, fees, tax, and payment terms. Using the wrong one produces a comparison that misses the errors that matter in your situation.
Where should the rows in a quote comparison sheet come from?
Your own material list — the takeoff, bill of materials, or requisition — never from the first quote that arrived. If you use a vendor's line structure as the reference, anything they omitted becomes invisible and anything they added looks mandatory. Count and price the lines each vendor failed to quote as an explicit row, because a quote that is missing eleven items looks like the cheapest quote until somebody checks.
Do plug numbers need to be documented?
Yes. A plug is a cost allowance you insert to cover scope a bidder left out, and undocumented plugs are a leading reason bid-leveling recommendations get overturned when an award is reviewed. Record the basis at the moment you set the number — RSMeans, a specific prior project, or a named internal benchmark — because the justification is the difference between a defensible award and a number nobody can explain later.
Is a spreadsheet good enough for bid leveling?
For a modest number of packages, yes, and buying software for three hard packages a year is not sensible. It stops being adequate when the matrix grows past a few hundred rows and several bidders, when several people level bids using different private conventions, or when the extraction labor rather than the arithmetic becomes the cost — a spreadsheet does arithmetic perfectly and cannot read a PDF. Free AI tools exist to test the alternative at zero cost.
Is there a free bid leveling template?
Yes, several. Downtobid and MeltPlan both publish free downloadable Excel versions, and Smartsheet has generic construction bid templates. This post gives the column structure and the reasoning behind each column rather than a file, since our site cannot host a download. The structure matters more than the format — a downloaded template with columns you do not understand produces a tidy comparison of the wrong things.
How do I keep a comparison useful after the award?
Save the awarded quote or leveled sheet where the person approving the invoice can find it, along with the awarded unit prices, freight terms, and the quote's validity window. Most of the value of a careful comparison is destroyed at this step: nine weeks later the invoice arrives, and without the original figures at hand the only available check is whether the total looks about right, which misses unit-price drift, substitutions, and unit-of-measure errors.
The best template in the world will not save you from the two errors that actually cost money: building the comparison from a vendor's document instead of your own list, and letting the comparison die at the award.
Fix those two and a plain spreadsheet outperforms most software. Leave them unfixed and no tool helps.
Try CostCrunch free on your own quotes and see the material comparison built without the spreadsheet.
Last verified: August 19, 2026. Third-party figures are attributed to their source and vendor-published statistics are labeled as such — if something here is out of date, tell us and we'll correct it.