A number you half recognize lights up the phone. It's the homeowner from back in March, the one who wanted the water heater and a couple of hose bibs. 'We're ready to go,' she says. 'Still the same price you gave us?'
You pull up the quote. Seven weeks old. In those seven weeks the copper went up, the heater jumped twice, and the supply house quietly redid their price sheet. The number you wrote down isn't the number you'll pay anymore. So you either eat the gap to keep your word, or you make the awkward call to requote and come off like the guy who moves the goalposts.
Neither one's any fun. The fix is boring, and it works. Put an expiration on every quote, and let a text remind the customer before it runs out. Nothing pushy. Just a clock, so the price you promised still lines up with the price you pay when the truck finally rolls.
Why an old quote quietly turns into a loss
You priced it on a Tuesday. Materials cost what they cost that day. You added your margin, sent it, moved on to the next thing. The customer sat on it for a month, because that's what customers do.
Prices don't sit still, though. Copper drifts. Lumber drifts. Shingles, PVC, wire, a sheet of plywood, all of it moves, sometimes a few cents and sometimes a real jump in a bad month. Your truck time and your labor creep up too. The margin you built in gets eaten from the inside, and you don't feel it until you're standing at the counter paying for parts.
On a small job the gap is just annoying. On a big one it's actual money. A few points off a $14,000 job is a day's pay gone, and you already did the hard part, which was winning the work. Handing that profit back to the supply house at the end stings worse than losing the bid ever did.
Put a plain expiration on every estimate
Add one line to every quote you send: 'This price is good for 30 days.' That's the whole trick. Pick the window that fits your trade. Thirty days is normal. In a jumpy market, or on a job with a lot of metal in it, fifteen is fair.
Spell out why, in plain words, right there on the estimate. Something like: 'Material prices move, so we hold this price for 30 days. After that we'll take a quick look and confirm the number.' Customers get it. They buy gas, they've read a grocery receipt lately, nobody thinks you're running a scam.
Use real dates, not just a day count. 'Good for 30 days' is easy to argue about six weeks later. 'Good through April 18' isn't. Put both the date you sent it and the date it expires on the quote, in writing, where they can see it.
- Date sent and date it expires, as actual calendar dates.
- The window in plain English, so there's no guessing later.
- One honest line on what happens after: you'll requote at current cost.
- Your margin built in as usual. The clock protects the margin, it doesn't replace it.
Let a text do the reminding
This is where it stops being a sticky note you lose under the seat. A few days before a quote expires, a text goes out to the customer on its own. Short, friendly, no arm-twisting.
Something like: 'Hi Dave, your estimate for the water heater is good through April 18. Want us to get you on the schedule at that price? Reply yes and we'll find a day.'
You don't write that one by hand every time. You set it up once, so any quote with an expiration gets a nudge a few days out, maybe three. The customer either books at the old price or they let it lapse, and either way you're not the one quietly covering the difference.
Keep it to one reminder. A clock that beeps every day is a clock people start ignoring. One well-timed text does the job and keeps you looking like a pro instead of a telemarketer.
When the clock runs out, requote fast
Some folks will wait too long. That's fine. That's exactly what the clock is for.
When a lapsed one comes back, you're not apologizing, you're just doing the thing you already told them you'd do. Pull the old quote, check today's material cost, send the new number. Keep it quick and matter of fact.
A line like this does it: 'Good to hear from you. That estimate was from March, so I refreshed it at today's material prices. New total is $X, good through May 10.' No drama. You told them the price had a shelf life, and it did.
Where a clock won't help you
Be straight with yourself about what this does and doesn't do. A date on a quote doesn't lock in your supplier. If copper spikes in the middle of a job you already booked, you're still absorbing that one. The clock protects you between the handshake and the yes, not after.
An automatic text also won't resurrect a customer who's gone cold for three months. It nudges the ones who are close to saying yes. The folks who ghosted hard are a different problem, and no reminder fixes a flat no.
Don't twist the expiration into fake pressure, either. 'Price goes up tomorrow, sign now' is the oldest tired trick in the book, and trade customers smell it from the driveway. The honest version works better and you can sleep at night: prices really do move, so the quote really does have a date. That's all it is.
Worth doing this week
You don't need software to start. You need one line on your quote and a habit.
- Add an expiration line to your estimate template today. Real dates, 30 days, done.
- Pick your window per trade. Shorter on metal-heavy or big-dollar jobs, standard on the rest.
- Write your one reminder text now, while it's in your head, so it's ready to reuse.
- Set the nudge to send three days before the quote lapses. Doing it by hand for now? Drop a reminder in your phone.
- On your next ten quotes, track how many book before the date. That's your proof it's working.
Setting that text to fire on its own, pulled from whatever you already use to send estimates, is the kind of small plumbing we wire up for Massachusetts trades at Mass AI Agency. But the clock itself you can start this afternoon, by hand, for free. The point was never the software. It's that the price you promise should still be the price when the truck rolls.