I have a Web & graphic design client that I've been working with since July of this year. Initially, the project was supposed to be completed, and launched, in full at the end of September.

The client gave me several red flags that lack of experience (and need for money) at the time caused to me to look past. Needless to say, it's November and we're still working.

My frustrations have grown out of their complete lack of trust in my skill and ability; they push past my recommendations for what their friends "vote" on, despite any facts, studies, "proof," etc. I send to justify my choices.

Additionally, they continually revert back to working on items they have already approved and confirmed are completed. As if that wasn't enough, their emails have become increasingly harsh in tone - even to the extent where they send follow up emails to apologize a day or so later.

As you can see, my questions here isn't whether or not to fire them but how, what wording to use, method, etc.

Our terms state they are to pay my hourly rate for each round of revisions beyond the standard 3. When beginning this project, I didn't have a solid method for tracking time (I use Basecamp and Pancake now), so I don't have a lot of proof and numbers to back this up, aside from a mountain of emails. I'm OK with letting this go. My terms also state that if the contract is dissolved at any point in time after designs have been presented, then 50% of remaining balance is owed. As previously mentioned, we have not launched their site, nor is any aspect of it on the client's servers. My plan is to deliver all of their files - code, design, etc. - to them once I receive that final 50% payment.

My real challenge here, is how do I get all of this across to them without having to engage in a back and forth dialogue of why? Might I encounter any legal trouble? I'm sure they are going to be upset and angered, what is the best way to navigate these waters?