9

I had this case once where I delivered a test release to an employer to show if it met his requirements. He paid a few rates for this work.

In the following months, I got a few calls to change parts of the program. After finishing the program and giving it to him, he began paying the remaining rates. But after some times the payment stopped at the last rate. It's not much money, I talked to him about it and he immediately paid.

But suppose an employer is not so honest. Is an implementation of some security features (e.g. implementing a time limit, which restricts features) a way of making sure an employer pays? Or do I just have to trust the employer?

  • 2
    as a comment since it reinforces what others have said but: don't do this. If you ignore me on this, If you are going to do this, make sure it is negotiated up-front in the contract. Do not do it behind your customer's back. – Chris Travers May 27 '13 at 4:10
13

Be careful with this. If you intentionally implement a back door in a work product you're developing for a client, and the client finds out about it, you may find that the trust between you and your client will be destroyed. Also, there may be legal repercussions if disabling the product or application has a negative impact on the client's business.

Also, consider that there must exist some degree of trust between you and the client. They're trusting you to deliver, and you're trusting them to compensate you for that work. If they discover you've intentionally written a security hole into their application, you may find yourself out of work, branded as a fraud, and unable to convince others to trust you.

But lets say they do delay or withhold their payment. Remember, there's more at stake than just your money, there's also the livelihoods of the employees who work for the client, and the businesses and livelihoods of the clients who rely on your client to provide services. If you do something to harm your client's business, you may unintentionally do more harm than you anticipated. I can't say for sure if there would be legal consequences or if third parties could file a case against you, as I'm not trained in law, but I would personally have trouble sleeping at night if I did something that put some innocent person out of a job.

Consider that this is just a cost of doing business. Some clients will pay, and some clients will not pay for a wide variety of reasons. Some may pay months later after you've sent monthly, professional past-due notices as a reminder. The best way to protect yourself is to make sure that you bring in more revenue than your expenses so that you build up a cushion of cash so that one deal gone bad won't put you out of business.

In fact, this happens to businesses all of the time: They become tight on cash due to cash flow problems and can't pay their debts. But once they dig themselves out of their predicament, they will likely work on paying vendors who they owe outstanding balances. These established businesses don't get mad or launch attacks against these parties; instead, they remain professional and continue to approach these collections legally and professionally.

If you're going to work as a contractor, you'll be working in a professional environment. That means you must conduct yourself with the same level of professionalism that you expect from your clients.

6

When payment from a client becomes a problem, the best leverage you have to not do any further work for the client until they pay. You don't have to be angry or in any way unprofessional to the client about the matter. Politely let them know that you're looking forward to the new work and will be happy to start on it after you receive the payment that you are due.

If the delay means that your availability may become limited due to engagements you pick up from other clients, keep your non-paying client apprised of that risk in a matter-of-fact way. Your goal isn't to upset them, but it should be clear that you are doing what makes reasonable business sense for you as a provider of a valuable service.

3

The short answer is : backdoors will eventually be found and can damage your reputation and cashflow. Learning who you are dealing with and then growing a pair , and not being scared to formulate your terms and then enforcing them is by far the best solution. Most customers will be happier if you let them know where they stand. Take control.

Here's how I came to that conclusion...flashback to 2007 ...

I worked on a project where I stumbled across a backdoor put in by a previous developer. The customer had taken 8 months to pay me for my work and only paid when I mentioned county court to their finance department. I can only imagine how long the previous developer had to wait for his money to have put in a back door. The lesson here is that it took me 8 months to mention county court "nicely" to their finance department, I didn't threaten it , I just asked them very calmly "I've called you 15 times and I've now waited 8 months for payment. I'm not sure what your accounts department payment policy is but have you been briefed by your director to not pay invoices until you are taken to county court?".

Within 7 days the cheque arrived but I left that backdoor in , not for myself but just because I could see how they had earned it and thought they hadn't redeemed themselves sufficiently for me to do them any favours, but also it wasn't part of my brief to secure their website.

