How to Write a Freelance Contract Step by Step
Write a freelance contract in the right order: scope, payment, deadlines, and what happens when things go wrong. A step-by-step guide with a two-page template.
Dana Whitfield 8 min read
Most freelancers learn contract-writing the expensive way: after a client vanishes, or the scope creeps from "five pages" to "five pages and also a newsletter," or the final invoice comes back short because of a withholding tax nobody mentioned. You can avoid all of that with a document that fits on two pages. But you have to write it in a certain order.
Here's the thing about a freelance contract: it's not a legal ritual. It's a written agreement between you and a client about what you deliver, what they pay, when, and what the heck happens if something goes sideways. Length doesn't save you. Specificity does.
Pull the details before you draft a single word
Drafting is fast once you have the raw materials in front of you. It's slow and error-prone when you're hunting for a company registration number halfway through clause four.
- The client's full legal name, address, and (for companies) registration number
- A plain description of the work, deliverables, deadline
- Your rate, currency, and how the total is calculated
- Payment method and the details the client needs to actually pay you
- The country and legal system that govern the deal
If you work across borders, keep a master file per client. You'll reuse these facts on every invoice and renewal, and you'll stop re-asking the same questions.
The eight clauses, in the order you draft them
Why does order matter? Because each clause depends on decisions made in the one before it. Jump to the fee before you've nailed scope, and your fixed price is just a wish. The table below maps the sequence, what to draft at each stage, and the mistake that most often forces a redraft.
| Step | What to draft | Common mistake |
|---|---|---|
| 1. Identify the parties | Full legal names, business names, registered addresses, and which entity is contracting | Using a trading name that doesn't match the entity that will pay or be sued |
| 2. Define the scope | Deliverables, formats, file types, number of revision rounds, and what counts as out of scope | Vague verbs such as "design a website" with no list of pages or acceptance criteria |
| 3. Set the schedule | Start date, milestone dates, delivery deadlines, and whose delays shift them | Dates with no dependency clause, so client-side delays still count against you |
| 4. State the fee and payment terms | Total fee or rate, deposit percentage, invoicing frequency, payment window (e.g. net 14), late-payment interest | No deposit and no late fee, which leaves you financing the project |
| 5. Allocate rights | When copyright transfers (on final payment, not on delivery), licence terms for portfolio use | Transferring all rights upfront before the invoice clears |
| 6. Cover confidentiality and data | What stays confidential, how long, and how client data is stored and deleted | Copying a generic NDA that conflicts with your portfolio clause |
| 7. Limit liability and set termination | Liability cap (often the fees paid), notice period, kill fee, handover of work in progress | Unlimited liability, or a termination clause with no payment for work already done |
| 8. Add governing law and signatures | Jurisdiction, dispute process, signature blocks, date of signing | No named jurisdiction, which makes enforcement expensive and uncertain |
Steps 1 through 4 carry most of the day-to-day risk; 5 through 8 matter most when a project goes wrong. Templates are fine as prompts — check each row against your actual project rather than ticking it off. Adapting clause language to your jurisdiction and your work is the whole game; a template pasted unread only looks like a contract.
What a freelance contract actually has to answer
It's a private agreement, not a form you file with anyone. Its job is to remove ambiguity before money moves. Six questions, basically: who does what, for how much, by when, in what currency, how disputes get resolved, who owns the finished work.
Currency, payment timing, and jurisdiction are the ones that bite in cross-border work. A domestic contract can be sloppy about them and survive. A cross-border one can't. Paying in a currency you don't hold? Write the currency and the exchange-rate reference into the contract. Client in another legal system? Name which country's law applies.
Ten steps. In order.
- Identify both parties. Full legal names, not the trading name you saw on a website. For companies, the registered address and company number. That's what makes the contract enforceable against the right entity.
- Write the scope. Deliverables, formats, revision rounds, deadline, and what's out of scope. "Website copy, five pages, two revision rounds, delivered by the date in Schedule A" is a scope. "Marketing support" is a shrug.
- Set the price and currency. Total, currency code (USD, EUR — whatever it is), and what triggers each payment. Deposit before you start, balance on delivery, is common. Say whether transfer or platform fees come out of your side or the client's.
- Define payment terms. How many days after your invoice date? Put the invoice date in the contract so both sides count from the same point. Add a late-payment clause — what happens, and after how many days.
- Name the payment method. Bank transfer, card, or a platform. They clear at different speeds and cost different amounts. Naming the method stops the client from picking one that eats your margin or takes three weeks.
- Handle taxes and withholding. Who's responsible in each country? Some clients must withhold at source under local rules. Agree in advance who eats that cost and how it gets documented. Rules differ by country; check the official tax authority for the client's jurisdiction.
- Address IP. Say when ownership passes. Usually on full payment. Until then, you keep the rights.
- Confidentiality and a liability cap. A short confidentiality clause protects both sides. A cap — often set at the contract value — keeps a small dispute from becoming a large one.
- Governing law and dispute process. Which country's law applies, where disputes are heard, and a step before litigation: written notice, a set period to resolve.
- Termination and signatures. How either side can end it, and what happens to work already done and paid for. Signature blocks, names, titles, dates.
Keep the whole thing readable. A client who understands the terms is less likely to fight them later.
Two pages is enough — if you rewrite the template
A simple freelance contract can fit on two pages and still cover all of the above. Start from a sample freelance contract, then rewrite each section for your actual work. Templates fail when writers leave generic clauses in place — scope and payment are where that hurts most.
Check any template against three questions: does it name a currency, does it set a payment deadline in days, and does it say which law applies? Missing answers mean fix it before you send. Ready-made templates are a draft, never a finished document.
What actually slows you down (and costs you)
Most of the effort is in the details, not the prose.
- Countries involved. Two legal systems mean more to check — tax and jurisdiction especially.
- Project size. Longer projects need sharper milestones and termination terms.
- Client type. Companies tend to have their own contract and procurement process. Expect to compare and negotiate.
- Currency exposure. Invoice in a currency you don't hold, and the amount you actually receive can move between invoice and payment. Decide who absorbs the difference.
- Legal review. For high-value or unusual work, a lawyer in the relevant jurisdiction may pay for themselves. Cost varies widely by country and scope.
Time on scope and payment terms up front usually saves more than it costs — those are the two areas where disputes start.
Mistakes you'll see again and again
- Vague scope that opens the door to unlimited revisions
- No currency stated, or a currency the client doesn't actually pay in
- "Net 30" that quietly becomes "whenever" because there's no day count
- No named payment method, leaving transfer fees and delays to chance
- Discovering withholding tax when the first invoice arrives short
- Transferring IP before the payment clears
- Lifting a template clause from another country without checking it applies
Each of those is fixable in one sentence. Read your draft once with only these in mind — it's a better use of ten minutes than another rewrite.
Before you hit send
Run through this. If every line is true, you're done.
- Both parties identified with full legal names and addresses
- Deliverables, revision rounds and deadline written down
- Total price and currency code stated
- Payment deadline in days, counted from the invoice date
- Payment method named, with fee responsibility clear
- Tax and withholding responsibility stated for both countries
- Intellectual property transfer tied to payment
- Governing law and dispute process named
- Termination terms and signature blocks in place
- Official tax or legal source checked for the client's country
A contract you can point to beats a promise you can't. Write it once, keep it in the client file, adjust scope and price for each new project. This is general information, not financial, legal or tax advice.
Get Paid Abroad 

