← All posts

Milestone Billing: Never Be Owed More Than One Phase

August 30, 2026

Milestone Billing: Never Be Owed More Than One Phase

There is one rule that separates freelancers who eat nonpayment losses from freelancers who shrug them off: never be owed more than one phase of work at a time.

If a client vanishes owing you the whole project, that is a crisis. If a client vanishes owing you one phase, that is an annoying week.

Milestone billing is how you make sure every payment problem you ever have is the second kind.

This guide covers the exact structure: how to split the project by size, how to write the clause that stops clients from stalling approvals forever, what invoicing each milestone actually costs you in fees, and what to do the moment a milestone payment goes late. Everything was checked in July 2026.

Why milestone billing: the exposure math#

Milestone billing caps your maximum loss at one phase of the project, typically 25 to 30% of the price, instead of 100%.

Start with the risk you are carrying without it:

We keep a full roundup of this data in our freelance late payment statistics page.

Here is the stat that matters most for this article: in that same Bonsai dataset, invoices over $20,000 were three times more likely to be paid late than invoices under $100. Big invoices are where payment problems live. Milestone billing works by making sure you never send a big invoice.

The math on a $6,000 project:

StructurePaymentsMax unpaid work at any pointShare of project at risk
Single invoice on completion$6,000 at the end$6,000100%
50% deposit, 50% on delivery$3,000 / $3,000$3,00050%
Three milestones (40/30/30)$2,400 / $1,800 / $1,800$1,80030%
Four milestones (30/25/25/20)$1,800 / $1,500 / $1,500 / $1,200$1,50025%

The "max unpaid work" column assumes you follow the other half of the rule: when a milestone invoice goes unpaid, work stops (more on that below). If you keep working through a late milestone, you are voluntarily giving the exposure cap away.

One observation of our own: we went looking for data on how many freelancers actually bill by milestone, and as of July 2026 no major platform or survey publishes it. Not Upwork, not Bonsai, not the Freelancers Union, not QuickBooks.

Every ranking article on this topic asserts that milestone billing is common practice without a single citation. The honest version is: the payment-risk numbers above are well documented, the adoption numbers do not exist.

How to split the project, by size#

Use 40/30/30 for projects between $1,000 and $5,000, and 30/25/25/20 above that, keeping every milestone at or under 25% on larger projects.

Two principles drive the split. First, the deposit is milestone zero: you collect it at signing, before any work, and it funds the first phase. We covered how much to charge and how to defend it in our freelance deposit guide. Second, later milestones should be roughly equal and small enough that losing one is survivable.

Project sizeStructureExample split
Under $1,000Deposit plus final. Milestones are overkill.50/50
$1,000 to $5,000Three milestones40/30/30, or 50/25/25 for a brand-new client
$5,000 to $15,000Four milestones30/25/25/20
Over $15,000Five or more milestones, or monthly billingNo single milestone over 25%

Sanity checks on the table: every split sums to 100%. In the 40/30/30 row, your worst case after the deposit clears is one 30% phase. In the 30/25/25/20 row, it is one 25% phase.

Above $15,000, consider switching from event-based milestones to plain monthly invoicing, which behaves like milestone billing with the calendar as the deliverable. That is also roughly where the difference between milestone billing and progress billing (invoicing by percent complete, standard in construction) starts to matter; for most freelance work, event-based milestones are simpler to defend because either the deliverable exists or it does not.

Front-load when risk is higher: new client, vague brief, client found you through a channel with no reputational stake. Move toward equal splits when trust is established. The one shape to refuse is the back-loaded one. If a client proposes 20/30/50, they are asking you to carry half the project on credit, which is exactly the structure the exposure table exists to prevent.

Tie milestones to deliverables, not dates#

Tie every milestone to a deliverable the client can point at, and keep each phase under 2 to 3 weeks of work.

A milestone needs to be checkable by both sides without an argument. "Milestone 2: homepage design delivered in Figma" is checkable. "Milestone 2: project 50% complete" is a debate waiting to happen. Write each milestone as deliverable, price, and what "done" means, in the contract:

Milestone 2: Homepage and two interior page designs delivered as Figma files. $1,500. Delivered means files shared to the client's email with edit access.

