Today with competition in the marketplace what it is, it's hard to think you would fire actually fire a customer. But, there is another theory. What if you fired that customer and spent all the time you would normally spend on that customer nurturing your good relationships and reaching new customers? But before you go firing your customers, you should ask yourself a few questions.
The very first question should be if there is anything you could do to make the relationship better?
Is this a highly profitable customer?
Is this customer influential within the community that you do business?
Are they a repeat purchaser of your products or services?
Do they pay a fair price for a fair product/service?
Do you need this customer to survive?
If you answered yes to any of these, you may want to reconsider and try to work with that customer. It is easier to retain an existing customer than it is to reach a new one. All good relationships take a lot of work and fostering to make them successful.
There are some warning signs of a truly bad customer.
Does the customer pay late consistently?
Is the customer overly aggressive with your people?
Does the customer require a lot of rework?
Do they cost you a significant amount of time?
Do they ask for unwarranted refunds?
Does the customer ask for things not in your scope of work?
These are a little more obvious and alone most can still be serviced. And I would encourage you to work towards a solution that works for you both. But if your customer has many of these you'll have to actually sit down and figure out the math. Add up your profitability from this customer vs. the actual cost of doing business with this customer.
Should you decide to end your relationship, do it with class and professionalism. The world is small and you never know when you will be re-establishing commerce with them again in the future.