The drip that ate the project
The project was fixed-price. We had a kickoff call, a rough list of pages, a number both of us liked. Then the drip started.
"One quick tweak on the hero." "While you're in there, can you wire up the contact form to our CRM?" "My partner saw the design and wants a different direction — nothing major." Each ask was small. None of them were in the quote. Three weeks later I'd done maybe 40% more work than I'd priced, the revisions had no end in sight, and the final invoice sat unread in their inbox.
This isn't a story about villains. The client wasn't trying to steal hours. Nothing in writing ever told either of us where the line was. "Two rounds of revisions" sounds clear until you need a test for what counts as a revision — and by then you're already doing the work free, because saying no mid-project feels worse than saying nothing.
I'd had that project more than once. Free templates were one vague page. Contract SaaS wanted a subscription forever for forms I'd fill out once. So I stopped hoping the next client would be different and wrote the system I wish I'd had on day one.
The system, not the pile
ScopeGuard is a scope-defense pack for fixed-price freelancers: SOW template, revision policy, one-page change-order form, payment terms (deposit, milestones, late fees, work-pause, kill fee), twelve email scripts, a rate card, and a 20-question scope audit you run before you quote. Markdown masters plus a print-ready PDF. $19, one-time.
The order matters more than any single document:
- Before quoting — audit the brief for scope bombs (committee approvals, "modern like Apple," content that's "almost ready").
- Before starting — SOW with explicit in-scope / out-of-scope lists and measurable "done," plus a revision policy that makes revision-vs-change a fact instead of a fight.
- Mid-project — every request sorted in seconds: in-scope, free revision (within rounds), or change (priced and signed before work starts).
- If money stalls — escalate on rails: nudge → direct → final notice → pause → kill fee, each email already written.
Clients usually respect the process because it's professional, not because it's rigid. The change order is one page: what changed, price, timeline impact, signature. No signed form, no work. One unbilled "quick favor" teaches them the system is decorative — so the pack only works if you use it every time.
Two lines that do most of the work
The revision policy's job is to kill the two most expensive sentences in freelancing: "can you just tweak this one thing?" and "that's not what I meant." The tests are short enough to paste into a reply:
Revision test: If the request references something already written down in the SOW (a spec, approved mockup, brand guide, test) and asks for the work to match it — it's a revision.
Change test: If the request introduces something not written down in the SOW, or reverses something the client already approved in writing — it's a change, priced on a Change Order before any work starts.
Rule of thumb: Revisions make the agreed work right. Changes make different work.
When included rounds run out, the client gets two options: pay for another round, or approve as-is. Silence past the review window is acceptance. That last bit alone stops the endless "almost there" loop.
The email I used to rewrite every time
The scripts are meant to be sent with brackets filled — warm but immovable. Here's the gentle first pushback when something small sits outside the SOW:
Happy to help with this. Before I dive in — this one sits outside what we scoped in the SOW ([Section 3, "Out of Scope"]). It's a small thing, so here's what I'd suggest: I can fold it in as a mini change order for $[amount], which keeps us both honest on scope, or we can park it on a list for a post-launch phase if you'd rather keep this phase lean.
Either way, the current timeline isn't affected. Which would you prefer?
When the quick tweaks become a pattern, the firm version lists the recent out-of-scope asks, says you've absorbed them so far, and attaches a drafted change order — in-scope work continues either way. You're not arguing about fairness; you're pointing at the document they already signed.
There's also a kickoff email that sets the rule before the first "while you're at it": ideas are welcome; each one is sorted into "in scope — done" or "priced option — your call." That turns the change order into a decision tool, not a penalty.
Honest limitations
- It's documents, not magic. Templates don't enforce themselves. If you skip the change order once, you've trained the client that the boundary is optional.
- Not legal advice. Practical business language only. Contract and payment rules vary by place — have a lawyer review the terms for your jurisdiction before you lean on them in a dispute.
- You still adapt the brackets. Deposit %, revision rounds, rates, late fees — set them once and keep them consistent. Inconsistent terms are how scope arguments start.
- It won't fix a project you should have declined. The audit checklist is there so bad deals die before the deposit.
Getting it
ScopeGuard is $19 on Gumroad: https://afeldman2.gumroad.com/l/chliwp?utm_source=devto&utm_medium=article&utm_campaign=scopeguard-launch
Instant download — SOW, revision policy, change-order form, payment terms, 12 scripts, rate card, scope audit, and a print-ready PDF. One caught scope bomb or one on-time invoice covers it many times over.
Top comments (0)