How to bid concrete jobs
Concrete flatwork bids at $7 to $14 per square foot plain, $8 to $16 for driveways and $14 to $28 stamped. Tear-out adds $2 to $6 per square foot.
Price the pour and the ground separately
The pour is arithmetic. The ground is the job.
(Area × flatwork rate) + excavation + disposal + base + access = your bid.
A 600 sq ft patio, existing lawn, truck can reach, 4in slab with fibre:
- 600 sq ft × $8.50 flatwork = $5,100
- Excavation 8in, 15 cu yd spoil: 10 hours + machine = $980
- Disposal, 3 loads = $285
- Compacted aggregate base 4in = $620
- Forming and finishing included above
- Bid: $6,985 — $11.64/sq ft all in, mid-band.
Now the same patio where the existing surface is a reinforced 6in slab that has to come out and the truck cannot reach the rear:
- Add tear-out 600 sq ft × $4.50 = $2,700
- Add pump = $1,100
- Bid: $10,785 — $17.98/sq ft.
Same patio. 54% more. Whoever underbid you left both of those out.
Price a concrete job
Your numbers, the formula above. Nothing is sent anywhere — this runs in your browser.
$6,300 base (600 square feet × $11)
This is a starting number, not a bid. Walk the property before you send it.
Specify the mix
PSI, thickness, reinforcement, fibre, finish, joint spacing. Put it on the bid.
A homeowner holding your bid and a cheaper one cannot tell that the other is 3,000 PSI at three and a half inches with no mesh. Your document is the only way they find out, and it is the most effective thing you can do to stop competing on price alone.
What changes a concrete bid
Base condition. The dominant variable and the one you cannot see from the kerb.
Tear-out. Reinforced or thick existing slabs are slow and heavy to dispose of.
Access. Pump versus truck versus barrows. Enormous swing.
Finish. Broom, trowel, exposed aggregate, stamped, coloured, sealed. Each step up is real labour.
Slab thickness and reinforcement. Driveways need more of both than patios.
Weather window. Pours get moved, and a tight schedule costs you flexibility.
The mistakes
One per-square-foot number. It hides everything variable about the job.
Not pricing tear-out separately. It can be a third of the bid.
Assuming truck access. Walk the route from the road to the pour before bidding.
No cracking clause. Concrete cracks. Say so in the bid, state your joint spacing, and the most common post-job complaint stops being a complaint.
Back-loaded payment. You order and pay for the concrete before anybody pays you. Deposit first.
Bidding and scheduling
QuoteIQ at $29.99/mo measures flatwork area off satellite imagery for a faster first number. Jobber at $49/mo handles multi-day jobs with deposits and reschedules weather days in bulk. Housecall Pro includes five seats at $189/mo once you run a crew.

Questions operators actually ask
How much should I charge per square foot for concrete?
$7 to $14 per square foot for plain broom-finish flatwork, $8 to $16 for driveways, and $14 to $28 for stamped or decorative work. Tear-out of an existing slab adds $2 to $6 per square foot on top.
How do I bid concrete accurately?
Price the flatwork by area, then price excavation, base preparation and disposal separately by volume or hours. Flatwork is predictable; what is underneath is not, and folding both into one rate is how concrete bids lose money.
What should I include in base preparation?
Excavation to depth, removal and disposal of spoil, compacted aggregate base to a stated thickness, and forming. On a bad site this can exceed the cost of the concrete itself, which is exactly why it needs to be visible and separately priced.
Should I quote the mix and PSI?
Always. 4,000 PSI with fibre at four inches is a different product from 3,000 PSI plain at three and a half, and a homeowner comparing your bid with a cheaper one has no way to see the difference unless both documents state it.
How do I handle access problems?
Price a pump as its own line when the truck cannot reach the pour, and price wheelbarrowing explicitly when it can nearly reach. Access is one of the largest swing factors in a concrete bid and it should never be an assumption.