I thought I had better write an explanation as my actions here seem to have kicked up a bit of a furore, undoubtedly that was my intention, although maybe not on this scale, more of an attempt to embarass them.
I am not sure of how much I should go into as I signed an NDA with this client although the contract that it was attached to ended in October; maybe someone with better contract law knowledge than me will know more, either way I will try to be vague.

A little about me: I am a freelance developer, educated as a software engineer in Edinburgh then started leaning towards web development a few years back. We quit Scotland 4 years ago to come and live on a tropical island in Thailand where I could take my time winning small jobs, enough to earn what I needed.
Indeed its been quite a successfull last few years, winning many jobs for web development and graphic design, all of my clients have came back for more work. The fact I havent updated my portfolio or blog in over a year is a testament to how busy I have been.

The bare details: I very good friend asked me to help him build a website and a backend system for his staff to use in their day to day business. I quoted a ridiculously low sum of money compared to western standards but a worth that I felt I deserved for the work considering I live in Thailand where the cost of living is less.

The contract was for 6 months initially for a fixed fee split over those 6 months. With regards to the system, which has swollen to quite a full featured product, something I am very proud of, possibly my best piece of work to date, just a shame it wont appear on my portfolio now.
The specifications for the sytem over the course of the development had many more additional specifications added to cover internal aspects of the system that were not originally envisaged, obviously not fully taken into account when originally quoted.
My contact at the company was good, he understood the pitfalls of custom software development and when I explained to him about why the project has taken longer he understood and we carried on regardless. As I said the contract ended in October, the same month they stopped paying me when they suggested that they wanted to suspend my weekly payments and pay me a lump sum upon completion.
I understood their reasons then for doing this and since the project was behind schedule I aggreed to this.

Now I find myself within 2 weeks of delivery of the full system, so I start getting my invoices together for the last 14 weeks of development. I forward them to the client and I am more or less informed that there is no way they are gonna pay that amount. Lesser amounts are then offered, tied to some crazy scheme regarding "support" over an extended period, god knows where the payment for the "support" period was coming from.

In the end it was a stalemate, I felt I deserved my meagre salary, it will cost them a lot more for a UK dev to finish this where their daily wage is more than my weekly wage, so I always thought I would win through. This is actually their second attempt at building this piece of software, the first one was a non-event with an indian company.

The company even flew one of their guys out here to help me finish off the system - my friend, the guy whose idea this all was, he wrote the 'spec' for the software. He has tried to get the UK bosses to agree to this and that but they wont budge, I feel there is apower struggle within the conpany but I wont go into that as it is pure speculation.
In an attempt to help them understand software development, that sometimes you dont
know all of the variables until you start, etc, etc, I forwarded a number of websites and blogs that had interesting articles regarding the development process and reasons for their failure or late delivery, I was told it was pointless sending them as they wouldnt read them as they dont care. One of them was even supposed to have said "why do we need a website?" , now how am I supposed to convince this guy about the trials and tribulations of building a customised piece of software.

So yeah, talks broke down, I felt pissed off, I then sent archives of updated files for the system to my contact, not really updates but resetting the systems development back to where it was when they last paid me over 3 months ago. I then done the same on the server system that their staff were helping bug test. I then; foolishly now I think, put their site into maintenance mode and switched the maintenance page to say "You aint paid me, you suck". The site structure that was there is still there, if somewhat unfinished, all I changed was the maintenance page; I am sure any Drupal developer knows how easy that is to switch off. I also added an extra variable with encoded content onto the $closure that would display if they managed to get it out of maintenance mode. Encoded it just to make it that bit harder to find and remove :)

I do regret doing this, not because of my actions, but as I said before, the guy whose idea this was is a friend, he is a third of the board, it was the other two thirds that swayed the vote though, and I feel bad for him. I know I am not getting paid, my money is long gone, I wouldnt have done this if there was a chance of reconcilliation, I have known that for the last few days, they wont agree to my demands and I wont agree to theirs - stuck in the middle.

I have now changed the offline message to simply say "You aint paid me" and have removed the encoded $closure and I dont intimate that "they suck" anymore, its amazing what the harsh light of day makes you see.

I see a lot of flamers and haters out there, no doubt a few of you will come back on and berate me for doing this, as I said, my actions were harsh and misguided, but if a client bumps me in the future I would probably do it again.

As a developer you learn something new every day, be it a sweet bit of javascript or some cutting CSS technique, this project taught me lots over its course. The biggest lesson I take from this though is how to handle clients that become problematic, how to word contracts to cover all eventualities during development and that rash actions are usually regretted in the harsh light of day.

So yeah, thats my 2 cents worth.

What would you have done, I would love to hear what actions others would have taken.