Skip to content
Sticky notes on a planning board

Milestone pricing: why we invoice one step at a time

Fixed-price contracts hide risk on one side of the table. Here is the model we use instead, and what it changes for both of us.

Most agency contracts come in two flavours. A fixed price for the whole scope, which pushes every unknown onto the studio and quietly pushes quality down with it. Or time and materials, which pushes every unknown onto the client and turns the budget into a rumour. We use a third: milestones, invoiced one at a time.

How it works

Before anything is built we agree a scope, a timeline and a price, broken into milestones. Each milestone is a slice of the product you can actually use — not "backend work" but "customers can register, sign in and reset a password".

  • You pay for the milestone in front of you, not the whole project.
  • We build, deploy it somewhere real, and walk you through it.
  • One round of minor adjustments per milestone is included.
  • Anything larger is quoted before it is built, and you decide whether you want it.

What it changes

The most you ever have at risk is one milestone. If we are the wrong fit, you find out after a few weeks and a small invoice rather than after six months. And because scope changes get priced when they appear rather than absorbed silently, nobody spends the last month of a project arguing about what "done" meant in a document written before either of us understood the problem.

It also changes how we estimate. When you are quoting a slice you will build in three weeks, you cannot hand-wave the hard part — so the hard part gets discussed at the start, which is where it is cheapest to discover.

When it doesn't fit

Milestones need a product with a shape. Pure research, or an engagement where the deliverable is an opinion rather than a system, works better as a retainer. Team augmentation is priced by capacity for the same reason: you are buying engineers for your backlog, not a defined outcome.