Hacker News new | comments | show | ask | jobs | submit login
Always pay your web developers (utilitybidder.co.uk)
299 points by twapi on Jan 23, 2011 | hide | past | web | favorite | 105 comments

As much as I like "Geek wins, hah!", I would suggest not modeling this as a good practice for self-employed folks here. It is 2011: GoogLinkedBookTwitEtc have ensured that you have exactly one professional reputation. You may think future clients will see the righteousness of your actions. Consider whether available evidence suggests that you are a good judge of the character of clients.

Come back to this post in two months if you don't buy this prediction: it is highly likely he doesn't get paid.

There are better ways to avoid nonpayment. Work with better customers - reputation works both ways. Get references if required. For projects of nontrivial length, agree to milestones and bill on successful completion. Delivery of functional code should practically always be a milestone, which would eliminate most of the downside risk here. Charge a premium, both to scare away bad clients and to cover the numerous sources of risk to your ability to pay rent, of which total refusal to pay is only one.

Really only a problem for clients that don't intend to pay. I believe it is a very good thing to know if the client has grave worries about what you might do if he refuses to pay. An honest client won't even be thinking of that.

There's a long established legal principle that if you don't pay a workman he can place a lien on your property, which may even result in it being sold at auction. You can also be charged with theft of services, a real crime for which you go to jail.

If your new client is worried he might go to jail should he be committing felonies, that is also a concern.

Sorry, but I wouldn't hire these guys, and I've never screwed anyone over.

We only know one side of the story. It could be that they added a whole bunch of extra charges that weren't in the contract, and when the client balked, did this as blackmail. Or maybe the work was of horrible quality. Who knows? I don't want to work with people that could potentially go nuclear on me over a legitimate dispute.

On the other hand, I'd have no trouble working with someone that has a history of suing clients that don't pay up. Or even someone who point blank told me he'd sue me if I didn't pay up (although I'd consider it mildly offensive). Since I have no intention of doing something that'll make me lose a court case, I don't fear getting sued.

Loose cannons, on the other hand, I do fear, which these guys clearly are. Even if they're in the right, this time.

I used to run a business doing hosting, custom software, and web design. There were several occasions on which we got screwed by customers who didn't pay, or who withheld payment until we did extra work that wasn't in the original agreement. At the time, I felt that my reputation and the reputation of the business meant that I couldn't lash out on the mailing lists of the (very small) industry were were in. When I'd had a problem with someone in the industry, though, and then later someone else had a problem, and complained about them publicly, I noticed two things: first, it didn't seem to hurt the reputation of the person complaining; second, if I had complained, my example might have saved another person from also getting burned.

I now believe that I should have made a lot of noise when someone tried to scam me in this way, and should have spent less time worrying about my reputation. I'm still not sure I should have gone as far as shutting down the (online-only) businesses which I still had passwords to, but I no longer view that as beyond the pale, as I did then.

[Edit: Although, in this case, iwwr's comment suggests it was the developer who was shady.]

We only know one side of the story

That's right, and you can go in endless circles second guessing which party was in the right. If you decide that it was wrong to take the work back, you're just siding with the client. It's not hard to imagine them having done something equally drastic that we don't know about.

In many cases, contracting is effectively lawless and the stakes can be arbitrarily high. There aren't many actions I would categorically rule as out of bounds.

Keep in mind that there are people out there who are utter wrecking balls. They do nothing but damage to everyone they work with, and sometimes to themselves as well. The "professionalism" of their victims is what allows them to keep going.

I have a friend who is one such "wrecking ball". She would sacrifice pay and reputation for the satisfaction of some quick payback and cheap drama. She is however wicked skilled, but most who still deal with her do so with a grain of salt large enough to satisfy a herd of deer.

Man, it's tiring just thinking about her drama.

Loose cannons, on the other hand, I do fear, which these guys clearly are. Even if they're in the right, this time.

You don't even know the guy. They could be an incredible developer and you wouldn't work with them because they'll screw you over if you screw them over first?

Sound logic.

I hate to say it, and with all respect, but did you read my post at all? Because that's absolutely not what I said. My logic is:

1) The only thing we know about the guy is that he screwed the client over. The client may or may not have deserved it. Likely deserved it, if you prefer.

2) I don't want to work with him on the chance that the client didn't deserve it, and he'll screw me over when I don't deserve it.

