
You asked three contractors to quote the same roof and got back $180,000, $240,000 and $310,000. That spread is not usually dishonesty. It is three companies quoting three genuinely different scopes of work, and the proposals are written so that you cannot see where they diverge.
Here is how to line them up.
Did this bid assume a tear-off or a recover?
A recover leaves the existing roof in place and installs a new membrane over it. A tear-off removes everything down to the deck. On a 40,000 sq ft roof the difference is easily six figures, and a proposal can describe either one in a single line that reads almost identically.
The code decides which is legal, not the contractor's preference. IBC §1511 prohibits a recover where the existing roof already carries two or more applications of roof covering, or where the existing roof is water-soaked or deteriorated enough that it is no longer a sound base. Either condition forces removal to the deck.
So the first thing to ask all three bidders is the same question: how many layers are up there, and how do you know? A core cut and a moisture survey answer it in an afternoon. A bid that assumes recover without either is a guess with your money attached.
If one bidder assumed recover and two assumed tear-off, you do not have three bids. You have one bid and two different bids.
This is the second-largest line item and the one most often quietly trimmed.
The DMV sits in climate zone 4. Current commercial energy code calls for roughly R-30 continuous insulation above the deck on a low-slope roof. A building put up in the 1970s or 80s commonly has half that or less, so bringing the assembly up to code means adding several inches of polyiso.
That has knock-on effects nobody mentions in a cheap bid:
Ask each bidder to state the R-value they are installing and the total assembly thickness. If one of them is materially thinner, that is your price difference, and it is a compliance problem rather than a bargain.
Put the three proposals side by side and tick these off. Anything missing is either an omission or a change order waiting to happen.
| Item | What to look for |
|---|---|
| Core cuts and moisture survey | Named as a deliverable, with results shared before contract |
| Tear-off or recover basis | Stated explicitly, with the §1511 justification if recovering |
| Deck repair | A unit price per square foot, not "as required" |
| Wet insulation replacement | A unit price, same reason |
| Insulation R-value | A number, not "to code" |
| Cover board | Present or explicitly excluded — many warranties require one |
| Attachment pattern | Field, perimeter and corner called out separately per ASCE 7 |
| Flashings and penetrations | Itemised, not "all flashings as required" |
| Mechanical equipment | Who lifts, re-flashes and resets rooftop units |
| Drainage | Primary and secondary paths verified against code |
| Warranty | Type, term, and the maintenance it requires to stay in force |
| Phasing | Night, weekend or tenant-hours work priced in if you need it |
Two of those deserve emphasis.
Unit prices for deck and wet insulation. Nobody can see the deck until the roof is open. An honest contractor prices the unknown as a rate you agree in advance. A contractor who leaves it out is not cheaper — they are deferring the conversation to a moment when you have an open roof and no leverage.
Attachment by zone. Wind uplift concentrates at perimeters and corners, and ASCE 7 requires tighter fastening there than in the field. A bid quoting one fastener pattern for the entire roof is either an oversight or a shortcut, and it is the kind that fails in a storm.
"20-year warranty" can mean at least three different things:
Ask which one, in writing, and ask what voids it. Most NDL warranties carry a maintenance condition, and claims are routinely denied for a missing inspection record. That record is a by-product of a maintenance program, which is why the program is usually cheaper than it looks.
Ask all three, and compare the answers rather than the numbers:
The contractor who answers these precisely is usually the one whose number you can trust, even when it is not the lowest.
In our experience of reading these, a bid that comes in dramatically under the others is almost always missing one of four things: it assumed a recover that the code will not allow, it under-insulated, it omitted the deck and wet-insulation unit prices, or it left out the mechanical coordination. None of those disappear. They surface as change orders once the work has started.
That is not an argument for the highest bid. It is an argument for making all three describe the same job before you compare the prices.
Most low-slope replacements in this region fall between roughly $9 and $19 per square foot installed, depending on system, insulation required, deck condition and access. Treat that as a planning range rather than a quote — the variables above move it more than the membrane brand does. Our service pages break the ranges out by system.
No. The middle number is not a method. Reconcile the scopes first; quite often the "middle" bid turns out to be the only complete one, or the highest turns out to be the only one that included phasing you actually need.
Yes, and it is the single most useful thing you can do. Write one scope — tear-off basis, R-value, cover board, attachment by zone, unit prices, warranty type — and have all three price that. The spread usually collapses.
On a large or complex project, an independent consultant earns their fee. On a straightforward building, a written condition report plus the checklist above gets you most of the way for nothing.
If you want a written condition report you can hand to a board — system, remaining service life, defects with photographs, and budget ranges for repair, restoration and replacement — book a free 30-minute consultation or call 202-798-7663.
Keep reading



A 30-minute consultation, then a written report with photos and numbers. No obligation.
Pick a time that suits you. We'll talk through the building, walk the roof, and send you a written condition report with photos and budget ranges for repair, restoration and replacement.
Opens our live calendar. Pick a time — there is no form to fill in.
Active leak? Don't book — call 202-798-7663. We triage leaks ahead of scheduled visits.