How to Compare Supplier Quotes Apples to Apples (Before You Award)
Comparing supplier quotes apples to apples means converting every quote to the same basis before trusting a single number: the same units of measure, the same quantities checked against your own takeoff, the same treatment of freight and surcharges, and an explicit accounting of what each quote excludes or substitutes. Quote totals are not comparable as written, because each supplier organizes, prices, and excludes differently — leveled at the line-item level, competing quotes on the same scope routinely differ by 15–20%. The comparison that protects your margin is done line by line against your scope list, not total against total.
Why Supplier Quotes Never Compare Cleanly
Send the same material list to three supply houses and you'll get back three documents that look like they price three different jobs. One groups by system, one by spec section, one in the order the counter guy read your list. One prices the full assembly on a single line; one breaks out every coupling; one writes "pipe & assoc. fittings" and lets you guess what associated means. The totals at the bottom are real numbers — they're just not answers to the same question.
This isn't suppliers being difficult. Each quote reflects that house's inventory, its preferred brands, its freight arrangements, and its standard terms. But it means a totals-only comparison is a coin flip dressed up as a decision. When quotes on the same scope actually get leveled line by line, the spread routinely runs 15–20% — and the low total is as likely to be the most incomplete quote as the best price. The rest of this guide is the sequence for finding out which one you're holding, before the award makes it expensive to learn.
Normalize the Units Before You Trust a Single Number
The first check is the least glamorous and catches the most: make sure every comparable line is priced on the same basis. Per foot against per stick. Per each against per box of 50. Per hundredweight against per ton. Wire priced per thousand feet on one quote and per 500-foot reel on another. None of these lines is wrong — they just can't be compared as written, and a unit mismatch can make the expensive quote look cheap by a factor that swamps every real price difference on the page.
The fix is mechanical: pick one basis per item — usually whatever your takeoff uses — and convert every quote to it before writing any number on your comparison sheet. Do the conversion on paper, not in your head, and watch for the traps: sticks that come in 20-foot and 21-foot lengths, boxes that changed count since the last order, and "each" lines that are actually priced per pair. If two quotes are more than a few percent apart on a commodity item, check the units before assuming one supplier is sharper — more often than not, the difference is the basis, not the price.
Exclusions and Substitutions: What the Quote Chose Not to Say
Every quote has two layers: the line items, and the terms. The line items tell you what's priced. The terms tell you what isn't — and the terms are where quotes quietly stop being comparable.
Read the exclusions like line items, because at award, that's what they become. "Freight allowed on orders over $5,000." "Offloading by others." "Quote covers listed items only." "Prices subject to change without notice." Each of those sentences deletes money from the total without touching a single line, and no line-item comparison will surface them. Log every exclusion on your comparison sheet next to the prices it modifies.
Then find the substitutions. A quote that prices an "or-equal" instead of the specified item might be handing you real savings — or handing you a submittal rejection and a repricing after award, when the competing quotes are gone. Any line that isn't the specified brand and model gets flagged: confirm the substitute actually meets the spec, and if you can't confirm it, compare that quote as if it priced the specified item. A discount you have to give back later isn't a discount.
Freight and surcharges get the same treatment. One quote bakes delivery into unit prices, one itemizes it, one omits it entirely — and the omission isn't generosity, it's an invoice line you haven't seen yet. Ask, get it in writing, and put every quote's delivered cost on the sheet, not its counter price.
Quantities, Takeoff, and the Price-Protection Clock
A quote's quantities came from somewhere — your list, the supplier's read of your drawings, or an educated guess at the counter — and each quote may have made a different call on waste factors, rounding, and package sizes. So check every quote's quantities against your takeoff, not against each other. A quote that's 10% light on quantities isn't 10% cheaper; it's a change order with better timing. If a quantity differs from your takeoff, resolve it before award: either your takeoff is wrong, which you want to know, or the quote is short, which you really want to know.
Then read the clock. Every quote holds its pricing for some window — 30 days, 15, 10, or "at time of shipment," which is no protection at all. On a job that buys out over months, the window matters as much as the price: a quote that's 3% higher but holds for 60 days can beat a cheaper quote that reprices before your second release. Check the escalation language too — some quotes hold labor-adjacent items and float commodities, and the float is where the budget goes to drift. Put the protection window and any escalation terms on the comparison sheet as their own column, and compare them against your actual buyout schedule, not against a hope that everything ships next week.
The Side-by-Side Comparison Workflow
The whole sequence, in the order that catches problems earliest:
- Build the scope list from your takeoff first. Your documents define "complete," not any supplier's line items. Every comparison cell hangs off this list.
- Map every quote line to the scope list. Each scope item gets a status per supplier: priced, excluded, or silent. Silence is a gap, and gaps get priced by whoever wins.
- Convert every line to one unit basis — the takeoff's — before writing prices on the sheet. No comparison until the units agree.
- Check quantities against the takeoff, and resolve every discrepancy in writing before award.
- Log exclusions and substitutions as line items. Reprice unconfirmed or-equals at the specified item. Add plug prices for anything excluded or silent, so every column totals a complete, delivered job.
- Put freight, surcharges, and taxes on the sheet explicitly for every supplier — included, itemized, or missing — and compare delivered cost only.
- Record the price-protection window and escalation terms per quote, against your buyout schedule.
- Send written clarifications for every open question, and award off the leveled, clarified sheet — then file the winning quote where your bookkeeper can find it, because it's the baseline every invoice on this package should be checked against.
That last step is where the comparison keeps paying: the quote you awarded is the document that catches the overbilling later. A leveled award you never check invoices against is only half-protected.
When the Spreadsheet Stops Scaling
For a ten-line quote, all of this fits on a legal pad. For a real package — three suppliers, a few hundred lines each, three layouts, three exclusion pages — the honest math is hours per package, and it competes with everything else due the same day. So the workflow gets triaged: the big lines get compared, the accessories and the terms get skimmed, and the spread you never found ships with the award. The method doesn't break. The time does — and the 15–20% variance lives disproportionately in the lines the triage skipped.
The mechanical part of this — reading every line of every quote and mapping it to one scope — is what CheckIT RFQ was built to do. Drag the quotes in, whatever format they arrived in, and it reads every line, normalizes units and groupings, levels every quote against your scope, and flags what's missing, excluded, or priced off-market, with each flag tied to the exact line in the source document and a one-click clarification email to the supplier. Straight status: it's an invite-only pilot right now — you can request access, and accepted pilots get 90 days free. It runs on the same engine as CheckIT Invoice, so the quote you award becomes the baseline your invoices get verified against automatically.
However you do it — legal pad, spreadsheet, or software — the rule doesn't change: no number on a supplier quote means anything until you know its unit, its quantity, its exclusions, and its expiration date. Compare delivered, complete, leveled costs, and the low bid and the right bid start being the same number a lot more often.
Questions, answered.
Build a scope list from your own takeoff, then map every line of every quote against it, marking each item priced, excluded, or silent. Convert all lines to one unit of measure, check quantities against your takeoff, log exclusions and substitutions as if they were line items, add plug prices for gaps, and put freight and surcharges on the sheet explicitly. Compare the leveled, delivered totals — not the numbers on the cover pages, which describe different jobs.
Each supplier organizes and prices from its own inventory, preferred brands, freight arrangements, and standard terms, so the same list comes back grouped differently, on different unit bases, with different exclusions and substitutions. Leveled line by line, quotes on the same scope routinely differ by 15–20% — most of it hiding in units, quantities, exclusions, and freight rather than in the headline prices.
Check that its units of measure match the basis you compared on, that its quantities match your takeoff, that it actually includes the accessories and not just the primary items, that any substituted or-equal items genuinely meet your spec, that freight and surcharges are in the number, and that its price-protection window covers your buyout schedule. A quote that fails any of those checks isn't the lowest quote — it's an incomplete one, and the difference arrives after award.
It's how long the supplier commits to hold the quoted prices — commonly 10, 15, 30, or 60 days, and sometimes only until time of shipment, which is effectively no protection. On jobs that buy out over months, the window can matter as much as the price itself, because a cheaper quote that expires before your later releases can end up costing more than a slightly higher quote that holds. Record the window for every quote and compare it against your actual buyout schedule.
When the packages get big enough that the workflow gets triaged: three suppliers at a few hundred lines each, in different layouts with different exclusion pages, is hours of mapping per package. Under deadline, the big lines get compared and the accessories and terms get skimmed — and the 15–20% variance concentrates in exactly the lines that got skipped. The method still works; there just isn't time to run all of it by hand at that volume.
The most useful thing to read is your own invoice, verified.
Send one job's invoices and the quote they should match — we'll report every difference inside 48 hours. Or run it yourself in the app in minutes.
Free audit: one job, 48 hours, no credit card. Plans from $455/mo.