CONCRETE CONTRACTING INSIGHT
How to Write Concrete Bids So Ready-Mix Spikes Do Not Eat Your Margin
Put a price validity window on every bid, usually 15 to 30 days, and add a separate line item that spells out how a ready-mix price increase gets passed through. That single change stops the most common way concrete contractors lose money on signed jobs: a customer sits on a bid for weeks, the batch plant raises its price, and the contractor eats the difference because nothing in writing said otherwise.
If you have ever pulled a yard delivery ticket that cost more than what you quoted a homeowner a month earlier, you already know how fast that gap eats a job's margin. The fix is not complicated, but it has to be written into the bid itself, not just said out loud on the driveway.
Why This Keeps Happening to Concrete Contractors
Ready-mix pricing moves for reasons that have nothing to do with your bid: cement supply, fuel surcharges, aggregate costs, and seasonal demand at the plant. None of that is in your control. What is in your control is how long you let a quoted number sit exposed before someone signs.
A common question we see from owners is some version of "I bid a driveway in early spring, the customer didn't call back until the price per yard had jumped, and now I'm either eating it or having an awkward call explaining why the number changed." That awkward call is avoidable. It just has to happen on paper, before the job, not as a surprise during it.
The underlying problem is simple: most concrete bids are written like a fixed quote with no expiration date and no mechanism for passing through a supplier increase. That structure puts all of the ready-mix risk on you.
Put an Expiration Date on Every Bid
Every bid you hand out or email should say, in plain language, how long that price is good for. Fifteen to thirty days is typical for most residential and light commercial concrete work. For larger jobs with longer lead times between bid and pour, you may want to tie the window to your actual batch plant's quoted validity period instead of a flat number.
Write it where the customer will actually read it, not buried in fine print at the bottom. Something like: "This price is valid for 21 days from the bid date. After that, we will confirm current ready-mix pricing before scheduling your pour."
This does two things. It protects your margin if the job slips past the window. And it gives you a clean, professional reason to follow up: "Just checking in, your bid is set to expire next week, want to lock in your pour date?" That follow-up call closes jobs that would otherwise go cold.
What to Do When a Bid Expires
Do not let an expired bid just quietly become void. Call the customer, confirm whether they still want the work, and reprice if the ready-mix cost has moved. If the price is the same, tell them that too. It builds trust and makes the next price increase easier to explain, because you have already shown you only raise it when the cost actually goes up.
Add a Fee Line Item Homeowners Can Actually Understand
Vague bids create disputes. A one-line total that just says "concrete driveway: [price]" gives you no room to explain a cost increase without sounding like you are padding the job. Break the bid into parts homeowners can follow:
- Site prep and forming
- Labor and finishing
- Ready-mix concrete (quantity in yards, price per yard, and the date that price was quoted)
- Any permit or inspection fees you are collecting on their behalf
- A clearly labeled fuel or material surcharge line, if your supplier charges one
When the ready-mix line has a date next to it, the customer can see exactly what you are protecting against. If the price moves before the pour, you are not changing "the price of the driveway," you are updating one line item with a reason attached. That distinction matters enormously when you are on the phone explaining a change.
Decide Your Pass-Through Policy Before You Need It
Decide now, not mid-job, how you will handle a ready-mix increase that lands after a bid is signed but before the pour. Common approaches:
- Lock the price if the pour happens within your stated validity window, full stop.
- Pass through supplier increases dollar for dollar on the ready-mix line only, with no markup on the increase itself, which tends to feel fairer to homeowners.
- Build a small buffer into your per-yard number so minor fluctuations do not require a conversation at all, and only flag it if the increase exceeds that buffer.
Pick one, write it into your standard bid template, and use it every time. Inconsistent handling from job to job is what turns a pricing conversation into a trust problem.
Build the Habit Into Your Weekly Routine
This only works if it becomes routine, not something you remember after a bad month. A few habits to put in place this week:
- Date-stamp every bid when it goes out, even verbal estimates that get followed by a written copy.
- Set a reminder for the day before each bid's validity window closes, so you call before it lapses instead of after.
- Check your ready-mix supplier's current price sheet before confirming any pour date on a bid older than a couple weeks.
- Keep a simple log of which bids are open and when they expire, so nothing falls through during a busy stretch with multiple jobs scheduled.
If you are already stretched thin managing bids, jobs, and follow-up calls, that is also where staying in front of past bid customers through plain email updates (what we build with The Invisible Newsletter) or steady, professional website copy that sets pricing expectations upfront (see Website) can take some of the manual tracking off your plate.
For a broader look at pricing clarity issues on the collections side, see How to Keep a Final Payment From Dying Over One Cosmetic Crack. And if scheduling pressure is part of why bids sit too long before getting signed, Why a Booked-Out Schedule Still Loses to Faster and Cheaper covers that angle.
Frequently Asked Questions
How long should a concrete bid stay valid before I need to reprice it?
Fifteen to thirty days works for most residential jobs. If your ready-mix supplier gives you longer price guarantees, you can extend your bid validity to match, but always put the number in writing on the bid itself.
What if a customer gets upset that their price changed after the validity window passed?
This is much easier to handle if the expiration date was clearly stated on the original bid. Walk them through the ready-mix line item, show the date it was quoted, and explain only that line changed, not your labor or site prep pricing.
Should I quote a fixed price per yard or a range for ready-mix?
A specific price per yard with the quote date attached is clearer for homeowners than a range. Ranges tend to make customers nervous and invite more questions. State the number, state the date, and state what happens if the pour slips past your validity window.
Do I need to pass through small ready-mix increases, or can I just absorb them?
That is your call, and it is worth deciding on a standard policy rather than deciding case by case. Many owners build a small buffer into their per-yard number specifically so they do not have to have this conversation over minor fluctuations, and only flag larger supplier increases.
Is it unprofessional to put an expiration date on a bid?
No, it is standard practice in trades where material costs can move, and most homeowners understand it once you explain it. It actually reads as more professional than a bid with no terms at all, because it shows you have thought through how pricing works.
Get Your Bid Process Tightened Up
If pricing clarity and follow-up are slipping through the cracks because you are juggling job sites and the phone at the same time, that is worth a conversation. RevOpsFlow works with concrete contractors on the marketing and follow-up side of the business, from a website that sets pricing expectations clearly (see our Concrete marketing page) to steady email follow-up with past and pending bid customers through The Invisible Newsletter.
Call (770) 525-8493, answered by Joy, our AI receptionist, or reach out through our contact page to talk through what is actually eating into your margin right now.
