How to Read a Roofing Estimate: Gresham Price Guide

How to read a roofing estimate: check it against 14 line items. Roof size in squares, tear-off and disposal, a decking rate, underlayment type, the shingle brand and product line, flashing, ventilation, the permit, the CCB number, both warranties, the payment schedule, change orders and cleanup. Compare bids on how many of those 14 lines are present, never on the total at the bottom.
Three roofing estimates are sitting on your kitchen table, and they are thousands of dollars apart. Nobody ever taught you how to read a roofing estimate. So you have no way to tell which one is complete and which one quietly left work out.
The cheap bid might be cheap because it skipped something you will only discover in a November storm. Or the expensive bid might be padded and you are about to overpay by thousands. There is no obviously safe choice, which is exactly why you are stuck.
Here is the way out. Stop comparing the totals, and compare which line items each bid actually contains.
Then check each one against a real Portland-metro price. That is what the rest of this page gives you, line by line, with Gresham numbers rather than numbers from Florida.
Why do roofing estimates vary so much?

Roofing estimates vary because the bids are not describing the same job. Different square counts, different shingle products and different included scope can put two honest prices thousands of dollars apart.
So the gap between your bids is not proof that someone is cheating you. It is usually proof that nobody wrote down the same job twice.
Your first task is not to judge the prices. It is to make the three bids describe one job.
The three things that must match before two bids are comparable
Squares, shingle product and scope. If any of those three differ, the totals are not comparable and no amount of staring at them will help.
Check the roof size first. Then check that both bids name the same shingle line. Then check that both include tear-off, disposal, flashing and ventilation rather than assuming them.
And be suspicious in both directions. A high bid is not automatically the thorough one. It can be padding, a busy contractor pricing you away, or a salesperson working on commission. Completeness is the test, not price position.
Where a roofer can honestly be cheaper, and why the per-square number your friend quoted is not an Oregon number
Some savings are real and some are borrowed from you. A smaller overhead, an owner on the crew or a slow-season slot are honest reasons to be cheaper. Misclassifying roofers on the workers’ compensation policy, paying labor off the books or installing factory-second shingles are not.
You cannot audit any of that from a piece of paper. You can ask for the shingle product name in writing, ask whether the crew is employed or subcontracted, and ask for a certificate of insurance. Honest answers arrive quickly.
Then there are the numbers people trade online. Homeowners repeat figures like $550 per square from an adjuster friend, $300 to $400 per square in the southeast, or $500 per square in Denver.
None of those transfer to the Portland metro. Labor rates, disposal fees and permit costs are all local. For the total-cost picture here, we broke it down in our guide to roof replacement cost in Portland.
Why is my roofing estimate so high?
Sometimes the answer is geography. Interstate Roofing publishes a Gresham replacement range of $14,400 to $17,000 against $9,600 to $13,000 for Portland, on the same cost calculator page. Same company, two different numbers.
Drive time, lot access, steeper hillside pitches in southwest Gresham and older roof geometry downtown all cost real hours. That is legitimate. What is not legitimate is a number with nothing itemized underneath it. The Oregon Construction Contractors Board lists a very low estimate and resistance to a written contract among its published warning signs for homeowners.
This applies when you are comparing full replacement bids on a similar house. It does not apply when one bid is for a repair and another is for a replacement, which is a different decision entirely and covered in roof repair vs replacement in Oregon.
What should a roofing estimate include? The 14-line checklist

