Milestone invoicing for freelancers: deposit splits that protect your cash flow
If you invoice only at the end, you are lending your client money for free. A deposit and a few milestones fix that. This guide shows three splits that work, when each fits, and how to word it so clients agree.
Why milestone billing works
Milestone invoicing spreads the client’s payment across the project. Three things improve at once: you carry less risk, the client sees progress before paying more, and your cash flow stops depending on one big payment at the end.
It also changes behaviour. A client who has paid a deposit is committed. A client who is asked for the final payment against a visible milestone is far less likely to delay.
Three splits that work
| Split | Best for | Watch out for |
|---|---|---|
| 50% deposit / 50% on delivery | Short projects (1–3 weeks), new clients, fixed price | Half the risk is still on you until delivery |
| 30% / 40% / 30% | Multi-week projects with a clear midpoint (design approved, first draft, beta) | Define the midpoint in writing or it gets argued |
| 30% deposit / 70% on delivery | Repeat clients you trust | Larger unpaid exposure; avoid for first-time clients |
Pick the split before the proposal goes out and put it in the proposal. Changing terms after the client has said yes is much harder.
What to tie each payment to
- Deposit: due on acceptance; work starts when it is received.
- Milestones: a visible, checkable event — “wireframes approved”, “first cut delivered” — not a vague “halfway”.
- Final payment: due on delivery of final files. Hold source files or the live launch until it clears, if your contract allows.
Proposal wording (copy and paste)
Wording for each invoice
Name each invoice after the agreement, not just the number: “Project X — deposit (30%)”. Clients’ accountants match invoices to agreements; a clear label gets you paid faster. Include the payment link and the due date at the top.
When the client resists a deposit
- Explain that the deposit reserves your calendar, not just pays for work.
- Offer a smaller first phase paid in full instead.
- For large, trusted clients, offer a smaller deposit with a closer first milestone.
- If none of that works and the client is new, treat it as a signal.
Doing it in SeeGlance
On a project, open the payment schedule and start from a preset — 50/50, 30/40/30 or 30/70 — then edit labels, percentages, amounts and due dates. Each line is typed as deposit, milestone or final payment. When a milestone is reached, turn it into an invoice with one action; the invoice carries the payment link for the payout method you chose, and the invoice status tracks sent, overdue and paid. The schedule shows which milestones are still waiting to be invoiced.
If the scope changes mid-project, bill the extra work through a change order so the original schedule stays clean.
Common mistakes
- Starting before the deposit arrives.
- Milestones tied to dates instead of deliverables.
- Rounding percentages so the total is not 100%.
- Waiting weeks to invoice a reached milestone — the delay is yours.
FAQ
What deposit should a freelancer ask for?
Common ranges are 30 to 50 percent for projects of a few weeks. Smaller or first-time clients often get a higher deposit. Fixed-price work with big up-front costs justifies the high end.
Should work start before the deposit is paid?
No. State in the proposal or contract that the start date is confirmed once the deposit is received. Starting free work is the most common way freelancers end up unpaid.
What if the client wants to pay everything at the end?
Offer a smaller project phase to pay in full first, a smaller deposit with a milestone, or hand over low-resolution or watermarked previews until the final payment clears.
How do change orders fit into milestones?
Approved change orders are billed as their own line or invoice, so the original schedule stays clean.
Run this whole workflow in one place?
Set a payment schedule from presets (50/50, 30/40/30, 30/70), then turn each milestone into an invoice when it is due.
Try SeeGlance →