When you’re starting out as a freelancer, you need to know how to write a contract. It can be tempting to do work without a contract, and most web designers have done it a few times. But if you don’t have some sort of written agreement (even if it’s just an email message indicating what you’re going to do and for how much), you run a very real risk of not getting paid for your work.
One of the main reasons new freelancers worry about contracts is because they assume a contract must be written by a lawyer and have lots of fancy text and multi-syllable words. But a contract is an agreement between two parties. For most web design projects, there are a few things you need to include in your contract, and as long as both parties agree, the contract should be binding.*
Contracts can be intimidating for customers as well. Some clients may feel offended at being asked to sign a contract. But contracts protect both you and the client.
What Information to Include in a Web Design Contract
While a contract can contain anything that you or your client want, there are a few things that are standard, including:
- What work will be done
- What services or work that fall outside the main body of work
- Where the designs will be hosted
- How long it will take
- How maintenance will be taken care of and by whom
- Contact information for both client and designer
- Other boilerplate provisions
The Statement of Work
The statement of work is the main area of the contract. It details the work you will do for the client. The more explicit, the better. For example, it’s better to say
“I will create five (5) web pages for the ABC company comprised of two to five (2–5) paragraphs of text and three (3) images provided by ABC company.”
“Build a website for ABC company.”
Include details like:
- Requirements defined by the client
- HTML development planned
- Programming languages to be used
- CMS tools for the site, if any
- Browsers and mobile devices to support
The more details you include in your contract, the less likely you’ll be caught by scope creep.
Scope creep is when a client keeps asking you to do more and more work without changing the terms of the contract. In other words, they want you to do more without paying for it. If you don’t get a contract agreement with very clear work details, you can end up working for months on a project without ever getting paid because the project is never “done” to the client’s satisfaction.
Your contract should include how you will handle scope creep when it shows up. That is dealt with in the pricing section of your contract, but you can put provisions in the statement of work for adding features.
Services Outside the Main Body of Work
Many web design clients want more than just web design work. This could include search engine optimization (SEO), marketing and promotion of the web page, social media work, and content creation. Your contract should make clear what other services you will (or may) provide for the client.
Many freelancers use this portion of the contract to market other services they may offer beyond what the main contract is providing. For example, a graphic artist might indicate that she can create images for the website for an additional fee, while an SEO expert might offer an SEO evaluation if the client is willing to pay more.
The key to this section is to make it clear that these are additional services beyond what is being offered in the contract and that these services will incur extra costs and might take additional time.
The contract should indicate how the client can add these services. For example, you might be willing to create up to five videos for the client if they give you three weeks notice (and agree to the extra cost), but they need to tell you at least three weeks before the videos can be done. Or you might only be willing to add on extra services if the client requests them before the final contract is signed. It doesn’t matter how you accept this work, only that you make it clear to your client.
Hosting and Domain Names
Web hosting and domain names are often a place where freelance contracts fail. Either the designer fails to specify their need for access to the client’s site or the client assumes that the web designer will set up and pay for all hosting and domain fees, or something else equally annoying and expensive for you or the client.
Your contract should specify details about the hosting and domain name so that there is no confusion. Include things like:
- Where will the site be hosted?
- Who will pay for the hosting?
- What domain will it use and who will be listed as contacts?
- Where will testing and evaluation be done?
- Who will pay for hosting and domain name service?
I have heard stories from web designers who did tons of work for a client only to lose most of their fee because they were expected to pay for and host the website themselves. I have been listed as the “technical contact” on domain names for sites that I have no access to, and so can’t make any technical changes if there’s a problem. In one case I got stiffed the cost of a five-year domain renewal because I had set up the initial domain and the client did not update the DNS provider when they took over the site.
If you don’t specify domain and hosting information in your contract, your clients can be hurt too. I know of clients where unscrupulous web designers held their content hostage until they paid more. In one case, the client’s website was completely deleted because the web designer got angry and there was no contract in place. By showing that you care for your client’s well-being as well as your own, your contracts will be viewed more favorably, and they will be more willing to sign and pay you.
The other thing you should indicate is what type of access you will need to put the website live. This is an issue for redesigns, but can apply to new sites as well if the client is handling hosting and DNS themselves. The contract should indicate things like:
- How you’ll connect to the server: SSH, FTP, CMS, or some other way
- How long your connection should be available to you. I recommend at least a month after the project is complete to fix any issues that come up after launch
- Who will maintain access accounts. Will you be administering their site or do they have someone on staff who will.
Any web design contract should include how long it will take you to do the work and when you anticipate it being completed. It should include things like due dates for deliverables from both you and the client and dates when partial or complete payments are due.
It can be tempting to put an absolute date, such as November 6, 2014 in the contract, but this is a bad idea. Web design requires interaction with at least two to three different people and groups to get a project ready for launch. And while you can control how long it takes you to complete your portion of a task, you have no control over the other people who might have content or information you need to complete your job.
For example, consider the following scenario. I agreed to do a job for a small website. My job was to create the design for the site and post the content (images, text, and video – all provided by the client) into the design. I would receive final payment after the website was built, approved, and launched.
Once I received the content, I posted it to the testing server to receive approval from the client that it was ready to launch. This took another month. Once I received approval, I moved the pages to their live server and the job was complete.
If I had set absolute dates for when the website would be done, I would have almost certainly been in breach of contract, not because I was late with my deliverables but because the client took two months to provide content and approve the design.
Even still, many clients want absolute dates. They will tell you “I want this site up last week!” and express huge concern for the timing in the negotiation phase. But then when they need to give you something, even something as simple as an account on their CMS, it will take a lot longer than you expect it to.
This is why I always word my contracts in the form:
“Creation of HTML will be complete within seven (7) days of receipt of SSH access to [client’s] server.”
In other words, if work I need to do cannot be done until I receive something from the client, then I write that into the contract.
Be aware that this can backfire as well. For example, I once said I would complete a design in five business days after the client gave me the content. The client then gave me the content the day before a four-day school holiday. The days were still business days, but there was no way I was going to be able to compete the job in the time I had mentioned. In this situation, you should talk to your client. People get sick, things happen. Most clients are understanding. But you may be expected to adhere to the letter of the contract.
So your contract should have due dates listed in it, both for you and for your clients. If you are asking for interim payments, when they are due (and what triggers them) should be included in those due dates.
If you need to estimate how long something will take, be sure to indicate that in the timing section. I have found that if your times are estimates, it’s better to provide a range, i.e. two to four (2–4) business days. And always give yourself more time than you think you’ll need.
The last thing you want to include in your timing section is a “backout“ or expiration date. This prevents the client from receiving your contract, ignoring it for two years, and then coming to you and demanding you honor it. And, yes, I have seen this happen. You should include how long they have to respond to the contract as well as how long the contract terms are valid.
For most people, whether it’s clients or freelancers, this is the most stressfull section of the contract. I’m not going to go into detail about how you should set your prices in this article, but you should have some idea for the contract.
Your contract should indicate if you’re going to charge by the hour or by the project and what additional (if any) charges might be applied.
If you offer additional services for an additional cost, that cost should be spelled out here as well, and include what needs to happen for them to be invoked.
If you are asking for interim payments before a project is complete, you should indicate how much they will be and when they are due. You can set absolute dates or base them on milestones within the project being completed.
One feature of most websites is that they are always being updated. And you and your client need to decide how maintenance of a site will be handled once your design work is done. Who is going to do it? How will it be paid for (hourly rate? monthly fee? etc.)?
If the client is going to maintain the site, do they need training? Are you going to do the training? Is that training included in the entire project cost or is it an extra charge?
This is another very important section that you should include in all your contracts: contact information for both you and the client. I recommend getting as much contact information as possible, including phone numbers, email addresses, and mailing addresses.
Boilerplate is standardized language found in contracts. Most of the time these are provisions that just don’t fit anywhere else. These are often included under a title like “Miscellaneous” and are placed at the end of the contract. Freelance web design contracts include boilerplate like:
- Arbitration – indicating that any disputes will be resolved through arbitration, not a lawsuit
- Jurisdiction – where the lawsuit (state and country) must be filed
- Notice – how notice for things like termination of the contract must be provided
- Assignment – whether either party can transfer the rights in the contract
- Relationships – most web designers are not employees of the company they are contracting for and this spells out their exact relationship
- Copyright – who owns the copyright on any content created (typically, web design work is considered “Work for Hire” and all copyright reverts to the site owner)
- Attribution – where and how attribution is displayed for the work done on the website
- Confidentiality – guarantees that the parties will not disclose certain information
You can learn about many other common boilerplate text at NOLO: Law for All.
Now Go Out and Write Your Contract
Once you know what the parameters are for the project, you can write your contract. By including all the sections listed above you know you’ll have covered the majority of web design contractual issues.