Yes, put an expiration date on every estimate. A 14 to 30 day window is standard — shorter (7 to 14 days) when lumber, steel, or petroleum-based materials are moving fast. Without one, you're stuck honoring old prices on jobs you quoted months ago, eating every cost increase in between.
Contractors skip this for one reason: it feels pushy. It isn't. An expiration date isn't a sales tactic, it's a pricing fact. You priced the job based on today's material costs, today's labor availability, and today's schedule. Thirty days from now, one of those three has usually changed. Stating a deadline just tells the customer the truth about how long that price is good for.
Why an expiration date protects your pricing, not just your schedule
Every estimate is a snapshot. You checked lumber prices, got a supplier quote, or used last week's labor rate when you built it. If a customer sits on your estimate for two months and then calls ready to book, you're now contractually (or at least reputationally) on the hook for a price built on numbers that no longer exist. If you've ever had to eat a price increase because a customer held onto a quote too long, you already know why this matters — see how material cost swings should factor into pricing for the mechanics of that problem.
There's a scheduling angle too. An open-ended estimate implies an open-ended slot on your calendar. Customers who take their time deciding often expect you to still have room when they're ready, even if that's three months out. An expiration date resets that expectation: if they want this price and this timeline, they need to decide by a specific date.
How to word it
Keep it simple and put it in two places: near the total, and in the terms section at the bottom. Vague language like "prices subject to change" doesn't work — it's not a real deadline, so nobody treats it like one. Use an actual date or a clear day count.
- "This estimate is valid for 30 days from the date above (expires [date])."
- "Pricing good through [date]. After this date, material costs will be re-checked before confirming."
- "This quote is valid for 14 days due to current lumber pricing. We're happy to re-quote after that at no charge."
Notice the third example explains *why* the window is short. That one sentence turns a hard deadline into a reasonable business fact instead of a pressure tactic. Customers who understand that material prices have genuinely moved lately don't feel rushed — they feel like you're being straight with them.
Choosing 14, 21, or 30 days
Match the window to how volatile your inputs are, not to how badly you want the job.
- 30 days — standard for labor-heavy jobs with stable material costs: interior painting, drywall repair, handyman work, most service calls.
- 14 to 21 days — jobs with a meaningful material component that moves with the market: roofing, fencing, decking, anything lumber- or metal-heavy.
- 7 to 10 days — rare, but reasonable during a documented price spike (a tariff announcement, a supplier price increase notice) or for jobs priced against a quote you got from a sub or supplier that itself has a short shelf life. If you're pricing work that includes subcontracted trades, their quotes usually expire too — worth reading how to price a job that requires subcontractors before setting your own window.
Don't go shorter than 7 days as a default strategy to create fake urgency. Customers can tell the difference between a real cost-driven deadline and a sales gimmick, and the gimmick version damages trust faster than it closes jobs.
What to do when a customer accepts an expired estimate
This happens constantly — someone finds your quote in their email three weeks after it lapsed and says "let's do it." You have three honest options, and the right one depends on how much has actually changed.
- Honor it anyway. If your costs haven't moved and your schedule has room, just confirm it. No need to make a customer re-sign paperwork over a technicality. A quick "happy to honor this, let's get you scheduled" keeps goodwill intact.
- Re-check and confirm. Spend five minutes verifying your current material costs and crew availability. If nothing's changed, tell them it's still good. If something has, say so plainly: "Material costs are up since I quoted this — the fence portion is now higher, everything else is the same."
- Re-estimate from scratch. Do this if a lot of time has passed (60+ days), if the scope might have changed, or if you simply haven't been inside the property recently and conditions may be different. It's also the right move if the original estimate was a rough ballpark rather than a firm written number — the distinction matters, and it's worth knowing the difference between a ballpark number and a written estimate before you decide which category this one falls into.
Whichever route you take, never just silently honor an outdated price without checking it first. That's how contractors end up underwater on jobs they technically "won."
Expiration dates create urgency without pressure
The best use of an expiration date isn't protecting your costs — it's a polite forcing function. Customers who are on the fence often just need a reason to decide this week instead of next month. A clear deadline does that without you having to chase them or sound salesy on the phone.
It pairs well with a normal follow-up cadence. If you're not already following up before the deadline hits, a short check-in message a few days out ("just a heads up, your estimate expires Friday") does more to close pending jobs than any discount. There's a full set of scripts for this in estimate follow-up templates that win pending jobs, and it's worth pairing with a look at how long an estimate should take to send in the first place — a fast, well-timed estimate with a clear expiration date closes faster than a slow one with no deadline at all.
If you're building estimates in Trusso, the expiration date is just a field on the template — set a default of 30 days (or 14 for material-heavy trades) and it's applied automatically to every quote, with the deadline shown to the customer right next to the total. Combined with automatic follow-up reminders as the date approaches, it turns a line of boilerplate into something that actually moves pending jobs forward.
Is a contractor estimate legally binding without an expiration date?
It depends on your state and how the estimate is worded, but in most places an estimate without a stated expiration is treated as open-ended, meaning you could be expected to honor it indefinitely. Putting a clear date on it limits that exposure and gives you a documented reason to re-quote later.
What's a reasonable expiration window for a small repair job?
30 days is standard for labor-heavy, low-material jobs like handyman work, drywall patching, or small painting touch-ups, since costs rarely move much in that window.
Should the expiration date be on every page of the estimate or just one?
Put it in two spots: right next to the total so it's impossible to miss, and again in the terms and conditions section at the bottom for the written record.
Does an expiration date make customers feel pressured?
Not if you explain the reason briefly, such as current material pricing. Customers generally respond well to a clear, honest deadline and respond badly to vague urgency language with no explanation.
What if a customer accepts the estimate the day before it expires?
Honor it as written since nothing about your costs has likely changed overnight. The expiration date is there to protect you from stale pricing weeks or months later, not to create a trap on the last day.
Run your business the simple way
Try Trusso free for 14 days and send your first estimate in minutes.
Start 14-Day Free TrialKeep reading
How to Price a Job That Requires Subcontractors
A sub quote is a cost, not a price. Here's how to mark it up, decide who eats a sub's mistake, and keep the paper trail that protects your margin.
Read articleLead CaptureHow Do You Handle Duplicate Leads From Angi, Thumbtack, and Your Website?
The same homeowner often submits the same job on Angi, Thumbtack, and your contact form in one evening. Here's how to catch the duplicate before two people call them back.
Read article