Milestone billing explained
Milestone billing explained
Milestone billing lets you break a fixed-price project into stages, each with its own amount, so you invoice as work is delivered instead of waiting until the whole project is done.
A milestone represents a chunk of billable work with:
- A name and description of what's being delivered.
- A fixed dollar amount and currency.
- Estimated start and end dates, so it can show up on your project roadmap.
- A status that tracks its progress from not started through to paid.
- Optionally, a list of deliverables attached to it.
As you add milestones to a project, Handl keeps the project's total value in sync with the sum of all its milestones — so your project value always reflects what's actually been scoped.
Good to know
- Milestone billing is used on Fixed Price projects. Time & Materials and Retainer projects bill differently (see "Recurring and time & materials billing" and "Retainers: automatic invoicing and overage billing").
- Milestones don't turn into invoices automatically just by being marked complete — you invoice a completed milestone with a deliberate action (see "Milestone statuses and what triggers invoicing").
- Milestones can also carry optional deliverables that stay locked to the client until the related invoice is paid, if you turn that feature on for the project.
FAQs
Do I have to use milestones for every project?
No — only Fixed Price projects use milestones. Choose Time & Materials or Retainer if that fits the engagement better.
Can a milestone have its own currency?
Yes, though for consistency it's best to keep milestones in the same currency as the project.
What happens to the project total if I add or remove a milestone?
The project's total value updates automatically to match the sum of its milestones.