Skip to main content
Contracts

Freelance Web Developer Contract (2026): Scope-Lock Clauses

Updated 9 min read

TL;DR

Freelance web developer contracts need three interlocking clauses to stop unpaid revision rounds: scope-with-exclusions, a 2-round revision cap with hourly overage, and a 5-day acceptance-criteria timer that auto-closes review windows. The IP-transfer-on-cleared-funds clause gives leverage when payment stalls. Per Ignition's 2025 report, 57% of agencies lose $1,000 to $5,000 per month to scope creep. The contract is the structural prevention, not after-the-fact negotiation.

A freelance web developer in unpaid revision round 7 usually has the same root cause: the contract said "reasonable revisions per scope." That phrase has no number, no cap, and no timer, so every new request feels reasonable to the client. The fix is structural, three interlocking clauses written before the project starts.

pro tip

A 2026 web developer contract needs scope-with-exclusions (name what is NOT included), a 2-round revision cap with hourly overage past the cap, and a 5-day acceptance-criteria timer where deliverables are deemed accepted after 10 business days of silence. Plus IP-transfer-on-cleared-funds as the payment-leverage backstop. Per Ignition's 2025 report, 57% of agencies lose $1,000 to $5,000 per month to scope creep.

The general contract framework lives in freelance contract essentials. The mistakes that this post prevents are catalogued in freelance contract mistakes. The invoice that bills against this contract is in the web developer invoice guide, and the proposal that precedes it is in the web development proposal guide.

Why "reasonable revisions" bankrupts the project · The scope-lock stack · The acceptance-criteria timer · The change-order threshold · IP transfer as leverage · Payment terms

Why "Reasonable Revisions" Is the Phrase That Bankrupts the Project

Scope creep is not a client problem. It is a contract problem. Per Ignition's 2025 Agency Pricing and Cash Flow Report, 57% of agencies lose $1,000 to $5,000 per month to scope creep and 30% lose more than $5,000 per month. Only 1% successfully bill for all out-of-scope work, and 78% rarely or only sometimes charge for it.

The phrase "reasonable revisions" is the structural cause. It contains no objective boundary, so the developer and client have different definitions of reasonable and the gap is unpaid labor. Contra's clause guide draws the line precisely: "Changing a button color is a revision. Adding a shopping cart to a brochure site is a new feature requiring a separate agreement." The contract has to encode that distinction, not leave it to good faith mid-project.

The Scope-Lock Stack

The fix is three clauses that interlock. Each one alone is leaky; together they close the loop.

ClauseWhat it doesWithout it
Scope-with-exclusionsNames what is NOT included, not just what isClient assumes everything adjacent is in scope
Revision cap (2 rounds)Limits free revisions, bills overage hourlyInfinite revision rounds at no charge
Acceptance-criteria timerCloses each review window after a fixed periodReviews never formally end, work never completes

Clause 1: Scope-with-exclusions

Most contracts list deliverables. Few list exclusions. The exclusions list is what stops the "I assumed that was included" argument. For a brochure site, the exclusions might read: does not include e-commerce, booking systems, custom CMS development, content writing, ongoing maintenance, or third-party integrations beyond those named. The scope-of-work guide covers building the SOW that becomes this clause.

Clause 2: Revision cap

Two rounds is the web-dev standard, verified across Contra, Plutio, and Webflow. The verbatim Contra language: "Each deliverable includes two rounds of revisions. Additional revisions will be billed at the standard hourly rate." Plutio prices overage at $150 per round as an alternative to hourly. The number is less important than the existence of the cap plus a defined consequence.

Clause 3: Acceptance-criteria timer

This is the clause most contracts skip and it is the one that actually terminates the revision loop. Detailed in its own section below.

The Acceptance-Criteria Timer

A revision cap without an acceptance timer still leaks, because the client can keep a single round open indefinitely by never formally approving. The acceptance-criteria timer fixes this. Per Contra's clause, the verbatim language is: "Client has 5 business days to review deliverables and provide written feedback. If no response is received within 10 business days, deliverables are deemed accepted."

