RFP's, Proposals, and Contracts – Part 3
In Part 1 of this series we discussed the fundamental differences in the types of information requests we receive. In Part 2 we discussed the proposal process and how to increase your chances of becoming the vendor of choice. In this final Part 3 of our series, we will discuss what happens after you have made the sale and how to protect yourself with a contract.
So you have worked very hard and polished your proposal writing skills and you are now seeing the fruits of your labor. You are increasing your closing ratio and clients are knocking down your door to have you build their websites. So what is the next step? CONTRACT TIME!!!
If there is one statement that holds true in business, a contract is what separates the amateurs from the professionals. Now you might say to yourself, "I have been doing business on a handshake for years and I have never had a need for a contract." Well my personal opinion is that you just got lucky and you've been dodging bullets for years. It is not a matter of "IF" you will ever need to be protected with a contract, but "WHEN" you will need to be protected by a contract.
Lets discuss some basic principals of a contract for a web development company.
Before we get into the details of this article you need to know what a contract is for. It really just serves one single purpose. It holds people accountable. If you and your client are not held accountable to each other, then your relationship will surely not work.
It's not a matter of trust. Trust should never play into the fact of requiring a contract. I trust every single client that comes my way. They have never given me a reason to not trust them. But I do not know their situations, character, morals, or ultimately how things will turn out in the future. Unless you can see into the future, get a signed contract for every job you do.
Don't start a job without one. Even if I am pre-paid 100% for a task, I make sure that I have a signed agreement. It doesn't matter how small or large the project is, I make everyone sign an agreement before the work begins.
Get an Attorney. Consider your attorney to be your business bodyguard. In the day and age of countless lawsuits and people working ever loophole to their own benefit, do you really want to put yourself in a position where you do not have trusted legal counsel? An attorney can actually save you money in the long run. A perfect example of this is that years ago my attorney told me he would charge me $600.00 to review my two main contracts that I use in my business and help me go through them to make sure they were written properly and that I would be covered in the case of a client meltdown. Well I thought that was too expensive until I had a client refuse to pay a $900.00 bill and when I discussed my contract with my attorney he told me that my contract would never hold up in court for that situation. So instead of paying the $600 and having a proper contract in place, it cost me $900, and on top of that I still paid the $600 to have my attorney review our contracts. So it is well worth it to have your contracts professionally reviewed.
Have multiple contracts for different situations. If you are a web development firm and you build websites for clients then you will want to have a contract that is specifically for your proposals. However if you provide ongoing maintenance for websites you should have a separate contract for maintenance services. You should also have a separate service agreement for hosting services, and so forth. Just make sure you are covered with the services you offer.
Make sure you limit the number of contract revisions. Endless revisions just waste time and money for your company.
Never agree to sign another organization's contract. Your client is contracting YOU to work for them. Not the other way around. Hold firm on this. Be prepared to walk away from the deal if the client refuses. In the long run you will be happy that you stood your ground on this.
Ok so those are just the basics. Now let's discuss what your contracts should include and why.
Clear definitions and clear expectations. Your contracts do not have to be loaded with complicated "lawyer talk". Make sure that they are very clear and written in plain language that everyone can understand.
Reference external documents. If your contract is for a proposal that has been accepted, then your contract should reverence the proposal number and version. Remember in Part 2 we discussed your proposals having a unique number and version? This is why you need those and you should reference them in your contract. Also any additional 3rd party documents that will be included as a part of the contract should also be referenced.
Set deadlines and consequences. How many times have you had a client that did not provide you with the content or documentation you needed and it prolonged the job beyond your anticipated timelines? Time is money! Set deadlines in your contract for your clients and yourself. This will set accountability on both sides. Deadlines without consequences are meaningless so make sure you address what consequences are in place if specific deadlines are not met. This can be tricky but it will also keep the project moving along the scheduled timeline and help keep the clients engaged in the project.
Define copyright ownership. Who owns the copyrights of the produced work. This is especially tricky in an open source environment because you must make it perfectly clear that the developers of the original code are the owners of the copyrights. For instance you do not have the legal rights to transfer copyrights of the joomla CMS when using it to build a website. So your contract needs to be very clear of the ownership of created works.
List potential problems and include a clause for these items. If there isn't any way to know what you will run into while fixing a problem, then you need to make your client well aware of it in writing and include that into your contract.
NEVER back down on the following items:
- Intellectual Property transfers upon FULL payment. Make sure that you hold ownership of your creative works until payment is made in full. Otherwise you lose any leverage you might need later.
- Termination / Kill Fees - If a client terminates your agreement halfway through the project you need to have something in your contract that covers you. You need to make sure you get paid for the work you have completed to this point and if there are any additional charges that you are going to add on for an early termination of the contract. Cell phone companies do it, so can you.
- Liability - How much liability are you responsible for. You want the least amount of liability as possible. If you have done your very best to clearly outline your proposal and contract terms then you should not have anything to worry about.
Avoid "work for hire" statements. Unless you are a full time employee, you should never agree to this as a contractor. Retain all copyrights and ownership of your creative works. Unless the client is willing to pay the price for his own copyrighted creative works you need to make sure this is clearly outlined who owns the creative works when completed. Make sure you define the copyright ownership in the contract.
Clearly define what constitutes a "Completed Project". Once a project is completed you should have your clients sign a "Project Completion" agreement that clearly states that the project is completed, delivered, and satisfactory to the client's expectations. This will protect you in the event of the final payment not being made if you have to get legal counsel involved later.
The Financial Aspects Of The Contract
How important is the money to you? If you are independently wealthy and money is no object, then you obviously do not need to worry about a contract. Or do you? You could just as easily be sued by your clients for not delivering services. A contract can help limit your liability and help a judge decide what the outcome of a case can be. If you care about your money, then make sure you get a signed contract EVERY time you work for any client.
Include payment schedules. If the project is large enough to have more than a 50/50 payment term then make sure that you have clearly established payment timelines in your contract.
Make them commit. In our contracts we state that every initial deposit is NON-REFUNDABLE! Why do we do this? Commitment, we want to ensure that our clients are committed to the project and our company from the very start. This eliminates the clientele that cannot make up their mind and have alternate agendas from the very start. It ensures that we are dealing with quality clientele that are in it for the long haul.
30 day payment terms? WHY!?!?!? I never understood why web developers agree to this. Did you wait 30 days after the project was finished to deliver it to the client? Then why should you wait for 30 days for payment? That's crazy and you should never agree to that unless you are dealing with a governmental agency. Our terms are 7 day net. That is plenty of time for the client to get a check in the mail and get you paid. And with all the digital payment options available these days there's just no excuse why you couldn't be paid within just a day or two. if the client is happy, and he has signed off that you have completed the project to their satisfaction, then there is no reason for them to not pay you immediately for a job well done. Make sure your terms are clearly outlined in your contract.
Include training, travel, and consultation fees in your contract. These are additional items that may or may not be included in your proposal. Even if they are included in the proposal you need to set clear limits so you do not get taken advantage of and end up un-willingly offering lifetime training and consultations for free.
Make sure you include a clause for court costs and attorney fees. If you ever are forced to legally engage a client then you need to make sure you are reimbursed for these cost if the judgement is in your favor.
Include a clause that does not allow external vendors that compete with you. If the client is going to have multiple vendors work on the same project make sure it is known and very clearly addressed in your contract that you will not be held liable for their workmanship and that they cannot cross over into your workspace within the project.
What To Do When Things Change
Ever heard of a little thing called "Scope Creep"? here's how to handle it.
- When do you amend a contract?
- Minor changes in design and functionality.
- Adding new minor services (maintenance, backup services, etc.)
- When to create a new contract.
- Major changes in design and functionality.
- Payment schedules and terms are renegotiated.
- Adding new major services (SEO, SEM, Redesigns, etc)
- Analyze why the scope changed. If your scope has changed, make sure you look at why it changed. This is a chance to improve your skills.
- Did you miss something originally?
- Were both parties not clear about something?
- Is the client all over the place? Do you need to get them focussed?
What To Do When Things Go Wrong
UH OH! What happened?
Client and/or Third Party Modifications. Did the client or another developer make a mistake? Have you covered yourself in this case and does the client know that they will be charged to fix these issues? If possible, talk to your clients on the phone, most misunderstandings can be resolved easily by a conversation either in person or over the phone.
You can fire your clients – Yes you have every right to fire your clients. Sometimes they just aren't a good fit for you to work with. If you find that you cannot reasonably work with a client, then sever those ties. Do it with respect, kindly, quickly, and always in writing.
Have an exit clause. If you or your client decide to end the contract you need to have a clause in your contract about how that will happen. Do you require a 30 day notice, etc.
Have you covered your costs? Make sure that your contract at the very least ensures that your minimum costs are covered at all times.
I hope that you have enjoyed this 3 part series about RFP's, Proposals, and Contracts. Happy developing!