Ultra Prompt

← All articles

How to write a roofing bid that wins when you keep losing on paper, not price

You priced the tear-off right. Your materials are solid. Your crew shows up clean and on time. And the homeowner still picked the other guy. Not because he was cheaper. Because his bid read better. That's the problem most roofers never fix, because they keep assuming the loss was about the number.

It wasn't. It was about the paper.

Homeowners compare bids the same way they compare anything online: they scan for clarity, look for specifics, and mentally reward the contractor who made the decision feel easy. A bid that answers their questions before they ask them wins. One that makes them work to figure out what they're getting loses, no matter how competitive the price.

What follows is a four-section framework, backed by copy-and-paste AI prompts, that rewrites your proposal from the homeowner's perspective. No price changes required.


What the homeowner is actually comparing

When three bids land in a homeowner's inbox, here's what happens: they open all three, skim the first section of each, and immediately rank them by how easy they are to understand. The one that's clearest at the top gets read fully. The other two get scanned for price and then closed.

The first thing they're scanning for is scope. Does this contractor actually know what they're going to do? Are every roof area, every flash point, every section of deck work called out explicitly? Vague scope language reads as vague thinking, and homeowners don't sign contracts with contractors they don't trust to know the job.

Right after scope, they check materials. Brand names, warranty periods, underlayment specs. If your bid just says "architectural shingles," you're asking the homeowner to trust you on faith. If it says "Owens Corning Duration shingles, Limited Lifetime warranty, synthetic underlayment with 10-year coverage," you've answered the question before they had to ask.

Price comes third. By the time they get to your number, they've already decided whether they trust you. Win the first two comparisons and the price conversation gets a lot easier.

Here's the prompt that fixes fuzzy scope language fast:

Take this raw bid list and expand it into a homeowner-friendly scope table that includes square footage, material type, warranty period, and any required prep work. Write it in plain language a non-roofer can read in under 60 seconds.
Before:
Shingles – 12 yr.

After:
Architectural shingles (Brand X) – approx. 33 sq ft per bundle, 12-year manufacturer warranty, UV-protected underlayment included. Existing shingles removed before installation.

That single expansion answers four questions the homeowner was going to ask anyway. Answer them first, on paper, and you look like the most prepared contractor in the stack.


Scope, materials, timeline, exclusions, in that order

Order matters more than most contractors realize. The sequence your sections run in tells the homeowner how you think. A bid that starts with exclusions makes them defensive. One that leads with scope and builds logically to exclusions makes them confident.

The right order mirrors the homeowner's own decision process:

  1. Scope — What exactly are you doing?
  2. Materials — What are you doing it with?
  3. Timeline — How long will it take?
  4. Exclusions — What's not included, and why?

Exclusions listed last, with brief explanations, become a trust signal. They show you've thought through the job completely and you're being transparent, not hiding surprises. Listed first, or dropped in without context, they read as defensive fine print.

Reorder the following sections of my bid into Scope, then Materials, then Timeline, then Exclusions. Add a bold heading to each section and one brief explanatory sentence under each heading.
Before:
Timeline – 2 weeks. Exclusions – gutters.

After:
Scope — Complete tear-off of existing roof, install new decking where needed.
Materials — Architectural shingles (Brand X), synthetic underlayment, starter strips, ridge cap.
Timeline — Estimated 10-12 business days, weather permitting.
Exclusions — Gutters and downspouts are not included in this bid; see the optional add-on sheet for pricing.

That reordered version takes the same information and makes it feel like it came from a contractor who has done this a thousand times and knows exactly what the homeowner needs to see. Because the order itself communicates competence.

One more thing on exclusions: they protect you as much as they help the homeowner. A clearly listed exclusion is the difference between a smooth job and a change-order fight. If you want to know how to write change orders that clients actually sign once the job's underway, this breakdown covers the exact language.


Price it so the number makes sense

A raw total sitting at the bottom of a bid is a number without a story. The homeowner sees your figure and has no frame of reference. Is that high? Low? Fair? They don't know. So they do what anyone does when they lack context: they compare it to the cheapest number in the stack and assume yours is overpriced.

Give the number context and you change the conversation.

Two moves that work together: show the cost per square foot alongside the total, and add one sentence that ties the price to something the homeowner already values, like warranty length or crew experience. That one sentence is doing most of the work. It's not a sales pitch. It's an explanation. And explanations reduce friction.

Take the total bid amount and break it down into cost per square foot. Then add one sentence that justifies the price by referencing the material warranty and the crew's experience. Keep the tone professional, not salesy.
Before:
Total Cost: [your total]

After:
Total Cost: [your total] (approx. [your cost per sq ft] per sq ft). This price reflects Brand X architectural shingles with a 12-year manufacturer warranty and installation by a crew with 15 years of combined residential roofing experience.

The number doesn't change. The context does. Now the homeowner isn't comparing your total to the cheaper bid. They're comparing "12-year warranty, experienced crew" to whatever the other bid says, which is probably nothing that specific.

That's how you win on paper without moving the price.

And if the job comes in higher than estimated after the work starts, having this level of specificity in your original bid makes that conversation a lot cleaner. Here's how to handle it if the final bill lands above the estimate.


Close with the next step, not a thank you

"Thank you for considering us" is how most roofing bids end. It's also how most roofing bids get set aside and forgotten.

A thank-you puts the decision entirely on the homeowner with no direction for what happens next. They close the PDF, move on with their day, and the moment passes. If your competitor's bid ends with a clear action, a specific timeline, and a reason to decide now, they capture the moment. You didn't.

The close of a bid isn't a courtesy. It's a conversion. Treat it like one.

Rewrite the closing paragraph of my roofing bid to do three things: (1) propose a specific next step, (2) add a 48-hour decision incentive, and (3) remove all "thank you" language. Keep it direct and professional.
Before:
Thank you for considering us. We hope to hear from you soon.

After:
Next step: Call or text us to schedule your free on-site walkthrough. Book within 48 hours and we'll apply [incentive] to your project. Questions before then? Reach us directly at [phone].

That closing tells the homeowner exactly what to do, gives them a reason to do it now, and makes it easy to reach you. Three things. One paragraph. The "thank you" version does none of them.

Once you've sent the bid, the follow-up matters as much as the close. If you're not sure how to check in without sounding like you're pestering them, this guide on following up on an estimate without sounding pushy is worth a read.


Run it now

The recipe is free. Each link opens the finished prompt with the blanks already named, so you fill in your job and paste the result into the AI you use.

Every letter, bid, and reply for contractors and trades, on one page: Ultra Prompt for contractors and trades.

Ready to level up your prompts?

Ultra Prompt has 1,000+ expert-crafted templates. Stop guessing, start prompting.

Try Ultra Prompt Free
S

Written by Sean

Founder of Ultra Prompt. Building the prompt engineering toolkit I wish existed.