Honestly, I don't see what's controversial about that. It's a massive red flag. Of course knowing more about the guy, or his situation, might change my mind. But that's true of any candidate.

(Note that I realise he's replied to the thread here now - I'm just trying to explain the thinking in my last post.)

I tend to agree with you, it would be one thing if they had it stipulated in the contract that they could disable the software, no different that a license agreement with a software lock, but to air the dirty laundry on the site, that's over the top, I would steer clear of working with someone like that.

There's a long established legal principle that if you don't pay a workman he can place a lien on your property, which may even result in it being sold at auction.

Not heard of this before - is this a US thing?

Not sure if 'property' here is meant to mean 'real estate' or just 'property' in the sense of 'stuff you own'.

While I've never heard of a house going to auction because of unpaid bills (though I'm sure it has happened), it's exceedingly common for vehicles, equipment, etc to be claimed by someone who was working on them. A very common occurence is for a mechanic to dismantle a car to find out what's wrong, then to quote the cost of repairs to be either more than the person can afford, or more than the car is worth. At that point the customer sometimes refuses to pay even the amount of work done at that point. At which point the car sits in the yard for the alloted period of time, at which point the mechanic takes ownership and sells off what is left (or, sometimes, fixes it themselves and sells for a profit). Usually the mechanic also has the right to charge a storage fee, and to levy interest on the unpaid item to increase the size of the total lien. And it's normal for the mechanic to lose out badly, which is why some people require up-front payment to undergo speculative work to find the source of a problem that could be expensive. The same goes for electronic equipment- it will cost you $200 to even open up a camera to see what is wrong, which is why most get thrown in the bin when they stop working.

No, it's not just a US thing. Various kinds of liens are part of most countries' laws, though obviously the details vary.

It's called a "mechanic's lien" and the scope of the liens vary from state to state and country to country.

Liens only legal binding on real estate things such as vehicles, property, etc..ie does not for software..

Of course it's not legally binding. He's making an analogy.

I think his wording ambiguous as to whether or not he was inferring application of the concept to software, and I personally appreciate someone clarifying that it isn't.

It was a good series of posts, either way.

Ultimately, I think I'd probably waste a couple hundred bucks and get professional legal counsel if I really wanted to be sure I knew all my practical modes of reprisal.

  You may think future clients will see the righteousness of
  your action [..]
