Log in

Milestone payment schedule: an example and a template for services projects

A milestone payment schedule splits a project’s fee into amounts, each invoiced when a named event happens: the signature, the acceptance of a deliverable, the launch. For a services firm, a good one starts with a payment at signature, ties every other payment to an event the client can confirm, gives each event an expected date from the project plan, and leaves no gap of more than about six weeks between invoices.

14 days of everything, no card.

What makes a good payment milestone#

A payment milestone is the moment a phase of the work can be proven done. Three tests:

  • Someone outside your firm can confirm it. “Pipelines running on staging with the agreed test results” can be checked. “Build phase complete” is your opinion.
  • It is tied to acceptance, with a clock. The SOW should say how long the client has to accept a deliverable and what silence means. Without that, a milestone can wait for a sign-off nobody gives. The acceptance criteria clause has the wording.
  • It is in your control, or the delay is priced. If a milestone depends on the client (their data, their approvals, their launch window), the schedule needs a rule for what happens when they are late. That rule is below.

U.S. federal contracting uses the same idea under a different name: its performance-based payments are made on “performance measured by objective, quantifiable methods,” “accomplishment of defined events,” or “other quantifiable measures of results.”1 A small firm’s SOW can borrow the standard: if a milestone cannot be measured, it is not ready to carry money.

A milestone payment schedule example: a 14-week data project#

The companies and figures are made up. Northpine Data LLC builds a data warehouse and a set of dashboards for Calder Freight Co. for a fixed fee of $96,000. The SOW is signed on Monday, October 26, 2026, the work starts on Monday, November 2, and invoices are due net 30 from the invoice date.

WhatEvent that triggers the invoiceExpected date (from the plan)ShareAmountDue (net 30)
1Signature of the SOWMon, Oct 26, 202620%$19,200Wed, Nov 25, 2026
2Data model approved in writing by CalderEnd of week 3: Fri, Nov 20, 202615%$14,400Sun, Dec 20, 2026
3Pipelines on staging pass test cases 1 to 30End of week 7: Fri, Dec 18, 202625%$24,000Sun, Jan 17, 2027
4Dashboards accepted under the SOW's acceptance clauseEnd of week 12: Fri, Jan 22, 202725%$24,000Sun, Feb 21, 2027
5Production launch and two weeks of supportEnd of week 14: Fri, Feb 5, 202715%$14,400Sun, Mar 7, 2027
Total, fixed fee14 weeks100%$96,000

What the schedule does for Northpine:

  • Cash early. Payment 1, $19,200, is due on November 25, three and a half weeks into the work, and equals about three weeks of the fee. The firm is never far ahead of the money at the start.
  • No gap longer than five weeks. The longest wait between two invoices is from week 7 to week 12.
  • The heavy work carries the most money. Payments 3 and 4 sit on the build, where most of the hours go.
  • The client keeps a stake to the end. 15% waits for the launch, so Calder has a reason to finish the acceptance and Northpine has a reason to stay for support.

The holidays in the plan. Thanksgiving falls on Thursday, November 26, 2026, and the year-end break on the weeks after December 18. A client’s approvals slow down around both. Put a milestone in the days before a holiday only if the deliverable will be ready a few days early; otherwise the approval, and the money, moves into the next month.

Other shapes of a payment schedule, and when each fits#

WhatHow it worksFitsWatch for
Deposit and milestonesA share at signature, the rest on events, as aboveFixed-fee projects with clear deliverablesEvents with no expected date
Equal monthly installmentsThe fixed fee split over the months of the project, invoiced on the 1stLong projects where deliverables are hard to defineWork that runs past the last installment for free
Milestones with a holdbackEach milestone invoice is paid less 10%; the held amounts are paid at final acceptanceClients who insist on retentionA holdback with no date for its release
Monthly time and materials, cappedHours worked, invoiced monthly, up to an approved capDiscovery, support, open scopeThe cap reached mid-month with no approval for more
50/50Half on signature, half on deliveryShort projects of four to six weeksDelivery that slips and takes the second half with it