This converts client silence into acceptance, which is the opposite of the default where client silence blocks project completion. It also creates a clean record: each milestone is either approved in writing or deemed accepted by timer, and revision eligibility ends at that point. Combined with the revision cap, the two clauses make "revision round 7" structurally impossible without a change order and additional billing.

The Change-Order Threshold

When the client wants something outside scope, the change-order clause routes it through written approval before any work happens. The verbatim PandaDoc template language: "Changes to this Agreement or to any deliverables in this contract must be submitted in writing and approved by both parties prior to taking place."

The operational rule, per Alvalyn Creative's change-order guide, is to not begin any new work until the client signs the change order. This is where most developers fail in practice: they start the "quick change" to be helpful, then have no leverage to bill it. The discipline is to treat every out-of-scope request as a change order, even small ones, with a stated threshold. A practical threshold: changes estimated under 1 hour are absorbed as goodwill buffer; anything over 1 hour requires a signed change order. This neutralizes the "it's just a small tweak" objection without nickel-and-diming every typo fix.

IP Transfer on Cleared Funds (Your Leverage)

The IP clause is not boilerplate. It is the developer's collection leverage. The standard pattern, verified across Plutio, Contra, and Bonsai: intellectual property transfers to the client only upon receipt of final payment in full, and until then the freelancer retains all rights.

Plutio's verbatim clause: "All intellectual property rights transfer to the client upon receipt of final payment in full. Until final payment is received, the freelancer retains all rights to the work." The mechanism: a client who has not paid does not own the site and cannot legally deploy it. This makes post-delivery non-payment legally untenable. Write "cleared funds" explicitly rather than "paid in full," because ACH and wire transfers can reverse for up to 90 days. The clause lives in the contract; reference it on the invoice as a reminder at billing time.

Kill Fee by Project Phase

If the client cancels mid-project, the kill fee compensates for sunk cost and committed-but-unbilled time. Per ClauseShield's cancellation-clause guide, an escalating schedule calibrated to project phase works better than a flat percentage:

Project phaseKill fee (of remaining contract value)
Discovery / kickoff50%
Production / build35%
Revision / delivery25%

The logic: the deeper into the build, the more has already been invoiced via milestones, so the remaining-value percentage decreases. ClauseShield's milestone-based verbatim alternative: "Client shall pay the full fee for any milestone then in progress, plus twenty-five percent (25%) of aggregate fees for all subsequent milestones." Plutio uses a flatter 20% of remaining value as the lower-end option.

Payment Terms for Web Dev Contracts

The contract sets the payment frame the invoice executes against:

  • Deposit: 25% to 50% upfront for new clients, non-negotiable. The deposit is the first filter for serious clients.
  • Milestone split: 25/25/50 per Webflow, or 30/40/30 for $5,000 to $25,000 builds. Tie each milestone to acceptance criteria, not calendar dates, so client review delays do not become developer cash-flow problems.
  • Net terms: Net 15 is the freelancer-preferred default per Plutio; Net 30 for enterprise clients with procurement workflows per PandaDoc.
  • Late fee: 1.5% per month, triple-verified across Contra, Plutio, and the FreelanceDesk payment-terms guide.

Copy-Paste Clause Checklist

Web developer contract scope-protection checklist

Scope-with-exclusions section naming what is NOT included
Revision cap of 2 rounds with hourly overage past the cap
Acceptance-criteria timer (5-day review, deemed accepted after 10)
Change-order clause requiring written sign-off before out-of-scope work
1-hour threshold distinguishing absorbed tweaks from billable changes
IP transfer on cleared funds, not on delivery
Kill fee escalating schedule (50/35/25 by phase)
Deposit of 25-50% for new clients
Net 15 payment terms with 1.5% per month late fee
Milestones tied to acceptance criteria, not calendar dates

Build the full contract with these clauses pre-structured in the free FreelanceDesk contract generator. The companion templates for the engineering professions with comparable scope-creep exposure are in the AI engineer contract guide (eval-acceptance gates) and the broader best free contract templates roundup.

References


Frequently Asked Questions

Tired of recreating documents from scratch?

Save clients, templates, and brand kit in one place. $49 once. Your data never leaves your browser.

Get 45 Templates + Unlimited Docs for $49