And you will be wrong. When this story gets told, a future client will more readily identify with the client in the story, simply by virtue of it also being 'the client'. They will consider how this situation could come about and will come up with all kinds of reasons why someone could reasonably not want to pay you. What happens if your work sucks and you get into a serious disagreement? They would want that to be resolved via the usual ways, without them being harmed by you abusing (nb. their thoughts, it's irrelevant whether they are mine) your powers. All in all, it will mostly rub off in a bad fashion.

All true, but somehow it's comforting to know that this client and this developer deserve each other.

And neither learned a lesson so they'll carry on within the pond at the bottom.

thats a bit harsh

You can do whatever you want, sure. But don't pretend this kind of actions don't impact the rest of your colleagues.

patio11 is right on the money. The linked site, and the discussions here, are testament to the fact that project management and business management are different skillsets from software development.

It's not fun to make money arrangements with clients that work for both parties, but it's a vital part of running a business. For tech people, it's often neglected, because many of us just want to write code. On the bright side, it's really not that bad or uncomfortable once you become accustomed to it and have successfully navigated those waters a few times. If you are in the business of trading your time for money, then print out the last paragraph of patio11's post and meditate on it before you enter into each business arrangement.

I completely agree with this.

Even if you had the legal right to remove your code, or stall the site, (I have no idea if one would. I assume it depends on contractual obligations) and even if you decided that was your only rational option, it would still be best to handle the matter tactfully.

A future client, even if they agree with your motives, probably won't agree with your self-righteous customer-service methods. That's not the kind of person most people want to deal with. Maybe I'm jaded, but my opinion is that, if your job/contracts require interaction with customers, then part of your pay is to compensate for having to gracefully handle the garbage those customers throw at you. That doesn't mean you just let people abuse you, but it does mean knowing your options, and calmly taking them, or, where you really have no pragmatic recourse, washing your hands and moving on. That's why I hate ever being in a financial position where I absolutely need the current client/contract/job to survive through the next week.

Just my two cents, though.

Anybody who's done any consulting has run into this client before: Things are going great, then for seemingly innocuous reasons, invoices start taking longer to pay. Eventually you find yourself six weeks out and start asking plain questions over the phone. Things rapidly go downhill from there.

The key in situations like this is to always stay professional. Stop working immediately and make it clear that you'll start going again as soon as the check clears, but stick to the high road. The client will turn petty on you, will come up with all sorts of slanderous attacks on you, your work, and your character. That's fine. Let him vent. Then calmly explain once again the concept of "work for hire", and how you're perfectly happy to continue doing work for him, provided he pays his bills.

This may or may not work. On the off chance he pays up, you get to put him on weekly invoices payable immediately on receipt. If it doesn't, chances are you're out a bunch of money. Either way, try to suppress your natural geek sense of vengeance. You're the professional here. Never act otherwise.

Now, as a pro, you do have one option. Since your invoices are itemized and dated, and source control is itemized and dated, you're well within your rights to accurately roll back the deliverable to the state it was in after the last paid bill. Tell the client that you don't want him to pay for any work that he's not 100% satisfied with, and as such you have retracted your invoice as well as the work it covered. You'll keep the associated changes archived in case he wishes to purchase them in the future. You wish him the best of luck going forward and regret that you'll be parting ways.

Since your invoices are itemized and dated, and source control is itemized and dated, you're well within your rights to accurately roll back the deliverable to the state it was in after the last paid bill.

Are you qualified to give legal advice? And if so, are you confident that this advice is appropriate for all jurisdictions where someone might be reading this comment?

No, and no.

If you're in this situation, chance are it's because you're working without a clear written contract. The best you can do is work in good faith and hope that your client does the same.

In my opinion, delivering the portion of the product that has been paid for is acting in good faith. As is giving the option to proceed with the original agreed transaction, should the client desire to do so.

INAL. Of course, that acronym is always followed by bad legal advice. So for entertainment purposes only...

I suggest that taking something away from a client is more trouble than it's worth, even if they haven't paid for it. So to use your ideas with mine, don't formally deliver the completed work until you are paid.

A few suggestions:

1. Be very clear about the fact that the software is "in acceptance testing" state until formally signed off as complete and monies have been paid. It is not "In production." Agree in writing that when you are paid that you wipe any databases involved and start from scratch. This establishes quite clearly that the client is not expecting to run their business on software that is not in production yet, they are just testing it.

2. If this is hosted software, host development code yourself until you are paid, at which point you can deploy it to their system.

3. You're using source code control. Great! Establish a formal "production" branch separate from development. Bug fixes have to be performed in both branches. This is a good practice in any event, but when you're fighting with a difficult client later, they will often complain that the software doesn't work and you have to fix issues with software that is already in production before they will pay you for work you're doing on new features. Now you can fix issues on the production code while witholding new features until they pony up the lettuce.

JM2C. Did I mention that INAL?

I'm not a lawyer, either, but these are all excellent, excellent points. There's an underlying point:

0. Get an explicit agreement up front about what you're doing.

Without that, you're sunk.

Even with that, I've known clients come back a while later (disclaimer - I was the grunt coder, not the boss) and insist there had been verbal agreement to put in large extra features, or that the feature they'd spent some time engaging with you to specify clearly wasn't anywhere near correct adn needed completely replacing..... In one of those cases I knew exactly where the person concerned lived. Tempation.......

A lot of clients are just fine, do what they're supposed to and pay for it. A percentage will try to scam you even with an agreement if they sense an opportunity - even with what you thought was a detailed bill of work - because they realise you need them more than vice versa, they've screwed up and need the extra to cover themselves, or because they're just plain crooks. Shouldn't happen but it does; deal with it and move on.

I guess I should have added:

0.a. Get a legally binding signature and include a written-only clause. Make it crystal clear that if something doesn't appear in that definition of services that everybody signed and that has a price tag on it, that it isn't covered by that price tag.

I've translated roughly 3.2 million contracts for services since switching from programming to translation, and I'm pretty sure I could survive as a programmer now, just from that alone.

Getting screwed works both ways. I know I'd uncomfortable paying the final invoice before receiving the final source code deployed and working. What's stopping the developer from never quite getting around sort out the final deployment after I've handed over all my money. I know people who've experienced more or less just that.

Perhaps there is a market for some sort of third party source code escrow service, for software contractors.

Excellent question. As a developer, I suggest asking for everything. But some clients have asked this exact same question, and two things that have worked for me have been:

1. Agree on a %-age of the money as a 'hold back.' The client pays within a set period, e.g. 30 days, if there have been no problems or when all problems are resolved. I wouldn't agree to more than 10% hold-back, personally, but it isn't a big issue.

2. Agree that for each deliverable, there is a milestone for "accepted" where the client tests it on your development or acceptance system, and another for "deployed." There is a payment for each milestone. There could be other milestones leading up to "acceptance," of course, and there would be payments for each of these.

If you are in the United States, you may want to consult a lawyer about federal computer intrusion laws before you actually attempt your proposed plan of action. IANAL, however I think unless the client explicitly authorizes you to go into their site, and roll back versions, such acts would constitute "unauthorized" access to a computer system, which in addition to being a felony, has some stiff penalties. Of course, with a properly written contract, you can stipulate implied authorization.

If you're hosting and you set their site to issue 503s for non payment, that's a different matter altogether.

I have once ran into a similar situation which the man simply refused to pay the bill (of nearly $20K). I was simply not being able to reach the man on the phone or get a response by mail.

Knowing taking this into the court of justice would take around 3-4 years, I have simply set auto-redirect to random porn sites (picked the top 25 out of Google).

It took about half a day since the man have had his lawyer send me a letter saying something similar to: "we will pay you all what you asked for .... "

I am not sure this was the right thing to do, but I was quite young and enthusiast by then, and I have invested allot of money in that project (hardware and bandwidth contracts - VPS were not invented yet at that time ;-)).