A hybrid is common and fine: a fixed fee by milestones for the build, then time and materials for changes. Price changes under the SOW’s change control, not by bending the schedule.

Amounts due on an event with no date, and how to give them one#

Many SOWs say “Payment 3 is due on delivery of the final report.” That sentence has no date. Nobody puts it in a calendar, the project slips by three weeks, and the invoice goes out a month late because nobody was watching for it.

Two fixes, both in the SOW:

1. Give the event the date the plan expects. The project plan already says when the final report is due: week 12. Write the expected date into the payment schedule next to the event: “on delivery of the final report, expected at the end of week 12.” The amount still waits for the event, but now both sides know when to look for it, and the firm can check on that date whether it happened.

2. Add a long-stop date for delays on the client’s side. If the report is late because the client did not give access to its data, the firm should not wait for the money indefinitely.

Long-stop for a milestone the client delays

If a milestone is delayed for reasons attributable to Client, including late access, information, approvals or feedback, the payment tied to that milestone becomes payable on the date [twenty-one (21)] days after the milestone's expected date in the Project Plan, and Provider may invoice it on that date. Provider shall then complete the milestone in the ordinary course.

In the Northpine example, if Calder’s data access arrives three weeks late and the dashboards miss Friday, January 22, 2027, payment 4 becomes payable on Friday, February 12, 2027, without waiting for the acceptance.

What to do on the expected date. Ask the person who runs the work one question: did the event happen? If yes, invoice the same day. If no, write down why and the new expected date, and if the delay is on the client’s side, check whether the long-stop now applies.

A milestone payment schedule template to copy#

Paste this into the fees part of your SOW. The bracketed parts are yours to fill. For the whole SOW around it, use the free statement of work template.

Milestone payment schedule template

Payment schedule. The fixed fee of [$total] is payable in the installments below. Provider shall invoice each installment when its event occurs. Each invoice is due within [thirty (30)] days after the invoice date.

Installment 1. Event: signature of this SOW. Amount: [$amount] ([20]%).

Installment 2. Event: [deliverable] accepted under Section [acceptance]. Expected: end of week [3] of the Project Plan. Amount: [$amount] ([15]%).

Installment 3. Event: [deliverable] accepted under Section [acceptance]. Expected: end of week [7]. Amount: [$amount] ([25]%).

Installment 4. Event: [deliverable] accepted under Section [acceptance]. Expected: end of week [12]. Amount: [$amount] ([25]%).

Installment 5. Event: [launch / final deliverable] accepted. Expected: end of week [14]. Amount: [$amount] ([15]%).

Expected dates are for planning; an installment is payable on its event, or on the long-stop date in Section [x] if Client delays the event.

How the payment terms around the schedule read (currency, PO numbers, expenses, late payment) is on the SOW payment terms page.

What goes on a milestone invoice, and when it is not paid#

Name the milestone the way the SOW names it: “Installment 3: pipelines on staging pass test cases 1 to 30 (SOW section 4.2)”. Then the evidence it rests on (the acceptance email and its date), the client’s PO number, the amount, the due date from the payment term, and how to pay. An invoice that quotes the SOW gets approved; one that says “Phase 2” goes back for questions.

When it is past due, send a reminder on day 3, with the invoice attached again. If it is still unpaid after the second reminder, stop work on the next milestone only if your SOW gives you that right, and say so in writing with a date. The wording for each reminder is in the overdue invoice email.

Run a milestone payment schedule in Tommos#

