You have not touched your rates in two years. Materials cost more, insurance costs more, fuel costs more, and you are still quoting off a number you set before most of that happened. You know the math does not work anymore. You still have not sent the notice, because somewhere in the back of your head is a customer picking up the phone and calling someone cheaper the second they see the new number.
That fear keeps a lot of small operators underpriced for years at a time. It is worth taking seriously, and it is also mostly wrong. Customers lose contractors to bad communication and disappearing acts far more often than they leave over a reasonable increase, delivered like an adult explaining a real cost.
Why waiting costs you more than raising ever will
Every year you do not adjust, the gap between your price and your actual cost gets wider, and closing a wide gap in one jump is what actually spooks people. A 6 percent increase reads as routine. A 25 percent increase after four flat years reads as an emergency, even when the math behind it is identical. Waiting does not avoid the hard conversation. It just makes the eventual conversation harder.
There is a second cost that is easier to miss. Underpriced work does not just squeeze your margin, it changes who you can hire, how fast you answer the phone, and whether you have room to fix a mistake without it wiping out the job. Customers feel that slack disappear even if they never see your books. A price that actually covers the job usually shows up as better service, not worse.
Timing: when to raise, and why later rarely beats now
There is no perfect month to raise prices, but there are better and worse ones. Raising at the start of a season, before the busy months, lets new pricing apply to the bulk of your volume instead of trickling in against old quotes still on the books. Raising right after a stretch of bad weather or slow work feels defensive, even when the timing is coincidental, so where you have a choice, move on your own schedule rather than in reaction to a rough month.
The other timing question is frequency. A predictable small increase once a year, tied to material and labor cost movement, trains customers to expect it the way they expect it from every other service they pay for. A silent freeze followed by a painful correction trains them to expect stability and then feel blindsided. Pick a cadence and stick to it, even if some years the increase is small.
How to frame it so it reads as fair, not greedy
The framing matters more than the number. Lead with the reason, not the apology. “Material and fuel costs are up, and starting [date] our rates are adjusting to reflect that” is a fact a customer can accept. Opening with three sentences about how hard this decision was makes it sound like you are asking permission, and it invites a negotiation you do not need to have.
Give real notice, in writing, before the new rate takes effect on their next job. Thirty days is a reasonable default for regular customers; less than that on a job already scheduled will feel like a bait and switch even if it is not one. Keep the explanation short. One or two sentences on the why, the new number or percentage, and the effective date. Customers who want detail will ask. Most will not, and a long justification just gives them more to push back on.
Do not discount the increase before anyone objects. If you lead with “but I’m keeping loyal customers at the old rate for now,” you have just told every customer that your posted price is negotiable, and negotiable is the last thing you want your pricing to be.
Grandfathering regulars: who earns it, and for how long
Grandfathering is a real tool, not just a soft option for people who feel guilty raising prices. Used well, it protects your best relationships without undermining the increase for everyone else.
The customers worth grandfathering are the ones with real, provable value: recurring maintenance accounts, repeat referral sources, anyone who pays on time without being chased. Grandfathering a one-time customer from three years ago because you feel awkward is not loyalty pricing, it is just leaving money on the table.
Put a limit on it. Six to twelve months at the old rate, with the new rate landing automatically after that, keeps grandfathering from quietly becoming permanent. Tell the customer the window up front so it reads as a gesture, not an entitlement they will be upset to lose later. And keep the list short enough that you can actually track who is on it. A grandfather list nobody remembers to end is just a second price list you forgot you were running.
What to do when someone pushes back
Most pushback is really a request for reassurance that the price is real and applies to everyone, not a genuine threat to leave. Answering with the reason again, calmly, usually settles it. “I understand, and I want to be straight with you, this reflects what it actually costs to do the work right now” holds up better than caving on the spot.
If someone does walk over a fair increase, that is useful information, not a failure. A customer who leaves over a reasonable, well-communicated adjustment was very likely a customer your old price was subsidizing. Losing that job frees up a slot for one priced correctly from the start.
Make it routine, not an event
The contractors who handle price increases well are not better negotiators. They just do it on a schedule instead of putting it off until the gap becomes a crisis, and they say the same clear thing to everyone instead of improvising a different explanation for each customer. Punchlist’s pricing tools keep your rate catalog current and let you apply an update across quotes and recurring jobs at once, so an annual adjustment is a five-minute task instead of a dreaded round of phone calls. Join the waitlist to get it when it ships.
