A generic "services agreement" template rarely protects you. Here are the 6 clauses that actually prevent the disputes that cost freelancers money.
Scope and acceptance criteria. "Build a website" is a conversation topic, not a scope. Name the exact deliverable, format, and how the client verifies it's done — without this, every revision request becomes an unwinnable argument.
Acceptance deadline with an auto-accept clause. Give the client a fixed number of days (3–5 business days is typical) to approve or send written feedback. State that silence past the deadline counts as acceptance. Without this, a client who goes quiet can block you from ever closing the project.
Payment terms and a real late fee. Net 15 or Net 30 from invoice date, not "on completion." Add a concrete late fee (commonly 1.5%/month on the overdue balance) and the right to pause work once payment is overdue. A deadline with no penalty is a suggestion, not a term.
IP assignment, tied to payment. "Client may use the work" is not an assignment. Say explicitly whether full rights transfer (and from what moment — usually full payment, not delivery) or whether it's a license. Without this clause, default copyright law applies, and the client may not be the sole legal owner even after paying.
Confidentiality / NDA. If the work touches client data, system access, or business information, a confidentiality clause (or a separate NDA) protects both sides. Free tool: NDA generator.
What happens if the client disappears. A kill fee for cancellation mid-project, plus the auto-accept and late-fee clauses above, gives you a concrete, written basis to invoice and collect — instead of an unenforceable verbal understanding.
Check a contract you already have
Paste an existing contract into the free contract checklist tool — it scans for these clauses (and a few more: liability, termination, governing law) and flags what's missing. Runs in your browser; nothing is uploaded.