How to Bid a Construction Job (Step by Step Process for GCs)
By Fabio Freire, Founder & General Contractor at EZ-Estimates. Published 2026-07-17.
How to Bid a Construction Job (Step by Step Process for GCs)
Most GCs are running a broken bid process and do not know it. They walk the site, throw a number together in a spreadsheet at midnight, email a PDF, and then wonder why their hit rate is 15%. When you are winning 1 out of 7 bids, you are burning 40 to 60 hours per closed job just on estimating. That is not a business, that is a full-time unpaid job with a construction hobby attached.
A real bidding process gets you to 30% to 40% hit rate and cuts your estimating time in half. It is not luck. It is steps done in a specific order, done consistently.
Here is the step-by-step process a general contractor should run on every construction bid.
Step 1: Qualify Before You Bid
Not every job is worth chasing. Before you drive an hour to a site visit, ask:
- What is the project scope roughly? (whole house vs a single bath)
- What is their budget range? (they will resist, but ask)
- What is their timeline? (2 months out vs "asap")
- How many other contractors are they meeting with? (3 is normal, 7 means they are shopping)
- How were you referred? (repeat client, friend, Google, HomeAdvisor)
If they refuse to share a budget range, say so directly: "I want to make sure I do not waste your time or mine. If your budget is $30k and the scope you described is a $75k job, we should know that before I drive out." That question weeds out tire-kickers.
Hit rate for warm referrals is typically 40% to 60%. Hit rate for cold Google leads is 12% to 25%. Hit rate for HomeAdvisor / Angi leads is 8% to 18%. Track your own numbers.
Step 2: Site Visit and Scope Definition
The site visit is where 80% of your estimating accuracy is decided. Do it right or eat variance later.
Before you go:
- Confirm all decision-makers will be present (both spouses, business partners)
- Bring: measuring tape or laser, camera, clipboard, sample material book, calendar
- Block 60 to 90 minutes on your calendar minimum
On site:
- Walk the whole space, not just what they mention
- Photograph everything: existing conditions, tricky details, storage/access, exterior scope
- Measure key dimensions (rooms, ceilings, openings)
- Ask about hidden conditions: age of home, previous work, known issues (plumbing, electrical, roof)
- Discuss scope in plain language: what is in, what is out, what is client-supplied vs contractor-supplied
- Ask about timeline drivers (baby coming, moving in, out-of-town relatives, tax reasons)
Get the client to talk. The more they talk, the more you understand the real job.
Write down every allowance discussed. Tile allowance, fixture allowance, hardware allowance. Vague allowances get you in trouble at the finish stage.
Step 3: Takeoffs
Takeoffs are the accurate quantification of what needs to be installed. This is where accuracy starts.
- Measure floors, walls, ceilings by finish type
- Count fixtures, receptacles, switches, doors, windows
- Count linear feet of trim, railing, cabinets
- Note any hidden or hard-to-access work
- Calculate demo volume (dumpster count)
- Note any structural work required
Use your takeoff to build a bill of materials. Add waste factors:
- Tile: 10-15% (patterns 15-20%)
- Drywall: 8-10%
- Paint: 5-10%
- Framing lumber: 10-12%
- Shingles: 10% (complex roofs 15%+)
See the construction material waste factors by trade reference for a full breakdown.
Step 4: Get Sub Pricing
Do not guess sub costs. Real numbers only.
For every trade you subcontract:
- Send the scope and drawings to 2 to 3 subs per trade
- Set a deadline (typically 3 to 7 business days)
- Confirm you receive the bid in writing
- Verify the sub bid matches your scope (not their assumption)
If you have preferred subs you trust with pricing, get their per-square-foot or per-fixture rate updated quarterly. Use those cached rates for fast estimating and confirm on award.
Common sub trades to price:
- Plumbing rough-in and fixtures
- Electrical rough-in and fixtures
- HVAC
- Framing (if you sub it)
- Drywall and taping
- Tile
- Cabinet install
- Painting
- Flooring
- Roofing
- Concrete/foundation
Step 5: Build the Estimate
Now you put the numbers together. Structure your estimate as:
By category (client-facing):
- Demo and disposal
- Framing and structural
- Rough MEP (plumbing, electrical, HVAC)
- Insulation
- Drywall and taping
- Finishes (flooring, tile, paint, trim)
- Fixtures (bath, kitchen, lighting)
- Cabinets and counters
- Cleanup and punch list
- Permits and inspections
By line item (internal):
- Material cost
- Sub cost
- Labor hours + your burdened rate
- Waste factors applied
- Contingency for unknowns
Every line should tie to a real quantity and unit price. Ballpark numbers on high-visibility line items get you hurt.
Step 6: Apply Markup and Overhead
This is where most contractors fail. They add "20%" and think that is markup. It is not enough.
Overhead recovery. Your yearly overhead (office, truck, insurance, phones, software, admin) divided by your projected annual revenue tells you the % you need to recover on every dollar of direct cost. Most GCs run 10% to 18% overhead.
Profit. After overhead is recovered, profit is what is left. Target 8% to 15% net profit on residential renovation, 5% to 10% on new construction.
Markup formula: Selling Price = Direct Cost / (1 - Overhead % - Profit %)
Example: $100k direct cost. 12% overhead, 12% profit target.
- Selling price = $100,000 / (1 - 0.12 - 0.12) = $100,000 / 0.76 = $131,578
- That is a 31.6% markup on cost.
If you slap 20% on and call it markup, you are covering overhead and running at zero profit or worse.
See what markup should a contractor charge for a full breakdown by trade.
Step 7: Write the Proposal
The proposal is your sales document. It needs to:
- Match the client's language (not construction jargon)
- Break scope into digestible sections
- Show allowances clearly
- List exclusions explicitly
- State payment terms (draws, milestones)
- Include timeline
- Define change order process
- Include warranty and cleanup terms
- Look professional (branded PDF or portal, not Excel print)
Presentation matters more than most GCs think. Homeowners spending $80k on a bathroom expect a polished document. A branded PDF with clean formatting closes at a 20% to 30% higher rate than a plain-text email quote.
Step 8: Deliver and Follow Up
Delivery methods and close rates:
| Method |
Typical Close Rate |
| In-person walk-through |
45-60% |
| Video call review |
35-50% |
| Interactive portal |
30-45% |
| Emailed PDF |
20-35% |
| Text-linked PDF |
25-40% |
| Verbal / phone quote |
12-22% |
The more you can interact when delivering, the higher your close rate. Even a 15-minute video call to walk through the proposal doubles the close rate over a "here is the PDF, let me know" email.
Follow-up cadence:
- Send proposal within 48 hours of site visit
- Follow up in 3-5 days if no response
- Second follow-up 5-7 days after first
- Final "check-in" 2 weeks after delivery
- Move to nurture list if no response after 30 days
Contractors who follow up twice close 40% to 60% more jobs than contractors who send once and wait.
Step 9: Track Your Hit Rate
You cannot improve what you do not measure. Track:
- Bids sent per month
- Bids won per month
- Average bid size
- Average job size (won)
- Time spent estimating per bid
- Close rate by source (referral, Google, Angi, etc.)
Typical GC hit rate benchmarks (2026):
| GC Type |
Typical Hit Rate |
| Established GC (5+ years, mostly referrals) |
40-55% |
| Growing GC (2-5 years) |
25-40% |
| New GC (0-2 years) |
15-25% |
| GCs on lead-gen platforms (Angi, HomeAdvisor) |
8-18% |
| Commercial or public bidding |
10-25% |
If you are under 20% hit rate, the problem is either bad qualification (bidding jobs you should walk away from) or a broken presentation. Fix qualification first.
Sample Bid Summary
Here is the summary page from a typical GC bid for a $185,000 bathroom + kitchen renovation:
| Category |
Direct Cost |
GC Markup |
Client Sees |
| Demo and disposal |
$8,200 |
32% |
$10,824 |
| Rough plumbing |
$12,500 |
32% |
$16,500 |
| Rough electrical |
$9,800 |
32% |
$12,936 |
| HVAC (mini-split + kitchen exhaust) |
$6,500 |
32% |
$8,580 |
| Framing and structural |
$7,500 |
32% |
$9,900 |
| Insulation |
$3,200 |
32% |
$4,224 |
| Drywall and finish |
$8,800 |
32% |
$11,616 |
| Cabinets (semi-custom) |
$22,500 |
32% |
$29,700 |
| Countertops (quartz) |
$6,800 |
32% |
$8,976 |
| Tile install (labor + material) |
$14,500 |
32% |
$19,140 |
| Plumbing fixtures |
$8,500 (allowance) |
32% |
$11,220 |
| Appliances (allowance) |
$9,500 |
32% |
$12,540 |
| Flooring |
$7,200 |
32% |
$9,504 |
| Paint and trim |
$5,800 |
32% |
$7,656 |
| Cleanup and punch |
$2,500 |
32% |
$3,300 |
| Permit and inspection |
$2,200 |
32% |
$2,904 |
| Totals |
$136,000 |
|
$179,520 |
Total bid $179,520. Direct cost $136k. GC gross margin $43,520 (24% of price). After 12% overhead ($21,542) that leaves 12% net profit ($21,978).
Common Bidding Mistakes
Bidding without a site visit. Impossible to price accurately. If they refuse a site visit, they are not serious.
Not qualifying budget. You cannot serve every budget. Waste no time on bids where the scope and budget do not align.
Underpricing markup because "we need the work". You do not need bad work. Bad work is cash-flow negative even when you land it.
Skipping the follow-up. Half of closes happen on the second or third touch. If you send once and stop, you lose half your potential wins.
No change order process defined. Scope creep on a fixed-fee bid destroys margin. Define it upfront.
Related Reading
Speed Up Bidding With EZ-Estimates
Most GCs spend 4 to 12 hours on a single bid. Site visit, takeoffs, sub calls, spreadsheet build, PDF export. Multiply that by 20 bids a month and you have half a full-time salary in unbilled time.
EZ-Estimates lets you walk the site, describe the scope with your voice, and generate a full line-item bid in under 60 seconds. Real sub costs, real materials, real markup applied. You email a branded, professional proposal from the driveway instead of at midnight.
Free 14-day trial. Plans start at $99/month. No credit card. Ship your next bid the same day and get your evenings back.