Home › Freelance contract basics: what to include and when to walk away

Freelance contract basics: what to include and when to walk away

A handshake deal feels efficient right up until something goes wrong. The client remembers a different scope than you do, a deadline slips because they were slow to send feedback, or a project ends halfway through with no agreement on what you are owed. None of that is unusual when the only record of the agreement lives in two people's memories. A one-page written agreement fixes most of it without turning your freelance business into a legal operation. It does not need to be long or drafted by a lawyer. It needs to cover a small number of points clearly enough that neither side can misremember them later.

This guide is general information, not legal advice. Contract rules vary by country, so for anything specific to where you work, or for a clause you are unsure about, ask a local lawyer.

The seven clauses that matter

Most disputes trace back to one of a handful of gaps. Cover these seven areas and you have closed off most of what goes wrong on a freelance project.

Scope and deliverables

Name exactly what you are delivering: the specific files, pages, features, or outcomes, and in what format. A line like "website design" leaves everything open. "Five page designs in Figma, plus a mobile version of the homepage" is specific enough to check against. A vague scope is one of the biggest sources of freelance disputes, because it leaves room for a client to keep adding requests while believing they are still inside the original agreement. If the project is complex enough that scope needs its own document, our scope of work generator builds one you can attach to the contract.

Price and payment schedule, with a deposit

State the total price, the currency, and when each payment is due. For anything beyond a short project, break the total into a deposit plus one or more milestone payments rather than a single invoice at the end. A deposit of 30 to 50 percent before work starts is common, and it earns its place. It filters out clients who were never going to pay, and it funds the early phase of the project, when you have done the most work and been paid the least.

Revisions

Say how many rounds of revisions are included and what counts as a revision versus new work. Two or three rounds is a common default. Without a stated limit, "revisions" becomes an open-ended commitment, and you end up doing a fourth and fifth pass on a project that was priced for two.

Timeline and dependencies on the client

Give a delivery date, but tie it to the client holding up their end: providing content, feedback, or approvals by agreed points along the way. If a project depends on the client sending copy or approving a draft and they take three weeks to do it, your deadline should move with them. Write this plainly, such as "delivery date assumes feedback within 3 business days of each draft," so a client's own delay cannot later be read as your missed deadline.

Ownership and licence of the work

Say when ownership or usage rights transfer to the client, ideally on final payment rather than on delivery. The timing matters. If you hand over full ownership on delivery and the client never pays the final invoice, you have given away the one thing you had left to negotiate with. Some freelancers license the work for use and only transfer full ownership once the balance clears. Either approach works as long as it is written down.

Kill fee and cancellation

Decide what happens if the client cancels partway through. A kill fee, often payment for the work completed plus a percentage of the remaining contract value, compensates you for the time already spent and for turning down other work to hold the slot. Without this clause, a cancelled project can mean you walk away with nothing for hours already worked.

Late payment and interest

State a specific due date for each payment, not just "Net 30," and name a late fee, commonly around 1 to 1.5 percent per month on the overdue balance. A rate written into the contract in advance is much easier to enforce than one you try to add after an invoice is already late. What you can charge varies by country, so treat this as a starting point rather than a fixed number, and ask a local lawyer if you want to rely on it. Our late payment calculator works out the actual amount owed once a fee applies, and the guide to getting paid on time covers the rest of the process, from reminders through to pausing work.

Recommended

A contract and e-signature tool that stores signed agreements and sends them for signature in a couple of clicks removes most of the back-and-forth described in this guide.

See our recommended e-signature tool →

What you can leave out

A one-page agreement stays one page by leaving out anything that is not doing real work. For routine projects you usually do not need a full confidentiality agreement unless the client is sharing sensitive material, in which case a short mutual clause covers it. A governing law and jurisdiction clause is often skipped for small local jobs and added for larger or cross-border ones; which option fits your situation is a question for a local lawyer. Boilerplate warranty language copied from a corporate template can go, and so can attempts to cover every conceivable edge case up front. Our contract clause library has ready-to-adapt wording for the clauses above plus a few situational ones, like confidentiality and jurisdiction, so you can add them only when a project calls for them.

When to walk away

Some client behaviour at the proposal stage is a reliable sign of trouble later, and it is worth treating as a filter rather than a nuisance. None of these alone is disqualifying, but two or more together is a strong reason to require stricter terms or decline the project.

  • No deposit accepted. A client with real budget and intent to pay rarely objects to a reasonable deposit. Refusal usually points to an unconfirmed budget, an unclear approval process, or no firm plan to pay at all.
  • Scope keeps moving before you have even signed. If the project grows in every conversation before a contract exists, it will keep growing after, except now you are doing the extra work for free.
  • A request to work "on spec." Unpaid trial work, framed as an audition for the real job, is a request for free labour. If they want to see what you can do, point them to your portfolio.
  • Refusal to put terms in writing. A client who will not agree to written terms is also declining to commit to scope, price, or payment, the three things most disputes come down to.
  • A request for unlimited revisions. This is a request for an open-ended commitment at a fixed price. Every hour past what you priced for comes straight out of your rate.
  • Payment tied to "approval" with no definition. If a client insists payment depends on their satisfaction rather than delivery of the agreed work, they have given themselves a reason never to pay. Payment should be tied to delivering what the contract describes, not to a subjective standard they control.

Turning down a project because of a warning sign at the proposal stage is much cheaper than finishing one for a client who was never going to pay properly. If you are unsure whether a rate covers the risk of a difficult client, the project quote builder helps you price in the extra friction rather than absorb it.

How to send it

You do not need a signing platform for most projects, though one is convenient if you use it often. A plain email with the agreement attached, asking the client to reply "agreed" or reply with their initials on each section, is enough to create a clear written record in most places. Keep the whole exchange in one thread: your proposal, the attached agreement, and their reply. If a dispute ever comes up, that thread is your evidence of what was agreed and when. Do not let terms get finalised over a phone call or a chat message that disappears from history; move anything important back into the email thread before work starts.

A written agreement is a way of making sure you and the client remember the same project. Start with the contract clause library for wording you can drop straight in, and use the scope of work generator to pin down the deliverables before you send anything for signature.

Frequently asked questions

Do I need a lawyer to write my freelance contract?

Not for most day-to-day freelance work. A clear one-page agreement covering scope, payment, ownership, and cancellation handles the vast majority of projects. Get a lawyer involved for large contracts, work with unusual liability exposure, or any clause you do not fully understand, since contract law varies by country and a local lawyer can tell you what holds up where you work.

Is a signed contract legally binding if it's just an email?

Often, yes. A clear written offer and a clear written acceptance, such as a client replying "agreed" to your emailed terms, can form a binding agreement without a formal signature. Rules vary by country and by the size or type of the deal, so treat email agreement as a solid baseline and ask a local lawyer before relying on it for a large project.

Can I use the same contract for every client?

Mostly. Build one template covering your standard scope, payment, ownership, and cancellation terms, then adjust the project-specific parts, like the deliverables and price, for each client. Keeping the core structure identical means you always know what your terms say instead of re-deciding them under deadline pressure.

What happens if a client won't sign anything?

Treat it as a warning sign, not a formality to skip. A client who refuses written terms is also refusing to commit to scope, price, and payment, which are the three things most likely to cause a dispute. At minimum, get agreement in an email thread. If they won't do even that, the risk usually outweighs the job.

Should I charge for the first draft of a contract?

No. Sending your standard agreement is a normal part of proposing a project, not billable work. What you can charge for is time spent on custom negotiation past a reasonable point, such as a client's legal team requesting extensive rewrites, which is worth flagging as an added scope item if it drags on.