Guides and checklists
How to Read a Contractor Bid and Compare It With Your Estimate
A contractor bid is comparable only when it names scope, quantities and exclusions. How to read one, spot red flags and compare two bids with your estimate.
In this article
A contractor bid can only be compared when it says what is in it. A complete bid lists the scope of work by area, quantities, materials and labor, allowances, exclusions, a payment schedule, a timeline and who pulls permits. To compare contractor bids with each other and with your rehab estimate, line them up by scope, fill the gaps, and only then look at the totals.
What a complete contractor bid contains
A bid (also called a proposal or a contractor estimate) is one contractor's offer to do a defined set of work for a stated price. The price is useless without the definition. Look for these parts:
- Scope by area. Kitchen, baths, roof, electrical, plumbing, HVAC, interior, exterior. Each area lists the work items: "replace 22 squares of architectural shingles, including underlayment and drip edge", not "roof".
- Quantities and units. Square feet of flooring, number of windows, linear feet of countertop. A quantity lets you check the bid against the house and against the other bids.
- Materials vs labor. Either as two columns or at least by naming the material grade ("LVP flooring, 12 mil wear layer"). The same word "flooring" covers a $2 and a $7 per square foot product.
- Allowances. A dollar amount set aside for something not yet chosen (tile, fixtures, appliances). An allowance is a placeholder. If you pick above it, you pay the difference.
- Exclusions. What the contractor will not do: permits, dumpster, appliances, "repairs found after demo". Everything excluded still costs money; it just costs you, somewhere else.
- Payment schedule. A start payment and draws tied to finished stages, not to dates.
- Timeline. Start date, duration, and the order of stages.
- Permits. Who pulls them, who pays the fees, and whether inspections are in the schedule.
- License and insurance. Number, class, and the insurance certificate. Rules differ by state; ask a licensed professional what your state requires.
If a bid is a single number on a letterhead, ask for the breakdown before you do anything else. A contractor who will not break down a bid has told you how the project will go.
Red flags in a contractor bid
None of these is proof of a problem. Each is a question to ask before signing.
- Lump sum, no breakdown. You cannot compare it, and you cannot track change orders against it later.
- A large deposit before any work. Some states cap home-improvement deposits; in any state, most of the money before any work is the pattern to avoid.
- No exclusions list. Either nothing is excluded (rare) or the exclusions will appear as change orders.
- No permit line. Unpermitted work costs you at resale, or at the city's next visit.
- Allowances that cannot hold. A $600 allowance for two bathrooms' worth of tile means a change order is already planned.
- A price far below the others with no reason. Usually a thinner scope, a lower grade, a misread quantity, or a contractor who needs a deposit today.
- A timeline with no stages. "8 weeks" with no order of work cannot be checked at week 3.
- "Repairs found after demo billed at cost plus." Normal for hidden damage, but the bid should say how such work is approved and priced before it is done.
How to compare a bid with your estimate, line by line
Your rehab estimate is the planning number you built from your walk-through and your own rates (or a starter rate set); it is not a quote. The bid is a price for a scope on a date. Lay them side by side by area and ask one question per line: why is this different?
Line gap = Bid line − Estimate line
Line gap % = Line gap ÷ Estimate line
Use the example house from across this site: 1,600 sq ft, 3 bed 2 bath, built 1978, a $48,000 rehab estimate. It is an example; costs vary by market and by year, and your numbers will differ. Two bids arrive. Bid A is $44,500 and Bid B is $51,200. Bid A looks cheaper. Line them up first.
| Area | Your estimate | Bid A | Bid B |
|---|---|---|---|
| Roof | $9,500 | excluded ("by others") | $9,800 |
| Kitchen | $12,000 | $13,500 | $11,500 |
| Baths (2) | $8,500 | $9,000 | $8,000 |
| Electrical | $3,500 | $3,000 | $3,800 |
| Plumbing | $2,500 | $2,200 | $2,600 |
| HVAC | $4,000 | $4,200 | $3,900 |
| Interior (paint, floors) | $6,000 | $7,800 | $6,400 |
| Windows and doors | $2,000 | $2,300 | $2,200 |
| Demo and haul-off | not in estimate | $2,500 | $1,500 |
| Permits | not in estimate | excluded | $1,500 |
| Total as written | $48,000 | $44,500 | $51,200 |
Three things appear before you compare a single total:
- Your estimate had no lines for demo and permits. Both bids priced them. The estimate was incomplete, and in an estimate an unknown line should stay unpriced, not be left out as if it were $0. Add the two lines as Unpriced and the estimate is honest again.
- Bid A excludes the roof, which is $9,500 in your estimate and the largest single item in the house.
- Bid A's kitchen is $2,000 above Bid B's for the same words. Ask both what cabinet grade and countertop are in the number.
Comparing two bids that cover different scopes
Never compare totals of different scopes. Make them the same scope first: add each excluded item to the bid that excludes it, at the other bid's price (or your estimate's price if only one bid has it).
Like-for-like total = Bid total + Σ (excluded items at the other bid's price)
| Bid A | Bid B | |
|---|---|---|
| Total as written | $44,500 | $51,200 |
| + Roof (at Bid B's $9,800) | $9,800 | included |
| + Permits (at Bid B's $1,500) | $1,500 | included |
| Like-for-like total | $55,800 | $51,200 |
| vs your $48,000 estimate | +$7,800 (+16.3%) | +$3,200 (+6.7%) |
The bid that looked $6,700 cheaper is $4,600 more expensive on the same scope. This is the most common mistake in how people compare contractor bids, and the exclusions list is where it hides.
Note what the comparison did not do: it did not decide. Bid B might be the better price and still the wrong contractor, because of the timeline, the references or the payment schedule. The numbers tell you the price of the same work; the rest is your judgment.
Share the scope first, then ask for the bid
Half of the comparison trouble comes from contractors bidding on different scopes because each one walked the house and wrote down what they saw. The fix is to hand every contractor the same scope of work: the list of work items and quantities by area, from your walk-through, without your prices and without the deal numbers.
A scope without prices matters for two reasons. The contractor should price the work, not anchor on your number. And your ARV, your maximum offer and your expected profit are nobody's business but yours and your lender's.
In Flip Investor OS the scope of work is generated from the estimate, grouped by zone, and shared with a contractor as a read-only link or PDF that carries the items and quantities and no prices or deal economics. The walk-through on a phone, zone by zone, is what fills it; the walk-through checklist explains the twelve zones. The starter rates behind an estimate are labelled "Starter estimate — not market data"; rehab cost per square foot covers what such ranges can and cannot tell you.
How Flip Investor OS reads a bid and keeps the facts
When a bid comes back as a PDF, a photo, a spreadsheet or a CSV, retyping it into a comparison is where errors creep in. In Flip Investor OS the AI reads the bid into lines, suggests which scope item each line matches, and shows the result for you to correct and confirm; nothing is saved until you confirm. Every sum, difference and percentage is then computed by code, never by the AI, and two or more bids sit side by side with your estimate in the order they arrived, without a ranking. The bid you pick becomes the deal's rehab figure only after you confirm it, and the analysis says so ("Rehab: your figure; estimate incomplete") rather than quietly swapping the number.
The same facts follow the contractor. The contractor book in the app holds, per contractor, the projects they worked on, their bids, the accepted bid against the final actual, and their documents. No rating, no ranking, no marketplace: facts from your own projects only. When a project sells, the accepted bid is written to the accuracy log next to the app's estimate, the plan and the actual, by work category. After a few houses that log answers the question every flipper asks: where are my estimates off, and whose bids hold? You can open the free calculators without a card and look at the demo data to see how the pieces fit.
What to do after the comparison
- Ask the line questions. Send each contractor the two or three lines where they differ most from the others and ask what is in the number. The answers are more useful than the totals.
- Fix your estimate. Lines the bids priced and you missed (demo, permits, dumpster) go into your estimate as lines, priced or Unpriced, so the next house starts complete. Unpriced lines keep the estimate marked Incomplete until they have a price, which is the point: an unknown is not $0.
- Write the contract to the scope. The accepted bid's scope, allowances, exclusions, draws and timeline become the contract. A change order later is measured against this document.
- Record the final actual. When the work is paid, the bid against what you paid is the single most useful fact you will carry to the next project. Why house flips lose money is largely a list of rehab numbers nobody checked against a bid or an actual.
Deposit rules and license requirements vary by state; have your contract read by a licensed professional in your state.
Frequently asked questions
What should a contractor bid include?
How do you compare two contractor bids that cover different work?
What is a red flag in a contractor bid?
How big a deposit is normal for a rehab?
Should the bid be lower or higher than my estimate?
Does Flip Investor OS rate contractors?
Put it to work
Take your next house through Flip Investor OS
Walk it on your phone, price the rehab with no $0 placeholders, see your maximum offer, and track the project against the original plan. Fourteen days free.