From codementor, Ben Oliveri provides excellent advice on what you should include in a contract with a freelancer. Ben recommends these:
Vital Clauses of a Freelance Web Developer Contract
Every partnership and software project project is unique, and the contracts that govern them should be too, but core clauses and protections will remain in place. Here’s what’s most important to have in freelance development contracts.
Expectations and Responsibilities
Expectations and responsibilities ensures that all parties are clear on what role they should play, how they should cooperate, and what the expected result of the engagement is. The client should detail the goals, scope, and requirements of the engagement. They should also provide any information, resources, and capital that will be required to reach those goals.
Expectations and responsibilities also need to define the service to be rendered. For example:
The developer will write a content managing system (back-end logic and front-end UI) using Ruby on Rails. The developer is not responsible for inputting images, or text. The developer will perform unit and integration testing, as well as front-end testing for the latest versions of desktop browsers Safari, Chrome, and Firefox. The system will not be written for mobile browsers, and there will be no mobile testing.
Notice that the service to be performed clause also detailed what the developer was notresponsible for. It’s important for the freelancer to specify the limit of their responsibility so that client-contractor expectations are aligned uncompensated work is avoided.
Specific requirements may be more detailed in a document that accompanies the terms of service contract, often known as a statement of work. If drafted by the freelancer, it is referred to as a project proposal. This document should also define what will be considered a work product, the tangible and intangible results of the service provided by the developer. Defining the work product helps to make the goals and scope of the software project explicit.
Independent Contractor Clause
The independent contractor clause is important to avoid undesired taxation. Without establishing the independent nature of the service exchange, the client will have to pay employee taxes, and the developer will not be able to deduct business expenses as a sole proprietor. The standard independent contractor clause looks something like this:
Each Party shall act solely as an independent contractor, and nothing in this Agreement shall be construed to give either Party the power or authority to act for, bind, or commit the other Party in any way. Nothing herein shall be construed to create the relationship of partners, principal and agent, or joint-venture partners between the Parties.