Roofing is the one trade where three bids for the same house are almost never bids for the same job, and almost nobody says so out loud on the page.
The short answer
Stop justifying a bigger total and start producing a document that prices the unknowns. Roofing bids collapse to price because the two line items that decide the final cost, how much decking has rotted and how much of the deck gets self adhered underlayment, are invisible when the bid is written. Every contractor knows this. Almost none put it on the page.
So the homeowner gets three PDFs that all say tear off, install, haul away, and three totals. They pick the smallest, because you gave them nothing else to compare. That is not a price objection. It is a documentation failure wearing one. The six moves below all do the same thing from different directions: they put something checkable on your proposal that the cheap bid cannot include without ceasing to be cheap.
The trap: being right is not the same as being checkable
This is the part every roofing marketing blog misses, and there is a public case study of it. In a thread on r/Roofing titled "FL Hip Roof Quote Discrepancy: $22k vs $28k. The expensive guy refuses to do Full Peel & Stick (says it 'won't breathe'). Is he lying?", a homeowner in central Florida laid out two bids for Owens Corning Duration shingles on a 45 square hip roof. Quote A was $21,900 including gutters and full peel and stick over the entire deck. Quote B was $27,700 including gutters and peel and stick on the perimeter only, with synthetic underlayment across the field.
The homeowner's read was damning: "Company A is giving me better materials (Full SWR) for $6,000 less. Is there any reason to even consider Company B?" He labelled the expensive contractor's explanation "The 'Breathing' Lie" in his own headline.
Here is the problem. The expensive contractor was right.
The top reply, with 38 upvotes, explained that covering the whole deck in peel and stick creates a vapor barrier that requires proper ventilation to avoid condensation, and that Owens Corning requires ventilation for its extended warranties, so an unvented install "will void the moment the new shingles get installed." The second highest reply told the homeowner to "go with the one that knows WTF they are talking about." Several commenters noted a hip roof rarely has enough ridge to ventilate properly in the first place.
Watch out
The contractor with the correct technical answer lost the argument in public, in front of a hundred and twenty comments, because he delivered it as an assertion in a sales call instead of as a document. The homeowner's own summary of that appointment: "I wasn't prepared to listen to a 90 min sales pitch and be left empty handed this morning."
Ninety minutes of talking, nothing to leave behind. Another commenter dismissed the bid in one line: "Ultimately this dudes writing estimates on paper. Probably not gonna make it through the next 5 years."
That is what losing on price looks like from the inside. It is almost never a homeowner who understood your value and saved money anyway. It is a homeowner who could not verify a word either of you said.
Move 1: unit price the decking before anyone asks
The single highest leverage change you can make to a roofing proposal is a decking unit price, printed before the homeowner thinks to ask. Decking is the classic reroof surprise and homeowners are afraid of it. One posted a thread asking how contractors handle surprise costs once the roof gets torn off, describing a bidder who "brushed it off like 'we'll deal with it if it happens'" and another who "gave a rough per-sheet price but wouldn't commit to anything." His verdict on the experience: "still feels like a gamble going in."
A working contractor answered with the whole playbook. He had just torn off a 30 square roof and found 13 sheets of rotten plywood hidden under spray foam and a finished ceiling:
"Since we have a per sheet replacement cost as an addition to our contracts, and documented the damage with photos and speaking to the homeowner immediately when the damage was found, it was a smooth 'you owe X' and they paid us X on top of the base contract. The contractor doesn't just eat the extra costs and there's simply no way to reliably tell until you rip it off. Both parties in any roof replacement would be nuts not to get this spelled out beforehand and I wouldn't sign with a contractor that doesn't specify."
Note the last clause. A contractor who does not specify is disqualifying himself, not dodging a hard conversation.
The homeowners agreed loudly. One wrote that vague answers meant "you might actually want to keep looking until you find a roofer who isn't playing games." Another posted the quote language from the job he bought: three sheets of OSB and one dumpster included in the base price, then $100 per extra sheet of OSB, $6 per linear foot for 1x6 and 1x8, $8 per linear foot for 1x10 and 1x12, and $50 per additional square of shingles. He did end up paying more. His verdict: "Wasn't fun paying more, but it wasn't a surprise."
Rates quoted in that thread run $65 to $150 per sheet installed. Put yours on the page with the allowance included in the base price, plus the worst case arithmetic: what full sheathing replacement would cost, so the homeowner sees the ceiling of their exposure instead of imagining it. You have now done something the cheap bid cannot copy without becoming your bid, because a lowballer's model depends on decking staying an unpriced surprise he can bill against later.
If the same objection kills bid after bid, the problem usually starts upstream of the estimate. Pavado builds the lead flow and the CRM that tracks which sources produce full price replacements instead of price shoppers, so you stop paying to argue with people who were never going to buy.
Move 2: put dollars per square on the page
Homeowners already convert your total into a rate. Do it for them and control the framing.
In that same Florida thread a contractor did the math in public. Backing the gutters out, he put the cheap bid at roughly $370 per square: "That is a very low price. They may be slow and just trying to keep their crews busy and breaking even on paper, but the company isn't making any money (profit) at that price. Could be a really good deal for you or it could be evidence that the company is in financial trouble." He put the expensive bid at about $520 per square and called it "a fair price that allows the company to make some profit and stay financially viable."
By the numbers
The most persuasive defense of the higher bid in that thread was not made by the contractor who submitted it. It was made by a stranger doing division. A lump sum cannot be reasoned about. A rate can.
Publishing your rate makes the cheap bid's number the thing that needs explaining. At $370 per square in 2026, somebody is absorbing the material increase, skipping the permit, paying a crew below market, or planning on change orders. The homeowner does not need you to accuse anyone. They need the arithmetic and the ability to ask the other guy about it.
Move 3: name the code, do not assert the expertise
Every roofing contractor says the other guy cuts corners. It is background noise. What cuts through is a citation.
Go back to the peel and stick argument. One commenter asserted full deck coverage was "an absolute code requirement" in coastal Florida. An inspector corrected him: "It's not an absolute requirement. It is one of the options the code provides." Two industry people publicly contradicting each other about the code, in front of the buyer.
That is the fog your proposal has to cut through, and one tool does it. Name the code section that applies in that jurisdiction, state which compliance option you selected, and say why for that roof. On a hip roof with limited ridge, that means writing down your intake and exhaust net free area, the ventilation method, and the warranty condition it satisfies. The moment your bid names a code section and a warranty condition, the homeowner has a question they can take to the other two bidders. Most will not have an answer. You have sold nothing and already changed the shortlist.
Same logic for the certification you are underusing. GAF Master Elite status is held by fewer than 2 to 3 percent of US roofers, and the 50 year Golden Pledge warranty covering materials and workmanship can only be sold by a Master Elite contractor. Nobody cares about the badge on your truck. They care that one of the three bids can produce a warranty the other two are not permitted to offer.
Move 4: when a competitor waives the deductible, cite the statute
This is the roofing specific move with no equivalent in any other trade, and most owners handle it by complaining rather than using it. If a storm chaser tells your prospect he will cover their deductible, he is proposing a crime, and in most storm states there is a statute with a number.
Texas House Bill 2102 took effect September 1, 2019. The Texas Department of Insurance is blunt about the mechanism: "One selling point bad contractors often use is offering to waive or absorb the homeowner's deductible. The contractor then cuts corners, uses lower quality products, or inflates the bill sent to the insurance company to cover the difference." Violators face up to a $2,000 fine and six months in jail. Then Commissioner Kent Sullivan put it in words you can hand a homeowner verbatim: "Roofers who waive deductibles are cutting corners. Take your business elsewhere."
Colorado went first. Senate Bill 38, codified at C.R.S. 6-22-101 to 6-22-105 and signed in 2012, makes paying, waiving, or rebating a deductible a Class 2 misdemeanor carrying 3 to 12 months imprisonment and a $250 to $1,000 fine. Florida addresses it under section 817.234, Minnesota under Statute 325E.66.
Colorado's law does something almost no contractor exploits: it specifies what a compliant roofing contract must contain, including surety and liability carriers, a 72 hour rescission clause with full deposit refund, a written statement that the contractor cannot waive the deductible, and payments held in trust until materials are delivered.
Tip
Build that list into your contract in every market you serve, whether or not your state requires it, and put a one page summary in front of the homeowner. Then ask them to look for the same clauses in the other two contracts. You are not attacking a competitor. You are handing over a checklist and letting the paperwork do it.
The National Insurance Crime Bureau estimates insurance fraud costs the average American family about $300 a year in higher premiums. The homeowner offered a free deductible is being recruited into the thing raising their own renewal.
Move 5: on storm work, your competitor is the carrier's estimate
Sometimes the number you are losing to was not written by a roofer at all.
A homeowner in southeast Iowa posted an adjuster's approval after hail damage: $8,508.98 for a roof measured at 18.35 squares, roughly $464 per square, for architectural shingles. His contractor called the number "incredibly low" and said they "would basically be doing the job for a couple hundred bucks if not free." The homeowner, looking at a simple roof, thought it sounded fine.
You do not win that conversation by talking about craftsmanship. You win it by explaining how the payment works, because most homeowners have never had it explained.
On a replacement cost policy the carrier does not send the full amount up front. The first check is the actual cash value: replacement cost minus depreciation, minus the deductible. The withheld amount is recoverable depreciation, released as a second payment once the work is documented. On an actual cash value policy that depreciation is never recoverable and the homeowner covers the gap. So the homeowner staring at a check thousands below your bid is frequently not underfunded. They are looking at the first of two payments and assuming it is the only one.
So show the claim math on its own page: replacement cost, depreciation, deductible, first check, expected second check. Then price your scope against the carrier's line items rather than the other roofer, documenting every item the adjuster missed, because supplementing the claim raises the approved amount instead of lowering your price. A contractor who can walk a homeowner through their own loss statement is not in a bidding war.
Move 6: use the 2026 calendar, but bring the letter
Material costs give you an honest reason to close, and homeowners are openly suspicious of it, so the lever only works with proof attached.
The increases are documented. Every major asphalt shingle manufacturer, GAF, CertainTeed, Owens Corning, Atlas, and TAMKO, raised prices 4 to 8 percent in spring 2026, effective between March 23 and April 15, on top of earlier increases of 5 to 7 percent. Metal has been hit far harder by steel and aluminum tariffs. Homeowners are paying meaningfully more than in 2024, and the near term direction is flat to slightly up.
Now read how that sounds from the other side of the table. A homeowner collecting bids posted: "Roofer called and said he just spoke with his distributor and they are expecting even more increases. All said and done it may be 30% in the next few months. He wants to get me locked in now and just want to confirm this isn't a sales tactic. I think he's just being transparent."
Note
He wanted to believe his roofer and still went to strangers on the internet to check. Urgency you assert is a closing technique. Urgency with a distributor letter attached is information. Same fact, opposite effect, and the difference costs you one PDF.
Give the price hold a written expiry date and the reason. A number good until a stated date, with the manufacturer notice stapled behind it, beats any discount, and it costs nothing.
What a discount actually costs you
Before you take money off, know what the money is. Residential roofing replacement typically runs a 30 to 38 percent gross margin, with net profit between 5 and 10 percent for most companies and 12 to 15 percent for strong operators. Run that against a real job.
| Scenario | $22,000 job at 8 percent net |
|---|---|
| Net profit as bid | $1,760 |
| After a $2,000 discount | Roughly $240 lost |
| Revenue needed to replace $2,000 of gross profit at 35 percent GP | $5,714 |
| Price cut required | 9 percent |
| Gross profit cut it causes at 35 percent GP | 26 percent |
A nine percent discount removes a quarter of the gross profit and, on typical net margins, turns a small profit into a small loss. You are not buying a job at that point. You are buying the privilege of carrying somebody's risk for free, including the decking you did not unit price.
If you reach for the discount because the calendar is empty, the problem is lead flow, not pricing. We covered that separately in why roofing leads are not converting, and the HVAC version of this problem resolves the same way, with a document rather than a price cut.
The one page checklist
Add these to your proposal template this week. None require a new sales script.
- Decking allowance and unit price: sheets included, dollars per sheet, dollars per linear foot by lumber size, and the worst case full sheathing number.
- Dollars per square, stated alongside the total.
- Underlayment scope and the code section: which compliance option, on which portion of the deck, and why for this roof.
- Ventilation math: intake and exhaust net free area, the method, and the warranty condition it satisfies.
- The warranty you can actually register, with the certification that permits it and what voids it.
- A contract clause summary: deductible language, funds held in trust, rescission rights, surety and liability carriers.
- The claim page on storm work: replacement cost, depreciation, deductible, first check, second check.
- A dated price hold with the manufacturer notice attached.
- Photographs of the defects on that roof, not a gallery of other people's roofs.
If a homeowner puts your proposal next to two others and yours is the only one carrying items one through four, you are not in a price comparison. You are the only bid that describes a job.
The bottom line
The roofing companies that escape price competition are not better at handling objections. They produce a different artifact. Everything in that Florida thread traces to one thing: two contractors described the same roof in language the buyer could not verify, so the buyer used the only verifiable number on either page. Give them more verifiable numbers than the cheap bid can survive, and the cheap bid stops being the same product. That is a template change, not a sales technique, and you can make it before your next appointment.
Sources
- r/Roofing, "FL Hip Roof Quote Discrepancy: $22k vs $28k"
- r/Roofing, "How do you handle surprise costs once the roof gets torn off?"
- r/Roofing, "Is this insurance payout a good rate for roof replacement cost?"
- r/Roofing, "Price increases?"
- Texas Department of Insurance, "New state law cracks down on roof scams" (House Bill 2102)
- Colorado Roofing Association, "Waiving Insurance Deductibles is Illegal in Colorado" (Senate Bill 38, C.R.S. 6-22-101 to 6-22-105)
