
7 Things Your Freelance Contract Must Include
A handshake and a friendly email are not a contract. Every freelancer learns this the hard way, usually when a client vanishes after delivery, demands three rounds of “small tweaks” that were never in scope, or decides your $4,000 project is now worth $2,000 to them. A written contract is the one thing standing between you and an unpaid invoice you have no legal ground to chase.
The good news: you do not need a lawyer on retainer or a 20-page document. You need seven clauses that cover the situations that actually go wrong. Here is exactly what to include in a freelance contract, and what happens when you leave each one out.
1. A Clear Scope of Work
This is the clause that prevents scope creep, the slow expansion of a project until you are doing double the work for the same pay.
Your scope should list deliverables in specific, countable terms. Not “design a website.” Instead: “Design 5 unique page layouts (home, about, services, blog index, contact), delivered as Figma files, including one round of revisions per page.”
Spell out what is not included too. If you are a copywriter, state that SEO keyword research is a separate service. If you are a developer, note that ongoing maintenance is billed separately after launch.
What happens if you leave it out: The client assumes everything is included. You assume it is not. Every “quick addition” becomes a fight, and you either work for free or look like the difficult one. A tight scope turns “can you just also…” into “sure, that is a change order at my hourly rate.”
2. Payment Terms and Amounts
Money is where most freelance relationships break down, so this clause needs to be airtight.
Include:
- The total project fee or your hourly rate
- A deposit requirement (30 to 50 percent upfront is standard)
- The payment schedule (milestones, monthly, or on completion)
- Your invoicing cadence and the due date on each invoice
Be specific about timing. “Payment due within 15 days of invoice” is enforceable. “Payment due promptly” is not. If you are deciding between billing windows, our breakdown of Net 30, Net 15, and Due on Receipt terms walks through which one fits different client types.
Not sure your rate is even right? Read how to set your freelance rate without underselling yourself before you sign anything.
What happens if you leave it out: You deliver the work, send an invoice, and wait. And wait. Without agreed terms, the client sets their own timeline, which is often “whenever I feel like it.” A deposit clause alone eliminates the worst-case scenario where you finish a project and get paid nothing.
3. A Late Payment Penalty
A due date with no consequence is a suggestion. Attach a fee to it.
State your late fee clearly: a common structure is 1.5 percent per month on any overdue balance, which works out to 18 percent annually. Some freelancers charge a flat $25 or $50 late fee instead. Either works, as long as it is written down and legal in your state (most states cap monthly interest, so keep it reasonable).
The point is not to get rich on penalties. It is to make paying you on time the path of least resistance. We cover the exact wording and how to enforce it without damaging the relationship in how to charge late fees on invoices.
What happens if you leave it out: Your invoice sits at the bottom of the client’s stack behind every vendor who does charge late fees. When money is tight, clients pay the invoices that cost them money to ignore. If your contract has no teeth, you are the last to get paid.
4. Ownership and Intellectual Property Rights
Who owns the work you create? The answer is not automatic, and it matters more than most freelancers realize.
By default in the US, the creator (you) owns the copyright to what you make, even after the client pays. If the client wants full ownership, that transfer must be in writing. Your contract should state clearly:
- Whether ownership transfers to the client, and when (usually upon final payment)
- Whether you retain the right to display the work in your portfolio
- What happens to any tools, templates, or source files you used to build the deliverable
The “upon final payment” trigger is your best friend. It means the client does not legally own the work until they have paid in full, which gives you real leverage if they go quiet.
What happens if you leave it out: Two bad outcomes. Either the client uses your work without paying and claims ownership, or you get paid but then get a legal threat for putting the project in your portfolio. Spell it out and both problems disappear.
5. Revisions and Change Requests
Unlimited revisions are how a profitable project becomes an hourly wage of $8.
Define exactly how many rounds of revisions are included, what counts as a revision versus a new request, and what you charge for anything beyond that. For example: “Includes 2 rounds of revisions. Additional revisions billed at $75/hour. Changes to approved deliverables are considered new work.”
Tie approval to a timeline too. Something like “Client has 5 business days to review each deliverable. Deliverables not reviewed within that window are considered approved.” This stops a project from stalling for six weeks because the client is busy.
What happens if you leave it out: The client treats “revisions” as infinite. You get feedback like “make it pop” on the eighth version, and there is nothing in writing that lets you say no or charge for it. Your effective rate quietly collapses.
6. A Termination and Kill Fee Clause
Sometimes projects end early. Maybe the client’s budget gets cut, maybe the fit is wrong, maybe they disappear. Decide now who owes what.
Your termination clause should cover:
- How much notice either side must give (14 days is common)
- A kill fee, meaning payment for work already completed plus a percentage of the remaining fee (often 25 to 50 percent)
- That the deposit is non-refundable
The kill fee protects you from the client who cancels at 90 percent complete to avoid the final payment. It also keeps you from being trapped in a project that has gone sideways.
What happens if you leave it out: A client can walk away at any point and you have no claim to the remaining fee. You have blocked out time, turned down other work, and completed most of the project, and you are left with a partial deposit and a hole in your schedule.
7. Independent Contractor Status
This clause is short but it does two important jobs.
State plainly that you are an independent contractor, not an employee. That means you control how and when you work, you provide your own equipment, and you are responsible for your own taxes. This protects both you and the client from a misclassification dispute, which the IRS takes seriously. If you are fuzzy on why this distinction matters, our guide on 1099 versus W-2 status explains it in plain terms.
The second job: it confirms you handle your own tax obligations. As a contractor, you are responsible for self-employment tax and your own quarterly estimated payments to the IRS. Clients issuing you a Form 1099-NEC are not withholding anything, so this clause sets expectations correctly on both sides.
What happens if you leave it out: In a worst case, a client (or a tax authority) argues you were effectively an employee, which creates liability and confusion for both parties. Stating your status keeps the relationship clean and the paperwork simple at tax time.
Put It All Together
You do not need all seven clauses to be lengthy. A strong one-page freelance contract can cover every item above in a few clear sentences each. What matters is that they exist in writing and both parties sign before work begins.
Once the contract is signed, the next step is getting paid on it. A clear contract and a clear invoice work as a pair, so make sure yours has everything it needs by checking what to include on every freelance invoice. And if a client still refuses to pay despite a signed agreement, here is exactly what to do when a client does not pay your invoice.
numlr turns your signed contract into paid invoices by tracking payment terms, due dates, and late fees automatically so nothing you agreed to slips through the cracks. Try numlr free.