I've also managed an outsourced project where I again stumbled across a back door that would deleted the database and code. But this time I'm on the other side, I have the purse strings. I understood why they did it, their management threw inexperienced workers at the project so quality was abismal and I spent months rejecting their work because of quality. They probably did end up making a loss but it was because of their own incompetence and cost cutting. I would say that under no circumstances would I ever consider passing work their way ever again. The nail in the coffin was the back door.

I did however end up working again for the company that took 8 months to pay. But this time I dictated the terms, 50% up front 50% on completion and I wouldn't start any new development for them until they paid any outstanding depts with me. Any longer projects would have well defined staged payments. I never had to chase them for money again.

Consider that some companies are like badly behaved children that you must be strict with or they will walk all over you. The decision to not pay on time is often an accounts department policy to improve the company's cashflow and as previously stated by others, freelancers can often be the last to be paid, reason being they don't employ pitbulls to chase money owed.

Hope this adds something to the discussion.

2

It isn't an unusual practice to provide the software with limited time licence, and provide the unlimited time licence after the whole sum was payed. I've met with such practices, and it was really good working for customers who weren't going to pay. It wasn't because they hadn't the money - when the trial licence period ended, they've payed almost immediately. They had simply other priorities - unfortunately, if you are freelancer, you are usually the last on payment list.

Howerer, you must be honest about it. You can't hide such feature, in other case the client would start to think, what else is hidden.

You can, for example, say, that you give the product with the licence valid for 6 months, and as long as the last rate is payed, you give the unlimited time licence. If a client has financial problems, you can always negotiate and, for example, prolong that licence for another 3 months.

But remember, it's your client's duty to pay you for your product! If you don't pay taxes, you'll go to prison. If you take wares from shop without paying for it, you'll go to prison. If you don't pay employees on time, you'll go to prison. Why should you be the only one, who can not receive the money without consequences?

  • Would a limited time license also work for websites/CMS? Even if they are installed on the client’s server? – unor May 28 '13 at 15:59
  • Hmmm in every case client may try to subvert the licence, but it would be much easier in PHP project (or project in any non-compiled language) because you give the source code. But usually clients are not hackers :) – Danubian Sailor May 28 '13 at 17:54
1

There are legal routes to take with your client such as debt collection. However if you take this route you will need to provided adequate proof that the client owes you money and you have satisfied all the legal requirements for your country/state (this normally involves sending a required number of notifications both electronic and verbally over the phone and provided the appropriate time to respond).

Often the threat of debt collection (and the ramifications on the client's credit record) is enough to get a payment out of the customer. Failing that it can still lead to a partial recovery (depending on the debt collection company's take and the total amount recovered).

Just to stress, this should be a last step and probably only taken after consulting your local laws (or a lawyer).

  • Hi Tom, welcome to the new Freelancing SE Beta. Thanks for taking the time to write a great first post! :) – jmort253 Jul 9 '13 at 2:55
0

I am very clear with all my clients honesty works both ways. So I will generally not put in any backdoors.

However on the rare occasions I sense something maybe going a miss I do setup a backdoor, but this is all in the contract and I very politely mention when everyone is in good spirits "just like your gas company can cut you off if you don't pay the bills I can too. I am sure that will never apply but I do feel I should be open with you."

If your work is web based possible consider offering the web hosting to go with a product, I do and whilst is only just covers its cost it does give me peace of mind, I need no backdoor for these clients - I am in control. And most the time clients are happy, they want me to be in control - they don't want to have anything to do with it!

0

You are far better off ensuring that you have strong contract language defending your position than any technical means. If you have strong legal grounds, the technical measure is unnecessary as you can force them to discontinue use or pay up. If you don't have strong legal grounds, they may actually be able to go after you for putting in the limiting feature for work they were paying you for.

If you can't cover yourself legally, then technical measures will only make you look bad and possibly land you in financial and legal trouble. The only time such technical measures really make sense is in the scope of broadly used software where it isn't feasible to ensure contract obligations are met (or that contracts or sales even occur) when dealing with broadly useful software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy