Honest Advice
7 signs a home repair quote is overpriced
By Ken HovenUpdated April 20267 min read
Most overpricing isn't obvious. A quote for $4,200 on a water heater replacement looks fine until you realize the fair range is $1,900. A $3,500 electrical panel quote looks fine until you learn the going rate in your metro is $2,300.
Here are the seven specific patterns we look for.
1. The quote total is more than 30% over the fair range
The fastest way to spot overpricing: look up the job on two or three cost-guide sites, take the median, and compare. If your quote is 30%+ over that median without a clear reason, ask why.
Every common home repair has published fair ranges on HomeGuide, Fixr, Angi Cost Guide, and similar. These aren't authoritative — they're scraped from contractor reporting — but they're a useful sanity check.
- Water heater replacement: $1,350–$2,400 (our cost guide)
- Toilet replacement (hired): $340–$600 (our cost guide)
- Electrician hourly: $90–$150/hr (our cost guide)
- Plumber hourly: $130–$180/hr (our cost guide)
- Garbage disposal replacement (hired): $230–$500 (our cost guide)
If a quote is 20% over the upper end, ask why. If it's 50% over, the answer better be specific.
Legitimate reasons for a higher price: unique access (top-floor apartment, crawlspace), difficult code upgrades, historic preservation requirements, utility coordination, rural travel distance, specialty licenses (master backflow, gas, medical gas), or remediation of prior DIY work.
Not legitimate: "This is a premium service." "Our warranty is better." "Our trucks are nicer." These don't double the price.
2. Materials markup over 75% above retail
Contractor markups on materials are normal and expected — typically 20–50% over wholesale, which often matches or slightly exceeds retail pricing. That's how overhead gets paid.
Markup of 75% or more over retail is a flag. Example: a $180 Moen faucet appearing on your invoice at $320 is a 78% markup. That's padding.
Ask for itemized materials. Legitimate contractors will provide this. "Materials and labor combined" proposals are harder to scrutinize but you can still push back: "Can you separate materials from labor on the proposal?" A contractor who refuses is telling you they're padding.
You can also compare: write down the brand and model of every material on the proposal, then check retail pricing at Home Depot, Ferguson, or Amazon. If the contractor's price is way over retail, that's room for negotiation.
3. Vague, all-inclusive language
"Complete replacement with all necessary materials and labor — $4,500."
Translation: there's no line-item scrutiny possible, which means no way to argue any specific cost. Vague pricing is either laziness or intentional opacity. Either way, insist on itemization.
A proper proposal shows: unit costs, labor hours or labor flat-rate, permit fees as a pass-through line item (marked as such), disposal/haul-away, any code upgrade items, warranty terms.
4. "Code upgrades" that sound like scope creep
Code upgrades are real. Expansion tanks on water heaters, seismic straps in earthquake zones, GFCI requirements on any outlet within 6 feet of water, AFCI requirements on bedroom circuits — these are code-mandated and appear legitimately on quotes.
What's not legitimate: vague "code upgrades: $600" without specification. Ask what code is being upgraded and what specific items are being replaced or added.
Real code line items have specific products, quantities, and references (e.g., "Expansion tank ET-4, per UPC 608.2, $120"). Fake code line items are round numbers without specification.
5. Refusal to discuss specific line items
A contractor should be able to explain what each line of the proposal represents. "Why is the labor line $1,200 on this?" should get a real answer — hours × rate, what work those hours cover, who's doing it.
Defensiveness, vague answers, or "that's just how we price it" are flags. A professional contractor wants you to understand what you're paying for because it protects them from change-order disputes later.
6. The "finance option" that raises the total
Some contractors offer in-house or third-party financing. Pay attention to the total cost.
If the cash price is $3,500 and the "financed price" is $4,200 with 18 months of payments, the actual interest rate is ~14%. That's disclosed or it's not — federal law requires disclosure, but some contractors bury it. If the "finance price" is 20% over the cash price and the disclosed APR doesn't add up to that, do the math yourself.
A legitimate financing offer shows the cash price, the financed price, the APR, and the total of payments clearly.
7. Pressure and urgency tactics
"This price is only good today." "I have another job starting Monday, so I need a decision now." "The materials are on sale this week."
Legitimate contractors don't operate this way. Scheduling is flexible, prices are stable for a reasonable window (usually 30 days on a proposal), and materials costs don't fluctuate 20% week-to-week on standard residential supplies.
Pressure tactics are designed to short-circuit the three-quote comparison process. That's the tell.
How to push back without burning the relationship
You don't have to be adversarial. Simple scripts work:
"I have two other quotes in the $X–$Y range. Can you help me understand what's different about yours?"
This is professional and gives the contractor a chance to explain the delta. If they can, you've learned something. If they can't, they'll often adjust.
"Can you itemize the materials on the proposal so I can compare?"
Legitimate contractors will. "We don't do itemized" is a signal.
"Is the permit included? Can you put the permit number on the proposal once you pull it?"
This flushes out contractors who plan to skip the permit. Their answer reveals a lot.
"Can you break out the code-upgrade items so I can see what's specifically being added?"
Tests whether the "code upgrades" line is real or padding.
The nuclear option
If a contractor is clearly overpricing and won't adjust, you don't owe them politeness but you also don't need conflict. Say: "I appreciate the time you took on the quote. I'm going with a different contractor for this one — thanks." No need to justify or argue.
Keep their card. If they later send follow-up emails trying to "win the bid back" at substantially lower numbers, that itself tells you the original quote was padded. Don't use them on future jobs.
Related
Sources
Frequently asked
- How much 'markup' over fair price is normal?
- 10–20% over the mid-range reference price is normal for an established contractor with overhead. 25–40% over might be defensible if the contractor has exceptional reviews, faster scheduling, or better warranty. 50%+ over is almost always overpricing, not premium service.
- Is it OK to tell a contractor you have other quotes?
- Yes. Most professional contractors expect this and won't take offense. 'I have two other quotes in the $X range — can you help me understand what's different about yours?' is a reasonable conversation. A contractor who reacts badly to that question is telling you something.
- Should I always pick the lowest quote?
- No. The lowest quote is often missing code-required items that will show up as change orders, or is from a less-experienced contractor whose work you'll pay someone else to fix. The middle quote from the most transparent contractor is often the best value.
- What's a 'soft save' from a contractor I'm declining?
- When you tell a contractor you're going with another quote, sometimes they'll offer to 'meet or beat' it. Be cautious — a contractor who can cut 20% on the spot was either padding the original or plans to recoup it with change orders. Either way, not a great sign.
Related
The Home Repair Cost Calendar
One task list for every month of the year — with real 2026 cost ranges for each. Free PDF, no email required. Or subscribe for seasonal reminders when the next month's tasks come due.
One email a week. Seasonal reminders + one contractor-vetting tip. No spam. Unsubscribe anytime.