A complete roofing estimate names 14 things. Print this table, sit it next to your bids, and tick off what each one actually contains.
| Line item | What its presence proves | Typical Portland-metro figure |
|---|---|---|
| 1. Roof size in squares | Somebody measured your roof instead of guessing from the driveway | A quantity, not a price. Bids should agree within about one square |
| 2. Pitch and number of stories | The labor line is priced for your roof, not a generic one | A quantity. Steep pitch and two storeys raise labor legitimately |
| 3. Tear-off and disposal | The old roof is coming off and the debris is paid for | $1.00 to $1.75 per sq ft |
| 4. Number of existing layers | The disposal figure is based on real weight | A quantity. Each extra layer adds disposal cost |
| 5. Decking replacement rate | Rotten plywood will not become a surprise invoice | No fixed total. Get the per-sheet rate in writing first |
| 6. Underlayment type | You know whether you are getting synthetic or 15-lb felt | Inside the installed price. The type must be named |
| 7. Valley and penetration membrane | The wettest parts of the roof get the sealed layer | Inside the installed price. Expected here, though not code-mandated |
| 8. Shingle manufacturer and product line | You can look up the exact shingle and its warranty | Architectural asphalt runs roughly $6 to $8 per sq ft installed, and about $7 to $8 in the Portland metro |
| 9. Starter strip and ridge cap | The edges and the peak use real components, not cut-up field shingles | Inside the installed price. Must be named, not assumed |
| 10. Flashing: step, counter and drip edge | The joints are being rebuilt rather than reused | No fixed range. The bid must say new |
| 11. Pipe boots and penetrations | Every hole in your roof was counted | No fixed range. Count them yourself and compare |
| 12. Ventilation, exhaust and intake | The attic gets a balanced system, not just a ridge vent | No fixed range. Both halves must appear |
| 13. Permit and inspection | The job is going through the City of Gresham legally | Roughly $317 to $457 on a $15,000 to $25,000 job, plus a 12% state surcharge and a $130 pre-re-roof inspection |
| 14. CCB number, warranties, payment schedule, change orders, cleanup | You know who you hired and what happens if something goes wrong | No fixed range. Ask for all of it in writing |
Where a figure is given above it comes from a published source: tear-off from SquareDash’s 2026 tear-off cost data, installed shingle pricing from This Old House and Jobin Roofing’s Portland figures, and permit costs from the City of Gresham’s own fee schedule. Where no defensible published range exists, the table says so instead of inventing one.
What to look for in a roofing estimate when you only have five minutes
Check four lines: squares, tear-off and disposal, the shingle product name, and the permit. Those four separate a real estimate from a preprinted page with a total written in by hand.
If all four are present and specific, the bid is worth reading properly. If two or more are missing, you are holding a sales document rather than an estimate.
A missing line is not always a missing job
Plenty of good roofers bundle items into an installed price rather than listing them separately. That is normal. The problem is not bundling, it is being unable to tell what was bundled.
So ask, and ask in writing. “Is new step flashing included, yes or no?” takes one text message to answer. A contractor who will not answer it in writing has told you something useful.
Squares, tear-off and decking: how to check the three lines every other price is built on

Roof size, tear-off and decking decide the size of every other number on a roofing estimate. If the squares are wrong, the material, labor and disposal figures are all wrong with them.
What to do when two bids disagree on your roof size
A square is 100 square feet of roof surface. It is the unit the whole industry prices in, and it already accounts for pitch, so it is bigger than your home’s floor area.
Bids should land within about one square of each other. When they do not, one of them measured and one of them guessed. Ask each contractor how they got their number: a drone flight, a satellite report, or a tape measure on the roof.
Then ask the outlier to show their work. A roofer who measured can explain the number in thirty seconds. One who cannot will usually revise it.
Tear-off and disposal: why the layer count is a price driver
Every existing layer that comes off is weight somebody pays to haul away. So the bid needs to say how many layers are on your roof now, not just that a tear-off is included.
Removal runs $1.00 to $1.75 per square foot before disposal fees. A second layer roughly doubles the weight of that job. It matters most on a house that has already been re-covered once instead of stripped, which is common in the older parts of Gresham.
Whether to tear off or cover over is a separate decision, and we cover it in roof overlay vs tear off.
What are the common hidden costs in a roof estimate?
The big one is decking. Nobody knows what the plywood under your shingles looks like until the old roof is off, so no honest bid can give you a fixed decking total.
What an honest bid can give you is a per-sheet rate agreed in advance. That turns a surprise into arithmetic. On an older Gresham home some decking replacement is realistic rather than a scare tactic.
Its absence is the red flag, not its presence. A bid with no decking line has not removed the risk, it has just moved the conversation to the day the roof is open and you have no leverage. This applies to any tear-off. It does not apply to a straight repair, where the deck is already exposed and can be priced exactly, as in our roof repair cost breakdown.
Underlayment, shingles and ventilation: what a Gresham estimate has to name, not just describe

