5 ms·
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 t
by jasonkester 16y ago
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.
- raganwald 16y agoSince 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?
- jasonkester 16y agoNo, 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.
- raganwald 16y agoINAL. 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?
- Vivtek 16y agoI'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.
- eftpotrm 16y agoEven 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.