Your name and the name of the client
All contracts have to specify who the agreement involves. This is valuable if you should ever have to go to court later. You do not want there to be any question about who is involved. Be sure to use the legal name of any companies in the contract. You also want to write the date that the contract is written, and any specific dates for the project within the contract. Creating a contract template will help you save time later.
Services to be performed
It is very important that you make sure that all expected work is put into the contract. It is not unusual for clients to sometimes want extra work done, and they may want you to do it at your own expense. Having it all in writing upfront will enable you to limit the work.
Additional work should require a new contract. All of the work needs to be detailed as to what is involved and possibly any specifics that were discussed. This prevents a client from changing his or her mind half way through the project.
One of the most important things concerning freelance contract basics is the portion that discusses how and when you are going to be paid, as well as the total cost. This is the part that definitely needs to be very clear and you need to hold the client to it. You generally do not want payment when the work is completed.
Ideally, you want to get an upfront fee, and incremental payments as you go along. By doing it this way, you minimize your potential for loss if the client does not pay at any step, and it allows you to stop the work.
A clause about putting a copy of the work in your portfolio
As a freelancer, you need to be able to expand your portfolio. Your future work depends on it, and many clients, but not all, will understand this. There are some types of work, such as ghostwriters, where this will not be considered. Generally, though, you will need permission to show work to other clients, and this is a good place to get it.