In Tommos (tommos.ai), a CRM whose AI agents, the tommos, take a B2B inquiry to a signed contract, the schedule above does not live in a spreadsheet. On the Sign plan, Tommo Closer reads it out of the signed SOW, keeps the dates, and has each invoice ready the day its milestone comes due. Nobody has to remember that Calder accepted the dashboards last Tuesday. How it works:

  1. 1

    Sign the SOW in Tommos

    When you press Sign on the SOW’s Sign card, the signed copy is filed beside it in the client’s folder in Drive. That folder is where Tommo Closer reads the signed paper of the deal.

  2. 2

    Accept the payment schedule

    When the deal is won, a card “Accept the payment schedule” shows each amount, its date or its event, its payment term, and for an amount due on an event, the date the SOW’s own plan expects it and where it read that. Press “Accept the schedule”, change an amount or a date first, or press “Not this”.

  3. 3

    Answer when a milestone is due

    On each expected date, if the record does not show the milestone, Tommo asks the person who runs the work, as a task, whether it happened. One answer, and the amount either comes due or waits.

  4. 4

    Connect Mercury once

    In Settings, Invoices, copy the address under “First, in Mercury, allow this address on the token”, allow it on your Mercury API token, then paste the token and press “Connect Mercury”.

  5. 5

    Two presses per invoice

    When an amount comes due, its invoice waits on a card with the lines, the amount, the due date and the PO number. “Make the invoice” makes it in Mercury and sends nothing; “Send” sends the letter with the PDF and the payment link. For work by the hour, the invoice comes from the timesheets your firm already sent the client. If an invoice is not paid by its due date, Tommo Closer writes each reminder on its day, from the invoice and the deal, and puts it on a card; one press sends it. You set the days before the first one, the interval and how many.

How Tommo Closer works · Every plan

Questions about milestone payment schedules#

What is a milestone payment schedule?
A plan that splits a project's fee into amounts, each invoiced when a named event happens, such as the signature, the acceptance of a deliverable or the launch. It is written into the SOW with each amount, its event and its payment term.
How do milestone payments work?
The SOW names each milestone, the share of the fee it carries, and the event that makes it due. When the event happens, for example the client accepts a deliverable, you send that invoice, and the client pays it on the payment term. The last payment falls due when the project is complete.
What is milestone billing?
Billing a project in parts, each when a milestone is reached, instead of monthly or at the end. For a services firm it keeps cash flow close to the work: the firm is paid for each stage before it funds the next one.
What percentage should the first milestone payment be?
Most guides say 25 to 50% up front, and 50% is common on projects of a few weeks. On a longer fixed-fee project, 15 to 25% at signature is enough if the next invoice comes within about four weeks. The test: the first payment should cover the work until the second invoice is paid, so you never fund the client's project from your own cash.
How many payment milestones should a project have?
Enough that no two invoices are more than about six weeks apart. A 14-week project fits four or five; a four-week project fits two.
What if the client delays a milestone?
Write a long-stop date into the SOW: if the delay is on the client's side, the payment for that milestone becomes due a set number of days after its expected date, whether or not the milestone is done.
What is the difference between a milestone payment and a progress payment?
A milestone payment is tied to an event, such as a deliverable accepted. A progress payment is tied to how much of the work is done, often measured by costs or hours. Milestone payments are easier to prove; progress payments follow the work more closely.
Should the final milestone be large?
Keep it small, 10 to 15%. A large final payment waits on every risk in the project at once, including the client's own launch date.

Key takeaways#

  • Tie each payment to an event someone outside your firm can confirm, with acceptance on a clock.
  • Start with 15 to 25% at signature; keep the last payment at 10 to 15%.
  • Keep invoices no more than about six weeks apart.
  • Write the expected date next to every event, and a long-stop date for delays on the client’s side.
  • On each expected date, ask whether the event happened and invoice the same day.
  • For the rest of the path to the money, read how to get paid on time.

This is practice, not legal advice.

Sources#

  1. Federal Acquisition Regulation 32.1002, “Bases for performance-based payments”, read Oct 15, 2026

The example’s companies and figures are made up; the dates (October 26, 2026 to March 7, 2027, Thanksgiving on November 26, 2026) are from the calendar, computed on October 15, 2026. The shares (15 to 25% first, 10 to 15% last, invoices six weeks apart) are the author’s practice, not a statistic.

Have each signed SOW turned into a dated schedule

Connect Mercury once. When the next deal is won, Tommo Closer reads the SOW, dates every milestone from its plan, and asks the person running the work when a date passes.

Start 14 days free

14 days of everything, no card. After your first payment, you have 30 days to get all of it back.

Rather see it first?

Ask through our form, and the answer comes from us.