For these three lines the test is naming, not pricing. A bid that says “quality underlayment” and “architectural shingles” has told you nothing you can verify.
Synthetic or 15-lb felt, and why seven months of rain decides it
Gresham’s wet season runs about 6.9 months, from mid October to early May, with November averaging 17 wet days. Sustained saturation, not ice and not hail, is the hazard your roof is being built against.
That is the honest argument for synthetic underlayment over felt here, and the reason a bid copied from a national template prices for the wrong weather.
Ask which product the bid specifies by name. If it just says “underlayment”, you cannot tell whether you are getting a modern synthetic sheet or the cheapest felt on the truck.
The shingle line must name a manufacturer and a product line
“Architectural shingles” is a category, not a product. You need the brand and the specific line, because that is what determines the warranty and what you are actually comparing between bids.
With the name in hand you can look up the wind rating and the warranty terms in five minutes. Without it, two bids quoting “architectural” can be hundreds of dollars per square apart in real material cost.
There is a timing reason to care this year. Asphalt shingle manufacturers raised prices between 10% and 18% during 2026, so an older quote you are comparing against is no longer a fair benchmark.
Ventilation is a rated quantity, so you can check it
Oregon’s residential code sets attic ventilation at a minimum net free area of 1/150 of the vented space, relaxed to 1/300 only with a vapor retarder and correctly split intake and exhaust.
A bid with a ridge vent and no soffit intake line is half a system. Exhaust without intake does not move air, and in a wet climate that shows up as attic moisture rather than as a leak.
Flashing, drip edge and valleys: the estimate lines that decide whether the roof leaks in November

Roofs rarely leak in the middle of a shingle field. They leak where the roof meets something else: a wall, a chimney, a vent pipe, a valley. These are the lines a cheap bid trims quietly.
The word to hunt for is “new”
Step flashing and counter-flashing should be quoted as new material. Reusing old flashing saves the contractor a few hundred dollars and hands you a twenty-year roof with ten-year-old joints in it.
It is the quietest saving available on a roofing bid, because from the ground the finished job looks identical either way. This applies to any chimney, skylight or wall intersection. It does not apply to flashing installed within the last few years and confirmed sound on inspection.
Drip edge is Oregon code, not an upsell
The Oregon Residential Specialty Code requires drip edge at eaves and rakes, mechanically fastened at no more than 12 inches on center, with underlayment over it at the eaves and under it at the rakes.
So if a bid lists drip edge as an optional extra, that is worth a question. It is a code requirement being sold back to you.
Valleys and pipe boots should name a method, not just a word
Valleys carry more water than any other part of the roof. The bid should say how they will be built: open metal, closed cut, or woven. On the shaded north slopes around Gresham Butte those valleys stay damp for months.
One clarification worth having, because plenty of national guides get it wrong. An ice barrier is only required by Oregon code where January averages 25°F or colder, or where there is a local history of ice dams. Gresham is neither.
A self-adhering membrane in the valleys and around penetrations is still good practice here. But it is a manufacturer and best-practice item, not a legal requirement. Any contractor telling you Oregon code forces it in Gresham is selling, not quoting.
Pipe boots are simpler. Count the vent pipes on your roof, then count the boots on the bid. The numbers should match.
Permits, licence, warranty and payment: the lines that are not about roofing

