How do you compare roofing estimates line by line?
Put the bids side by side and compare scope first, price second. A bid is a list of work, so a lower total often means fewer lines. Match each item below across all three before you look at the bottom number.
The State of California's contractor board advises at least three written bids, based on identical plans, specifications and scope of work, and warns not to automatically accept the lowest one. A bid well below the others can signal a mistake, omitted work or corners cut.
| Line | What to compare |
|---|---|
| Tear-off | Layers removed, disposal included |
| Deck | Inspection, per-sheet price for repairs |
| Underlayment | Type and where it goes |
| Flashing | Replaced or reused, at walls, chimneys, skylights |
| Drip edge, vents | Replaced, named |
| Materials | Brand or product line, color, grade |
| Permit | Who pulls it |
| Start and finish | Dates in writing |
| Payment | Schedule and down payment |
| Warranty | Terms in your contract in writing |
| Cleanup | Daily and final |
What scope gaps hide inside a low bid?
The usual gaps are the parts you cannot see from the ground. Check each:
- Layers: a bid that skips tear-off may be an overlay in disguise.
- Deck: no allowance for rotten sheathing means a change order later.
- Flashing: reused flashing at chimneys and walls is a common cause of repeat leaks.
- Drip edge and vents: often left out of cheap bids.
- Disposal and cleanup: sometimes extra.
- Permit: left blank means a dispute later.
The CSLB roofing guide warns that if the contract does not say who gets the permit, you may be held legally responsible for a missing one. The estimate should state who pulls it, and you should confirm.
What should the contract and payment terms say?
A good estimate turns into a contract with specifics. CSLB's checklist covers scope including cleanup, materials named by quality and brand, total price and payment dates, start and finish dates, who handles permits, the contractor's name, address and license number, written change orders, and your right to cancel.
On money, the down payment on a California home improvement contract is capped at $1,000 or 10% of the contract, whichever is less (Business and Professions Code section 7159.5). CSLB also advises not paying in cash and not letting payments get ahead of the work. One Alameda customer was asked to pay nothing until the finished work had been inspected, which is one customer's experience and not a rule.
Get change orders in writing. On one Alameda job, aged decking was found at tear-off and explained as a change order before work continued, the way it should happen.

What does a good estimate look like in practice?
It is detailed and in writing. Customers in Alameda have described detailed written quotes, estimates by the next day, and aerial photos on steep or multi-roof properties. Photos help you check the bid against the roof, and they show what the estimator saw.
A good estimate also says what it does not cover. If the deck turns out rotten, how is it priced? If a vent is cracked, who fixes it? An estimate that answers those questions before the work starts saves arguments after.
How do you read a materials line?
Vague materials lines hide the biggest price gaps. "Architectural shingles" or "synthetic underlayment" can cover products at very different grades. CSLB's contract page says the contract should list specific materials by quality, quantity, brand and model, so ask each roofer to name them.
Compare these items across all bids:
- Shingle product line and color, with the manufacturer's name
- Underlayment type and whether it covers the whole deck or only the eaves and valleys
- Flashing material and gauge, and whether it is new or reused
- Vent type and count, drip edge and ridge cap
- Nails or fasteners, if the bid names them
If one bid names these and another does not, you are not comparing like with like. A short call to the unnamed bidder usually brings the missing lines.
What does a comparison sheet look like?
Build it on one page. List the roofers across the top and the lines down the side, then fill in the cells from the written bids only.
| Line | Bid A | Bid B | Bid C |
|---|---|---|---|
| Layers removed | |||
| Deck allowance and per-sheet price | |||
| Underlayment named | |||
| Flashing replaced or reused | |||
| Permit: who pulls it | |||
| Start and finish dates | |||
| Payment schedule | |||
| Warranty terms in contract | |||
| Total |
Fill in the total last. A blank cell is a question for the roofer, and an answer that exists only by phone does not count.

What should the contract say before you sign?
Get a written contract. CSLB says a contract is required for home improvement work over $500 in labor and materials, and it should state the work, the price, payment timing, who obtains the building permits, the completion date and the contractor's name, address and license number. Changes belong on a written change order that is signed and becomes part of the contract.
Home improvement contracts also carry a right to cancel. CSLB says you may cancel within three days of signing, and the notice in your contract spells out the dates. Read that page and the notice before you sign, and ask about any emergency exception if your roof is leaking now. Check the license number on the contract at cslb.ca.gov, which the verification guide covers step by step.
How do you get bids you can actually compare?
Give every roofer the same facts, and ask for the same format back.
- Walk each estimator around the roof and the attic, and point out every leak and every area of concern. A roof inspection with photos gives all of them the same facts.
- Say whether the quote should include gutters, skylights, vents and fascia, so nobody prices a different job.
- Ask each to list the work in numbered lines with materials named.
- Ask how deck repairs, extra layers and hidden problems are priced if they turn up.
- Ask for dates, payment terms and the warranty terms in writing.
Then build one sheet with the roofers as columns and the lines as rows. Gaps show up as blanks, and a blank is a question to ask before you sign. If a roofer will not put something in writing, treat it as not promised.
When is a second opinion worth getting?
When a quote is much higher than expected, when it pushes a full replacement without showing why, or when the numbers do not add up. A second opinion on a patch quote that seemed too high told one Alameda customer it was too high. One Alameda customer was also told to wait rather than replace.

For context, one 2026 Oakland benchmark puts a 2,286-square-foot composition shingle roof at $18,377 to $24,864 (Build-folio). Use a range like that to sense whether a bid is in the neighborhood, not to set a price. Only the signed estimate binds anyone to a price.
How do you decide?
Pick the bid that is clear, complete and fair, not the cheapest one. Check the license on the Contractors State License Board site before you sign, and ask the roofer to confirm the permit and warranty terms in the contract. If you want another written estimate to compare, call us or ask for a free estimate on your Alameda or East Bay home.

