Milestone payment request

Bill milestones with an invoice clients can review and pay in one step.

Progress billing works when each milestone has a clear deliverable, amount, and payment path. EasyPayRequest keeps the invoice PDF and Stripe pay-now link together so clients are not guessing which phase they are funding. This page is about the milestone billing pattern—not retainers, deposits alone, or email-tone libraries. Examples are educational billing guidance, not legal or tax advice.

Define the milestone before you invoice

Name the phase, acceptance criteria, and amount due. Line items should match what the client already agreed in the proposal or SOW. If acceptance is fuzzy (“looks good”), write the exit criteria on the invoice notes so AP and the project lead are reviewing the same definition. Milestones fail when the invoice invents a phase the signed scope never named.

Invoice at the handoff with PDF + pay-now

Send when the milestone is ready for review or delivery. Include the PDF, calendar due date, and pay-now path in the same request. Reference the milestone name and SOW section in the subject and first lines so reviewers do not confuse phase 2 with phase 3. Use the how-to-send workflow for the mechanics; keep this page on why the milestone pattern needs a separate invoice per phase.

Track what is still open before the next phase

Keep paid, due, and overdue status visible so the next milestone is not blocked by an unpaid prior phase. If your contract requires payment before the next phase, say so on the PDF and in the email—then wait for status on that invoice record instead of starting unpaid work and escalating tone later.

Progress billing examples, edge cases, and failure modes

Sample milestone line items

Invoice title: “Milestone 2 — Design system handoff.” Lines: “UI kit + component library (as accepted 6/12) — $3,200,” “Design QA pass — $400,” “Sales tax (if applicable).” Notes: “Covers SOW §3.2. Next phase (build) starts after this invoice is paid.” Mirror the proposal wording so reviewers are not translating your invoice into their SOW.

Sample milestone payment request email

Subject: “INV-3302 — Milestone 2 Design system ($3,600) due June 20.” Body: “Hi Casey — Milestone 2 (design system handoff) is ready for acceptance as outlined in SOW §3.2. Invoice INV-3302 ($3,600) is attached and due June 20. Pay by card: [pay-now link]. Per our agreement, build (Milestone 3) starts after this invoice is paid. Reply if AP needs a PO or a billing-name change.” Tie start-of-next-phase language to the contract you already have.

When not to use milestones

Skip milestone invoices for tiny fixed jobs that are done in one send, pure retainers with a monthly capacity fee, or deposits that only unlock kickoff. Those fit deposit or retainer patterns better. Milestones shine when phases have acceptance criteria and you need payment status per phase—not when you are really collecting a single project balance in disguise.

Edge cases in progress billing

Partial acceptance: invoice only the accepted portion, or revise line items before sending pay-now. Change order mid-phase: add a separate line (or invoice) so the milestone total stays reconcilable. Shared milestone across vendors: make clear which deliverables you own. Client wants one monthly statement: you can still keep internal milestone invoices and summarize—do not merge unpaid phases into one opaque total without line clarity.

Failure modes that stall the project

One rolling invoice for every phase (status becomes unclear), starting the next phase while the prior milestone is unpaid when terms forbid it, vague line items (“Phase 2 work — $5,000”), and reminders that omit which milestone is open. Also: using retainer language on a milestone invoice (or the reverse), which confuses AP about what they are approving.

Keep the next phase unblocked

If your contract requires payment before the next phase, say so on the PDF and in the email. Do not start unpaid work and then surprise the client with a firmer tone. Use status on the same invoice record—not a new spreadsheet—to see which milestone is still open. For polite reminder cadence on an unpaid milestone, use the invoice reminder guide.

Milestone request checklist

  • Reference the milestone name and proposal or SOW section.
  • List deliverables completed (or accepted) in this phase.
  • State the amount due and calendar due date clearly.
  • Attach the invoice PDF with a Stripe payment link that matches the total.
  • Confirm payment before starting the next phase when terms require it.
  • Use a separate invoice per milestone for clean status and reminders.
  • Avoid mixing retainer or pure-deposit language into the milestone invoice.

Related resources

Milestone payment request FAQ

When should I invoice a milestone?

Usually at delivery or acceptance of that phase, unless your contract requires payment before the next phase begins.

Should each milestone be a separate invoice?

Yes for most freelancers. Separate invoices keep payment status and reminders clear per phase.

Can clients pay milestones online?

EasyPayRequest includes a Stripe Checkout path with the invoice so card payment stays tied to that milestone record.

What if a milestone is disputed?

Keep the invoice details specific. Clear line items and acceptance notes reduce back-and-forth before payment. Pause the next phase if terms require payment first.

How is this different from a retainer?

Milestones bill completed phases. Retainers usually renew for ongoing capacity. Pick the pattern that matches how the client already approved scope—see the retainer invoice template when capacity billing fits better.

Is this legal or contract advice?

No. Milestone examples are practical billing patterns. Confirm SOW language, acceptance rules, and payment terms with your own agreement.

Can I start free?

Yes. Create a free account, invoice each milestone with a pay-now link, and upgrade when fuller reminders and automation help.

Keep progress billing easy to approve

Start free, invoice each milestone with a pay-now link, and keep status visible as the project moves.

Start for free