If one insists on this course of action, it might not hurt to throw in a little plausible deniability.

Instead of a landing page throwing your tantrum, have the site mysteriously break and just show a cryptic error message, then just be too busy to fix a problem for a client who hasn't paid anyway. Gently suggest that paying clients come before deadbeats.

When the inevitable legal backlash comes, simply shrug and say you were getting around to it and remind everyone that there might be someone in arrears with a large payment or two. Plus interest. And late fee.

What for? Just move on. Don't waste more of your life on this. These people shoot themselves in the foot all the time, there's no need to pull a trigger.

no, the sleazy conniving wheeler dealers who run companies like utilitybidder need to be excruciatingly punished for every transgression.

Sequence of tweets:

anyone got any suggestions what to do when a client wont pay for increased development costs for work you have already completed? 5:01 AM Jan 18th via web

Should I change a bad clients site to a page that says they aint paid me and then change the password? 7:08 PM Jan 20th via Twitter for Android

this is what I am reduced to http://bit.ly/badpayers 8:34 AM Jan 21st via web

Followed by about a dozen identical tweets, until it got picked up by HN.

Note the key section: "when a client won't pay for increased development costs".

my dad (now retired) was an old school sign writer and had this sort of thing (non-paying clients) happen to him on more than one occasion.

One I remember was a shop where he spent a few days signwriting the entire front. Lots of work, most of it up on 14' tressels, and at the end the owner refused to pay. Said he didn't have to, and there was nothing my dad could do about it.

