How to Write a Freelance Contract
The three things a freelance contract is supposed to prevent — scope disputes, IP ownership arguments, and non-payment — are the three things most freelance contracts fail to prevent. "Work for hire" in a contract does not transfer copyright if the work does not qualify under the statute. "Independent contractor" in a contract does not establish contractor status if the relationship looks like employment. The clauses that look simple are the ones with the most failure modes.
The work-for-hire trap
Writing "work for hire" in a freelance contract is not sufficient to transfer copyright. The work-for-hire doctrine under 17 U.S.C. § 101 applies to independent contractor relationships only when two conditions are both met: there is a written agreement designating it a work for hire, AND the work falls into one of nine specific statutory categories. Those nine categories are contributions to collective works, parts of motion pictures or audiovisual works, translations, supplementary works, compilations, instructional texts, tests, answer materials for tests, and atlases.
Most freelance deliverables — websites, custom software, marketing copy, graphic design, bespoke research — do not fall into any of these categories. A contract that says "work for hire" on a custom website build may not transfer copyright at all. The freelancer retains ownership by default. The client discovers this when they try to sell the company, licence the product, or assert exclusivity against a competitor — and find out the freelancer they paid three years ago technically still owns it.
A written copyright assignment clause is the reliable mechanism. It must specify what transfers (project deliverables, not background IP), when (on receipt of full payment, not on delivery), and what the client receives for pre-existing tools and templates (a licence, not an assignment).
The work-for-hire clause in most freelance templates does not actually transfer copyright. Generate a contract with a correct IP assignment →
Contractor classification: the label is not the determination
The IRS and most state agencies determine classification based on the substance of the working relationship — not the label in the contract. A contract that says "independent contractor" while the client controls hours, tools, and methods creates exposure for both parties.
| Category | Points toward contractor | Points toward employee |
|---|---|---|
| Behavioural control | Worker controls how work is done; client specifies only the result | Client controls hours, methods, tools, and process |
| Financial control | Multiple clients, worker's own tools, profit or loss on the engagement | One client, client's tools, hourly regardless of output |
| Type of relationship | Project-based, no benefits, written contractor agreement | Indefinite, benefits, integrated into the organisation |
| State | Standard | Key exposure |
|---|---|---|
| California | ABC test (AB5) | Presumes employment; all three prongs required; prong B blocks many common engagements |
| Massachusetts | ABC test | Similar to California; wage and unemployment law |
| New Jersey | ABC test | Broad application across wage, benefits, tax |
| Illinois | Economic realities | Multiple factors; no single determinative element |
| Texas | Common law control | More permissive; contract language carries significant weight |
| New York | Varies by context | Same relationship may be classified differently for wages vs. tax vs. unemployment |
Classification exposure depends on your state and how the relationship actually operates. Generate a contractor agreement specific to your state →
What each clause must get right — and the failure mode
Services. Failure mode: vague enough to be interpreted as including everything the client eventually wants. Reference a SOW or be specific enough that scope disputes are documentable from the contract itself.
Payment. Failure mode: no late payment provision, no explicit withholding of finals. Once deliverables are released without payment, your collection options narrow to legal action. Non-refundable deposits must be explicitly labelled — courts in some states decline to enforce implied non-refundability.
IP assignment. Failure mode: "work for hire" without an assignment clause, background IP not carved out, transfer timing not tied to payment. The clause must transfer specifically what the client needs while retaining specifically what the contractor cannot afford to lose.
Revisions and acceptance. Failure mode: no revision limit, no deemed-acceptance provision. Without a review period and automatic acceptance on non-response, the client can request changes indefinitely and withhold approval indefinitely. Your final invoice stays unpaid while you wait for feedback that never comes.
Liability cap. Failure mode: no cap, or a cap calculated against prior fees that is zero on a first engagement. "Total fees paid in the prior 12 months" means nothing on a new client relationship. The cap must be specific to the engagement structure.
Termination. Failure mode: vague or absent. Three questions must be answered: who pays for work in progress, who holds deliverables until payment, and what happens to the deposit. Each unanswered question is a negotiation at the moment the relationship has already failed.
Governing law. Failure mode: none named, or the wrong state. In California contractor disputes, California law may apply regardless of what the contract states if the worker performed services there. The governing law clause does not guarantee it governs — the actual performance location often controls.
Every clause above is specific to your deliverable, state, and relationship structure. Generate a contractor agreement built around yours →
Generate Your Contractor Agreement
DocForge asks the questions that determine how each clause must be drafted — your state, deliverable type, IP arrangement, fee structure, and revision terms — and generates a contractor agreement where the classification clause, IP clause, and payment clause work together. Specific to your engagement.
Generate My Contractor Agreement →