The permit, licence, warranty and payment lines say who you are hiring and what happens if something goes wrong. They are also where a Gresham bid gives itself away as one written by somebody who does not work in Gresham.
Gresham issues its own permits, and the state adds 12% on top
The City of Gresham runs its own Building Division and Permit Center. It does not hand your re-roof to Multnomah or Clackamas County. A bid whose permit line assumes a county process was not written for your address.
The cost is knowable in advance. Gresham’s fee schedule charges $135 for the first $2,000 of job valuation plus $14 for each additional $1,000, so a $15,000 to $25,000 re-roof lands roughly between $317 and $457.
Then the state adds a mandatory 12% surcharge on the permit fee, and a pre-re-roof inspection is charged separately at $130. School and Metro construction excise taxes can apply on top of that.
So “permit: included” with no figure is not the same as a priced permit line. Ask for the number.
One more thing to watch. Gresham’s permit application requires the contractor’s CCB licence number, and in Oregon only licensed contractors can pull building permits. If a bid suggests you pull the permit yourself, it is quietly moving you into the legal position of the employer. That is a cost, not a convenience.
CCB number, warranties and payment schedule: the three lines you can verify in a minute
The CCB number should be printed on the bid, and the free state lookup tells you the licence status, the bond, the insurance and whether the contractor is certified for pre-1978 lead-safe work. Two minutes, no phone call. We walk through the rest of the vetting in how to choose a roofer.
Warranty is two separate things and the bid should name both: the manufacturer’s warranty on the shingles, and the contractor’s own workmanship warranty with its length in years. One does not cover the other.
The payment schedule and the change-order rule belong in writing before work starts. Oregon requires a written contract for residential work over $2,000, so this is not an unusual thing to ask for. Cleanup, including a magnetic nail sweep, should also appear as a line rather than as a promise.
How to compare three roofing bids without overpaying
Lay the bids side by side and score them on presence, not on price. The bid with the most complete lines is the one you can trust the total of.
The scorecard
Fill this in. One tick per line item that is actually named on that bid.
| Line item | Bid A | Bid B | Bid C |
|---|---|---|---|
| Roof size in squares stated | |||
| Pitch and stories stated | |||
| Tear-off and disposal included | |||
| Existing layer count stated | |||
| Decking rate per sheet stated | |||
| Underlayment type named | |||
| Valley and penetration membrane named | |||
| Shingle brand and product line named | |||
| Starter strip and ridge cap named | |||
| Flashing quoted as new | |||
| Pipe boots counted | |||
| Ventilation: exhaust and intake | |||
| Permit priced, not just “included” | |||
| CCB number, warranties, payment schedule, cleanup | |||
| Total ticks |
Now read it. If the cheapest bid has the fewest ticks, you have found your answer, and it is not a bargain. If the most expensive bid has no more ticks than the middle one, you have found that too.
Where a bid is missing a line, do not assume the worst. Send one message asking for it in writing, then re-score. The bid you want is the one that answers fastest and most specifically, which is usually also the one that measured your roof properly.
Roofing contract red flags
Three behaviors should stop the conversation. A same-day signing bonus. A refusal to itemize until you commit. No written contract at all.
None of this is a matter of opinion. The Oregon CCB publishes “never agree to buy services on the spot” and “resistance to a written estimate and contract” among its consumer warning signs. Oregon law also gives you a one-day right to cancel a residential contract under ORS 701.310.
So you are allowed to take the bids away and read them. Anyone who makes that feel difficult has answered a question for you.
Conclusion: how to read a roofing estimate without guessing
Knowing how to read a roofing estimate comes down to one habit: score the lines, not the total. Fourteen items decide whether a bid describes a whole roof or a partial one, and the price at the bottom cannot tell you which you are holding.
Check the squares first, then the tear-off, then the shingle product name, then the permit. Get anything missing in writing before you sign.
In Oregon you also have a one-day right to cancel, so nobody has the right to rush you. If you would rather talk it through than score it alone, get in touch.
Frequently asked questions
Should a roofing estimate be free?
Yes, for a standard residential replacement or repair estimate in the Portland metro. Most local contractors, including Fox Roofing, provide a free written estimate after inspecting the roof.
Paid assessments exist, but they are a different product: a formal roof inspection report for a property sale or an insurance dispute. If a contractor charges for a routine sales estimate, ask what you are getting that a free one would not include.
How long does it take to get a roofing estimate?
The visit takes 30 to 60 minutes for a typical home. The written estimate should follow within a few business days.
A number quoted on the spot, before anyone has been in the attic or measured the roof, is a sales tactic rather than an estimate.
Does a roofing estimate include gutters?
Usually not, unless it says so. Gutter replacement, gutter guards and downspout work are separate line items and are often quoted separately.
Ask specifically whether gutters will be detached and reset during the tear-off, because that work has to happen either way and somebody is paying for it. The same goes for any roof repair work quoted alongside a replacement.
Why is my roofing estimate higher than my insurance payout?
Insurance pays for the damage it accepted, not for the roof you want. Code upgrades, better materials and undamaged sections you choose to replace are not covered by the claim.
Ask your contractor for a line-by-line comparison between the claim scope and their estimate. The difference should be explainable item by item, not as a lump sum.
What questions should I ask a roofing contractor?
Four cover most of it: what is your CCB number, is your crew employed or subcontracted, what is your workmanship warranty in years, and what happens if you find rotten decking.
We go deeper into vetting in our guide to choosing a local roofer.
Why will a roofer not give me the detailed estimate until I am ready to sign?
There is no good reason. Oregon requires a written contract for residential work over $2,000, and the Oregon CCB lists resistance to a written estimate as a warning sign for homeowners.
You are entitled to read the full scope before committing to it. A contractor who withholds the detail until the pen is in your hand is managing your decision, not earning it.



Leave a Reply
Want to join the discussion?Feel free to contribute!