Except there was - dad went back one night with a roller, a long roller pole and a large tin of white paint, and painted the entire shopfront out. Still din't get paid, but it had two effects: one, the owner needed to get the job done again, and two: the next guy hired would be asking some awkward questions, like why did it look like the job had already been done but then painted over...

I guess that caused more trouble for your dad than it did for the shop owner, economically at least. Plus he would probably brag about your dad to other shop owners. (I agree that just doing the job for free is no solution either, but do not have any better retaliation, except for proper contracts and court claims, in mind.)

Courts are not a solution to most problems. You spend hundreds just to get started with fees, serving the other side, then the time back and forth to court over and over with the other side continuing the case. Now it is 6 months later and maybe the court will decide in your favor or maybe the court will decide that you didn't do the work as specified by the client (even if you did).

Even if the court decides in your favor, all you have is a judgement. You still have to collect. If they didn't pay before, why would they pay now? With a judgement, you have a better chance of getting your money, but not any better chance of getting it quickly. It may still take years (this from someone who's been waiting 2.5 years after filing a lawsuit to have my case heard - courts are really backed up).

Yes, winning usually still means you usually don't get paid.


"Only 8 percent of those winning plaintiffs collected, court records show. Officials say some plaintiffs might not have notified the court, so as a backup test, the Times contacted 39 winning plaintiffs. Eight -- 21 percent -- said they had been paid.

Court officials nationwide confirm that whatever the real number is, it's low.

"Most plaintiffs would be better off taking their money to the roulette tables in Biloxi, Miss., and placing it on red," said Jimmy Dye, a collections lawyer who works throughout Florida. "They'd certainly have more fun." "

Go on Judge Judy or something. The TV shows will actually pay you if you win.

They actually pay you regardless of the verdict.

Depending on just how big the unpaid invoice is, in some states small-claims court is an option; it's cheaper and quicker usually. Here's a list of each state's limits for a small-claims-court suit: http://www.nolo.com/legal-encyclopedia/article-30031.html

This a route I took last year for a client. I self represented and the clerks at the courthouse were friendly and helped where they could. In North Carolina, the cap for small claims action is $5000. Once my case was heard, it took 10 minutes between the start and a judgement in my favor. From start to finish though it took two months so as to serve a summons properly and allow time to appeal the judgement.

It helps if you've received checks from the company previously and can give the bank account information to a sheriff to collect for you.

yeah, that really wasnt an option as I am resident in Thailand where legal proceedings are usually settled with big brown envelopes and such.

If the company is based in the UK you could have had a local representative to file a claim.

It may be of course that you have no legal recompense; however I'd exhaust all possibilities in that direction before sabotaging a site.

Perhaps what's needed is a "name and shame" list of deadbeat clients somewhere that developers can check before accepting work.

Hundreds? Maybe in small claims court. If you are talking about more significant amounts, plan on at least $5 - 10K in fees just to get in front of a judge.

