How long is a contractor estimate good for, and how to word the expiry
A contractor estimate should be good for 30 days on most residential work, and 7 to 14 days when special-order material or a subcontractor's number drives the total. The contractor picks that window, writes it on the proposal as a calendar date, and holds to it.

Why an estimate needs an end date
An estimate with no expiry on it is an open offer with no closing time. The customer who calls in March about a price written in October expects that October number, and what follows is an argument about what counts as a reasonable time to accept. That is a bad argument to have with somebody who was ready to hire a contractor five minutes earlier. A date on the page ends it before it starts.
The date also protects the margin that was priced into the job. Between the day a number goes out and the day it gets signed, the cost of the paint, the plank, the lift rental and the sub can all move. Nobody prices a bathroom expecting to absorb six months of supplier increases. The expiry is the line where that risk stops being one company's problem.
There is a third reason, and it is the one most contractors miss. A proposal with an end date has a deadline built into it, and a deadline is the only honest pressure available to a company that does not run fake discounts.
Picking the number by trade and by risk
Thirty days is the right place to start on interior and exterior painting, flooring installs and most repair work, where labor is the bulk of the price and the material is something a local supplier stocks. It is long enough that a homeowner can collect two more bids and talk to a spouse, and short enough that the number still means something when it comes back.
Shorten it when the price is mostly somebody else's number. Special-order material, imported goods, large lumber or steel packages, rental equipment and anything a supplier put in writing all carry their own clock. Ask the supplier how long their quote holds, then set the estimate window inside it. If the yard holds the price for ten days and the estimate says thirty, the contractor has quietly agreed to cover twenty days of someone else's price moves.
Lengthen it only on purpose. A property manager working through a board vote or a budget cycle may genuinely need 60 or 90 days, and that is fine when it is priced for rather than hoped for: an allowance on the volatile line, a short escalation clause, or a plain sentence saying the material portion gets re-checked at signing. Any of those is better than eating it and calling it customer service. Where that number comes from in the first place is a separate exercise, covered in pricing and margin for contractors.
Where the expiry goes on the proposal
A date buried in a terms paragraph on page three does not count. It needs to sit next to the price, as a real calendar date rather than a duration, because "valid for 30 days" makes the customer do arithmetic and nobody does arithmetic on a proposal they are putting off.
Three places, every time. Beside the total, one line: This price is good through November 5, 2026. In the terms, the reason and the remedy: After that date, material and subcontractor costs are re-checked and an updated price is issued. Scope and labor rates do not change. And in the message that carries the proposal, one sentence so it is visible before anything gets opened: The price holds through November 5. If the schedule slips past that, send a note and the numbers get re-checked.
That wording does two things at once. It is a limit, and it is also a promise that the limit is not a trick, which is what keeps a customer from reading the date as a sales tactic.
The expiry date as the last follow-up touch
Most quote follow-up dies after one text because there is nothing new to say. The expiry date solves that. It is a real event, on a real calendar, that gives a contractor a reason to reach out without inventing one.
The touch goes out two or three days before the date, and it is short: Hi Dana, the price on the deck holds through Friday. Happy to lock it in, or re-check the numbers next week if the timing is off. No discount, no urgency theater, no made-up schedule slot. Half the replies to that message are people who meant to answer weeks ago. The rest of the sequence that message belongs to is laid out in the five-touch estimate follow-up, and the clock on all of it starts with how fast the estimate went out in the first place.
How the Bellingham companies run it
We run painting and flooring companies in Bellingham, and the rule here is boring on purpose. Residential repaints and flooring installs carry a 30-day date. Anything waiting on a special-order product or a sub's written number carries the shorter of 14 days or whatever that supplier committed to. Commercial and property management work gets whatever the buyer's process actually needs, with the material line called out separately so the longer window is not a silent gift.
The part that took longest to learn is that the date is worthless if it is not enforced. An expired estimate gets re-priced, not re-sent, even when the only change is confirming the old number still works. Re-sending it unchanged teaches every customer that the date was decoration, and the next one will sit on a proposal for ninety days. Re-pricing takes ten minutes when the price table lives somewhere other than a contractor's head, which is the workflow the rest of this site is about.
A free look at quoting and follow-up
The free audit covers your site, local search, response time, quoting, and follow-up, then ranks what is worth fixing first. Joshua replies within one business day, and the written findings usually follow within a week.