Three practical rules:

  1. One phase should never exceed 2 to 3 weeks of work. Longer phases quietly rebuild the big-invoice problem inside a milestone structure.
  2. The deliverable must be visible to the client. Research, setup, and infrastructure work hide inside milestones that also contain something the client can see, otherwise you will be arguing about whether invisible work happened.
  3. Dates are the fallback, not the default. For soft-deliverable work (ongoing consulting, retainer-adjacent projects), a calendar milestone ("$1,500 on the first of each month") is legitimate. But when a concrete deliverable exists, bill on the deliverable, because a date-based milestone invoiced mid-argument looks like billing for time served.

Scope changes are the other way milestones die. When the client adds work mid-phase, the milestone map has to change with it, in writing, or milestone 3 quietly absorbs unpaid extras. That is a change order, and we wrote a full guide to change orders for freelancers plus scripts for pushing back on scope creep.

The approval stall, and the clause that ends it#

Add a deemed acceptance clause: if the client does not respond within 5 business days of delivery, the milestone counts as approved and the invoice is due.

The most common failure mode in milestone billing is not refusal, it is silence. You deliver phase 2, the client goes quiet for three weeks, and you are stuck: the milestone is done but not "approved," so you cannot invoice, and phase 3 cannot start. The client has discovered they can hold your cash flow hostage by doing nothing.

The fix is a clause that makes silence expensive for the right party:

Client will review each milestone deliverable within 5 business days of delivery. If Client does not provide written approval or specific written revision requests within that period, the deliverable is deemed accepted and the associated milestone invoice becomes due.

If this feels aggressive, notice that the biggest freelance marketplace in the world already runs on a stricter version. On Upwork, fixed-price milestones must be funded before work starts, and once you submit work the client has 14 days to respond, after which funds release automatically. Millions of clients accept those terms without blinking. Your deemed acceptance clause is the direct-client version of Upwork's auto-release, on a friendlier timeline than you might have guessed you could ask for.

The comparison is worth seeing side by side, because direct-client milestones beat escrow on cost while matching it on protection, if your contract does the work:

Upwork funded milestonesDirect client milestones
FundingClient funds the milestone before work startsDeposit funds milestone zero; later milestones invoiced on delivery
Approval window14 days, then automatic releaseWhatever your contract says (5 business days is a fair standard)
Platform cutVariable 0 to 15% service feeNone. Your processor only, e.g. Stripe at 2.9% plus 30 cents
Dispute pathUpwork mediationYour contract terms, then the escalation ladder

Invoicing mechanics: what milestone billing actually costs#

Invoice each milestone separately, and know the real cost: de-risking a $6,000 project from 100% exposure to 25% adds 90 cents in processing fees.

Each milestone gets its own invoice, sent the day the deliverable ships, due on receipt or net 7. Do not accumulate milestones into one end-of-project invoice; that recreates the single big invoice you were avoiding. Short terms on small invoices are an easy ask, and we covered why in payment terms that get you paid in days, not months.

The fee objection dissolves under arithmetic. Stripe's standard US card pricing is 2.9% plus 30 cents per transaction. The percentage part is identical whether you charge $6,000 once or in four parts. The only extra cost is the fixed 30 cents per additional invoice:

Invoices for a $6,000 projectPercentage feesFixed feesTotal extra vs single invoice
1 (single invoice)$174.00$0.30baseline
3 (40/30/30)$174.00$0.90$0.60
4 (30/25/25/20)$174.00$1.20$0.90

Ninety cents to cap your worst case at $1,500 instead of $6,000 is the cheapest insurance in your business. If the client pays by ACH or bank transfer, the delta is similarly negligible. And whatever tool generates these invoices, the money should flow through your own payment account, not a middleman that holds your funds; here is why your client tool should never touch your money.

When a milestone payment stalls#

Stop work when a milestone invoice is 7 days overdue, and make sure the contract said so before it happened.

The pause is what makes the exposure cap real. The clause:

If any invoice remains unpaid 7 days after its due date, Freelancer may pause work until payment is received. Deadlines extend by the length of the pause plus 5 business days for restart.

Pausing is not a nuclear option, it is the system working.