As a non-web developer (I'm a lawyer) I learned long ago that there is a financial point at which the balance of power switches from me to the client.

When the client owes me a trivial amount of money I can afford to walk away from the job if I want to. If the client owes me a lot of money, now I am shackled to that client (and the job) because I am chasing my own money.

The key is to never let the client owe you too much. For me this number is about $2,500.

The way I solve this problem is

(1) by getting a substantial amount of money up front; if I get ANY guff from the prospective client when I ask for money, I know how I will be treated for the rest of the project and I may choose to back off at that point.

(2) watch the invoicing very carefully and if they are slow in paying, stop work until they pay. Mr. Pavlov's ideas are in action here: the client is rewarded for slow pay by halting of work with a message "Hey you owe money."

According to his website, guy's a Scot and living on a small island in Thailand, Koh Phangan to be precise. Good luck with taking legal action.

lovely place and cheep

couple of contracts a year paid in pounds/usd/euro/yen and you could sustain a happy life.

visas are a bastard, you need to skip the country every few months to renew your tourist visa.

yeah, its cheap for most, but when you have a work permit and a company setup so that you are operating legally within Thailand it can become expensive paying yearly company taxes and fees.

I have had Thai clients ask to see my work permit before and I am very proud to be able to show them it as most foreign freelancers dont have one.

Can you share the numbers please?

yeah, legal action really aint an option, not sure about the UK courts either as the contract was signed in Thailand.

Amateur developer, amateur clients.

This seems very unprofessional and amateurish - on the part of the web developer. Yes, maybe the client didn't pay, but resorting to this type of public lynching will a) kill any remaining chance of compensation/reconciliation and b) probably damage the reputation of the web developers.

I've had my fair share of clients who didn't pay for various reasons. Sometimes, small claims court was in order. Sometimes, having patience and giving a struggling client time (literally almost 5 years) led to a payment in full (plus interest!) completely out of the blue. The guy's business picked up, and now he's still a super happy client.

What goes around comes around.

"This website is in the mail. Coincidentally, the same mail that you, dear customer, used to send the payment cheque. I'm sure it will arrive, any day now."

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.

It doesn't sound like you put a price (both in added time and money) on the additional out of scope features. So instead it looks like your super late, and want more money. Not a good place to be with a "why do we need a website" client.

exactly, easily my biggest failing on this is intimating exactly what extra costs would be acrued when the initial contract expired and adjusting end dates. Then if they pulled the plug fine, at least I wouldnt have been working for the last 14 weeks for no money and could have moved onto another project.

I'm a business manager who knows how to code (poorly). Rather than pursue programming, I saw an opportunity for be to bridge the gap between programmer and customer, so I have a lot of experiencing guiding developers away from catastrophes like the one you suffered.

Two things to take away from this:

* If you provide a fixed price without a fixed spec, you had better be prepared to lose your shirt. Fixed work means fixed spec. Always. Any changes must be accompanied by a document (a change order) that spells out the impact to the bottom line, because that's what business managers care most about. The key is to make sure you clearly communicate the impact to the bottom line all the way up to the check signer.

* Never let a project get to 14 weeks without the check signer (not just your contact or stakeholders; the person who will sign the check) knowing that you're accruing billing. It doesn't matter how good your friend is, you don't want them in a position where they're having to act the odd-man-out in order for you to get paid. It may be the "right" thing to do, but you can prevent them from ever being in that position by setting up communication that reaches all the way to the person who pays the bills.

A story something like this - except I managed to finish it and get paid my measly pittance - is what earned me EIC in 2004 and drove me from the software development industry entirely, as I recognized at that point that I had no business pretending to be a business.

My biggest worry is that the ignorant individuals could call this "hacking" and initiate proceedings that could make your life very difficult. More to the point, England has shown itself to have some really stupid "hacking" prosecutions in the last decade. I would make sure you haven't opened yourself for such charges.

As it stands, I would not have started the additional work in October without further contract and payment schedules agreed to. If I had not done that, I would have been sending invoices all along and stopped work a lot sooner than 14 weeks.

As you are not in the UK, the situation is a little more unusual. Otherwise, I'd file a claim with the Small Claims Court (assuming its within their max amount). Keep all emails, letters, log of commits and so forth.

Here's some advice to start with:


There are also collection agencies that can enforce the ruling.

For larger amounts, it's probably worth going to a lawyer.

Generally a company unless it has severe financial issues may just want to prevent the hassle of going to court, and just pay you what you are owed once the threat of legal action arises.

There is no damage to your reputation for taking a client to court for non-payment. Small businesses have to do this all the time.

However I would NEVER take down any sites, intentionally sabotage software etc. as that may make you liable under law. And, as others have pointed out here, there are two sides to the story, and a court gets to hear both sides.

they do suck. you should have left all of that up. you should wipe their server harddrives while you're at it.

No, I left the server intact with work that was completed on the last day that they paid me, if they pay me the remaining amounts, then I will release the completed codebase to them.

Now that I think about it; I think the site build was initiated after that date so I could have just deleted it, maybe that would have been a better action, but anger and the heat of the moment can cause you to lose your cool.

He's pretty bitter!

He also changed the footer of the main site!

It's a Drupal site, so you can get an idea of what it looks like non-offline by going here: http://utilitybidder.co.uk/user/

And that page has another footer: "we ripped off our web developer for this site and never paid him for work he done, if we knew where he put this bit of code then we would remove it, but we cant find it, we suck. maybe its better you just go to Uswitch" http://www.uswitch.com/

This is encoded in the web page as 'we ripped...'

My company deals with university sports teams, so often this is a state institution paying us. Most invoices are paid net 60-90 despite the terms in whey contract being net 30 + fees after. Occasionally and predictably we have clients in the net 120 or worse camp. There is no dilute about the work or the billing, just the finance office not doing their job, not getting the correct POs etc... We have one Job right now we did in august and have not been paid for despite having a PO to start. Did I mention this is the third year we have done similar work for them?

If we did something like this we'd be out of business. At large companies the person you sell to is not the person who pays you and creates all kinds of problems. All you can do is work the system and try to plan for it in your pricing. We just give less discounts and charge more for the hassle up front. Puts a hurting on the cash-flow though. We never not been paid.

You may wonder why this site is offline, if you are reading the source then you are most probably a web developer that has been paid to change this.

					I put this here as the company in question broke our contract and left payments outstanding, 
					as a last resort I put their site offline, what else could I do.
					Make sure you are paid up front, even if you have a contract, they aint worth shit.
-- Source code comment, haha.

I'm still not sure why I upvoted this. I think because it was surprising - high entropy. I'm not sure if I consider this "right," but you have definitely made waves.

It would be kinda funny if this were all actually a viral advertisement for USwitch.

That's brilliant. I didn't catch it at first, but then I returned to the page and read the copy and it's very, very clever.

In how far is this action "clever"? It isn't even original.

As far as I know, it is a common fear among small companies that some unhappy third parties like unhappy web designers misuse their server credentials to get up to nonsense.

The web designer intended to demolish the reputation of the company. (Who wants to work with a company that doesn't pay the bills?)

However, if the web designer becomes publicly known, it might be a much greater damage to him. Who wants to work with a web designer who has proven to deal with payment issues in a totally unprofessional way, and who has proven to be somewhat proud of misusing trust?

The google cache for the site has:

Site Content Copyright © 2010 Utility Bidder Ltd. | All Rights Reserved | Website Development by Jungle Creative (www.junglecreative.com)

It looks like a one man act from Scotland. If its not him, but someone else later down the line, he'd better get on the stick because right now, the ugly is pointing at him.

Edit: Actually poking around, he seems like a decent fellow, rocking the nomad developer dream on a little coconut island. Doesn't seem like something he should/would have done. That might make this doubly ugly. "Utility Bidder" may have hired someone else for further work who took the whole thing down over a dispute about their little part. That would be most uncool.

Scotland? Jungle Creative mentions Koh Phangan, near Thailand, as their location. Did Earth change while I wasn't looking?

The developer is from Scotland, he lives and works on the island. Sounds like a nice life.

By looking at the guys "recent work" and his blog, I tend to understand the behavior of his client...

Maybe he's getting his 235th visum? ;-)

Maybe. Nevertheless, I'm wondering, whether his web "design" and behavior is common among people living on a small remote island. I really like to see some statistics about that ;)

You should also have a look at the comments in the HTML source of the site. :-)


The problem here is not non paying clients..

Its refusing to do proper pre-client interviewing to weed out non paying clients.


Groovy, I hope they don't sue your ass. What you've done is not dissimilar to what the US did to Guantanamo prisoners when they suspended habeas corpus. Sentence without trial. In future I suggest you take your lack of payment up with the relevant authorities rather than demolish the building they paid you to build.

rather than demolish the building they paid you to build

The problem is that they didn't pay for the building. If they had paid for it, he wouldn't have demolished his own building.

Just because you ask someone to do something for you doesn't mean that you have to do it. In this case, someone asked the web developer to build a website. Instead of doing that, he just made a "this person sucks" website instead. A great business move, perhaps not, but legally questionable? Also not.

Even if his contract stipulated that he owned the website due to nonpayment, I seriously doubt that it's legal for him to put up "This company sucks" at that company's domain and with that company's logo. And this is in the UK which has (I believe) notoriously stringent defamation and libel laws.

You know, if you had just written the first sentence, this comment would have been fine. Reading the silly digression about Guantanamo took this from "reasonable point" to "are you serious?"

When I first saw the site I thought great for the developer. When I read the analogy I rethought my position.

I think the analogy is somewhat apt. The legal system is the mechanism for enforcing contracts and bypassing it out of convenience should be frowned upon. Habeous corpus was inconvenient so it was bypassed. I'm opposed to the suspension of habeous corpus and in the interest of consistency I ought to be opposed to what this developer did.

He didn't demolish a "building they paid" for, if they didn't pay. Of course, it lies in the details, and he hasn't provided us with any, so it's hard to judge. It does seem like the wrong approach, but I can understand his sentiments.

Well, it really depends on the contractual stipulations. If the web developer is smart, he will include a clause indicating that he owns all domains, servers, and other electronic assets he creates or administers until payment in full is rendered. Under such conditions, I don't see how the non-paying group can really have a case.

Such stipulations are a good idea because companies are much more likely to pay you and pay you promptly when you take their site offline than when you pursue conventional collection methods (including lawsuits/small claims).

Even so, the developers could have taken the high road and put up a generic "This site is currently offline. Please check back soon." message.

When people don't pay their phone bill, the phone company politely tells callers that "the phone number is no longer in service." They don't have a recording saying "Bill is a loser who can't pay his bills, so we TP-ed his house and called his kids ugly ... oh and you should probably be friends with Jack instead, he's better looking!"

You know you have a problem with how you treat your customers when the phone companies do a better job than you.

I agree, I'm not endorsing the message specifically as posted. I was replying to the parent about lawsuits, not the propriety of the offline message.

no, phone companies are large and can pursue legal action. as much as you want to think of corporations as persons, your analogy does not hold up against a single developer located in thailand.

Fair point. I was not aware the developer was outside of the US. However, I still think their reputation stands to suffer if other potential clients find out that this is their modus operandi when bills go unpaid.

> Groovy, I hope they don't sue your ass.

I'm not sure what they could get sued for. Libel? The only statement about UtilityBuilder is that they refused to pay their developer. Breach of contract? This seems more likely, though I haven't ever seen a web development contract, so I don't know what kind of clauses it would have about failure to pay.

>The only statement about UtilityBuilder is that they refused to pay their developer.

Actually, there is also a statement that the user would be better off using a competitor because "we suck".

Sure but that's a statement of fact.

it's also only in html comments, not something most people would see.

> the building they paid you to build.

so you're not paying attention at all? they did not pay him, that is why he did this.

well, you can either trust the "relevant" authorities (police, god, ...) - or you can make things happen (entrepreneurs) and ask - if necessary - for forgiveness later.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact