Nobody teaches this, and most owners learn it late, usually after a year of tolerating something that was obvious in month two.
The customer who calls at eleven at night. The one whose scope grows every visit without the price moving. The one who pays sixty days late every time and acts surprised each time you mention it. The one who was rude to your apprentice.
You are allowed to stop working for them. What follows is how to do it without creating a bigger problem than the one you are solving.
First, be honest about what it is costing
Owners tolerate difficult customers because the revenue is visible and the cost is not. Put a number on the cost and the decision usually makes itself.
Take a $2,000 job at a 20% net margin. That is $400 of profit. Now add the two extra site visits nobody is paying for, the ninety minutes on the phone across three evenings, the sixty day wait for payment, and the fact that your best technician does not want the job.
The $400 does not survive that. Frequently it goes negative, and the loss is hidden because it shows up as time rather than as an expense line.
There is a second cost that is larger and even easier to miss. Every hour spent on a customer who is unprofitable and unpleasant is an hour not spent on one who is neither. In a business where the binding constraint is hours rather than leads, that is the whole game.
The four that are worth ending
The scope creeper. Every visit adds something. Individually each request is small and refusing feels petty. Cumulatively you are working for a rate you never agreed to. Fixable sometimes with a written change order process. Not fixable if they treat that process as an obstacle.
The chronic late payer. Cash flow is the thing that kills small service businesses, and a customer who reliably pays at sixty days is financing themselves with your money. If deposits and clearer terms do not change it, the relationship is not worth the float.
The abusive one. Rude to you is a judgement call. Rude to your crew is not. Tolerating it tells the person who works for you exactly where they rank, and that is a more expensive message than any invoice.
The one you dread. If you see the name on the phone and your mood drops, that is data. It is not sentimentality, it is your own accurate assessment of how the next two hours will go, and you have usually been right before.
Finish what you started
The exception that matters. If you are mid-job, finish it, unless there is a genuine safety issue or non-payment that voids the agreement.
Walking off an incomplete job is where firing a customer turns into a legal problem, a review problem, and a reputational problem all at once, and it converts a defensible decision into an indefensible one. Complete the work, get paid, and decline the next one.
If you genuinely cannot continue, put the reason in writing, refund anything unearned, and help them transition to somebody else. That is slower and it is the version that survives being described by the other party.
How to actually say it
Short, calm, and without a list of grievances.
The instinct is to explain, because you want to be understood and you have been storing this up. Resist it. A long message is an invitation to a long argument, and you are not trying to win one.
What works is a version of: we are not going to be the right fit for your future work, we would rather tell you plainly than keep taking jobs we cannot do well, and here are two other companies who might suit better.
Note what that does. It declines future work rather than passing judgement, it gives no specific grievance to dispute, and it ends with something useful. Offering an alternative is the single most effective element, because it turns a rejection into a redirection.
Do it in writing, keep a copy, and do not do it while angry. The version you write at nine at night after a difficult call is not the version you want on the record.
Expect the review, and prepare for it
Some will leave a bad review. Plan for it rather than hoping.
This is precisely why the response matters more than the review. You are writing for the hundreds of people who will read it afterwards, not for the person who wrote it. Something brief and neutral, acknowledging that you were not the right fit and wishing them well, reads as professional to every stranger who sees it, and leaves nothing to argue with.
Do not relitigate. Do not explain what they did. A calm three-line reply under an angry paragraph is one of the most persuasive things on a profile, and everybody reading it understands what they are looking at.
It also helps enormously to have a steady flow of recent reviews already, because one negative inside a set of ninety is context rather than a crisis.
The prevention is upstream
Most of the customers you end up firing were identifiable at the estimate.
The tells are consistent. Aggressive haggling before any work has been discussed. Speaking badly about the last two contractors, both of whom were apparently incompetent. Vagueness about scope combined with precision about price. Resistance to anything being written down.
The tool that filters these is the estimate itself. An itemised document with a clear scope, an exclusions list, a change order process, and payment terms is not just a sales asset. It is a filter, and the people who object to its existence are telling you something useful before you have invested anything.
The part that is hard to believe until it happens
Firing a customer usually feels like losing revenue and turns out to feel like getting a day back.
The work you were dreading disappears from the calendar. The hours go to jobs that pay properly. And the crew notices, because the message that you will back them is worth more than the margin on any single job.
You are allowed to choose who you work for. Most owners discover this several years later than they should.