Send the milestone invoice, run a normal reminder cadence, and if the invoice crosses 7 days overdue, send the pause notice: friendly, factual, effective immediately. Most stalls end within hours of a pause notice, because the client's project is now the hostage instead of your cash flow.

If it does not end, you are climbing the unpaid invoice escalation ladder while owed one phase, not the whole project. Late fees stack on top if your contract includes them.

If you freelance for New York clients, contracts of $800 or more must be in writing; in Illinois the threshold is $500; both states require payment within 30 days when no due date is set.

Milestone billing sits on top of a growing layer of freelance payment law. New York's Freelance Isn't Free Act has applied statewide since August 28, 2024, requiring written contracts at $800 or more in any 120-day period, payment within 30 days of completion if the contract sets no date, and double damages for nonpayment. Illinois' Freelance Worker Protection Act covers work worth $500 or more in a 120-day period, also with a 30-day payment rule.

For milestone billing, the practical takeaway is that a written milestone schedule with explicit due dates does double duty: it is your cash-flow structure, and it is exactly the written contract these laws want to see when you enforce them. State by state details are in our freelance payment laws guide.

Running milestones without the spreadsheet#

A milestone system needs four moving parts per phase: a defined deliverable, an invoice, a reminder cadence, and a visible status the client can check.

You can run all of that from a spreadsheet and a mail client, and plenty of freelancers do, until the third simultaneous project makes "which phase is Marcus's invoice for" a real question.

This is the job Raoura was built for (disclosure: Raoura is our product). You set up the milestone schedule per project, each milestone generates its own invoice, payments go through your own Stripe account so nobody holds your money, and the client portal shows the client which phase is delivered, which is approved, and what is due, which quietly does the deemed-acceptance work for you. It is a flat $17/mo.

But the structure in this article works with any tooling, including none.

!A milestone schedule in Raoura: four phases of a website redesign, one approved and paid, one awaiting approval, two pending, each with its own price

Each phase carries its own price and status, so "which phase is Marcus's invoice for" answers itself.

Frequently asked questions

How many milestones should a project have?

Enough that no single one exceeds 25 to 30% of the project, and no phase runs longer than 2 to 3 weeks. In practice: two payments under $1,000, three up to $5,000, four up to $15,000, five or more (or monthly billing) beyond that.

Does the deposit count as a milestone?

Yes, treat it as milestone zero: collected at signing, before work starts. It is the only milestone paid before its phase instead of after, which is exactly why it exists.

What if the client insists on paying everything at the end?

Treat it as a risk signal, not a negotiation position. Offer the smallest concession first (shift weight toward the final milestone, say 25/25/50 becoming your ceiling for flexibility), and hold the line on a deposit of some size. A client who refuses any structure at all is showing you the final-invoice conversation in advance.

Can I use milestone billing on hourly work?

Not directly, since there is no fixed total to split. The equivalent is prepaid blocks: the client buys 10 or 20 hours upfront, you bill against the block, and work pauses when it runs out. Same exposure cap, different shape.

What happens to milestones when scope changes mid-project?

The change gets its own price and either its own milestone or an amendment to the remaining ones, in writing, before the work happens. Otherwise the extra work silently dilutes your remaining milestones.

Do milestone invoices work with net 30 clients?

They can, but net 30 per milestone means you are often working phase 3 while phase 2 money is still in transit, so your real exposure is closer to two phases. If the client requires net 30, weight the schedule more heavily toward the front to compensate.

Is a deemed acceptance clause enforceable?

It is a standard contract term, and the client agreed to it in writing at signing. Enforceability details vary by state and no clause survives a client determined to litigate, but its real power is earlier than court: it removes silence as a free option, which resolves most stalls before anyone mentions lawyers.

---

Every figure and legal reference in this article was verified in July 2026. Sources are linked inline; the payment-risk statistics come from Bonsai's invoice dataset, the Freelancers Union, and Intuit QuickBooks' 2025 Late Payments Report. Stripe pricing and Upwork milestone mechanics were checked against their official pages this month.

Run your client work in one place

Send a proposal, get it signed, invoice, and get paid, with a branded portal your clients will actually use. One flat plan at $17/month, and we never take a cut of your payments.

Try Raoura free for 14 days

No credit card required. Set up in minutes.

Keep reading