How to Create and Complete Project Milestones in CrmLeaf
All editions. Core feature - no add-on required. BOQ utilisation figures in the milestone invoice preview require the Manufacture add-on module.
Availability: All editions. Core feature - no add-on required. BOQ utilisation figures in the milestone invoice preview require the Manufacture add-on module.
Overview
A milestone is a costed stage of a project. It carries a title, a cost with its currency and its dates, groups the tasks that deliver that stage, and is marked complete or incomplete. Milestones are also a billing point: once complete, a milestone can be invoiced directly, so project-based businesses can bill as work is delivered rather than only at the end.
How It Works
You add milestones under a project, attach tasks to them, then mark each one complete as the stage is delivered. A completed milestone becomes available for invoicing.
Add milestone → Attach tasks → Deliver → Mark complete → Invoice the milestone
- A milestone holds a title, a cost and currency, and its dates. Its state is complete or incomplete.
- Tasks are grouped under milestones, so the milestone reflects the work beneath it.
- A completed milestone can be invoiced directly. The amount comes from the underlying billable work, not from a flat milestone price.
- Milestones feed the project card view counts and appear in the Gantt and roadmap views.
Who Can Use This Feature?
User
- Add milestones with their cost, currency and dates.
- Attach tasks to a milestone.
- Mark a milestone complete or return it to incomplete.
- Raise an invoice from a completed milestone.
Access depends on the modules and role assigned by your Administrator.
Prerequisites
- The project exists and you can see it under your permission scope.
- A client is attached to the project, if the milestone will be invoiced.
- The currency you want to cost the milestone in is configured for the account.
- The tasks that deliver the stage exist, or you will create them under the milestone.
For Users
Step 1: Open the project's milestones
Open the milestones for the project you are planning. You can also work with milestones from within the project record.
Step 2: Add the milestone
Select Add, enter the title, the cost and currency, and the dates, then select Save. Name milestones after the deliverable the client recognises, not after internal activity.
Step 3: Group the tasks under the milestone
Create or Edit the tasks that deliver the stage and attach each one to the milestone, so you can see how much of the milestone remains.
Step 4: Mark the milestone complete
When every deliverable in the stage is done, set the milestone to complete. Check first that time and material on the underlying tasks have been recorded and approved, because these are what the milestone invoice bills.
Step 5: Invoice the completed milestone
Raise the invoice from the completed milestone. CrmLeaf gathers the milestone's approved but unbilled billable work into a preview before creating the client invoice, and stamps the source records so nothing is billed twice.
Field and Option Reference
| Field / Option | Description | Required |
|---|---|---|
| Title | The name of the milestone as the client will recognise it. | Yes |
| Cost | The planned cost or value of the milestone. | No |
| Currency | Currency the milestone cost is held in. | No |
| Dates | The milestone's planned dates. | No |
| Status | complete or incomplete. | Yes |
Expected Result
The milestone is saved under the project with its cost, currency and dates, groups the tasks assigned to it, and once complete becomes available to invoice. Completing it updates the milestone counts on the project card view.
Why This Matters for Service Organisations
Most service engagements are not paid in one instalment at the end. They are sold as phases or deliverables, and each accepted deliverable is the trigger to bill. A milestone gives that commercial stage a record of its own — a title the client recognises, a cost with its currency, dates, and the tasks that deliver it — so delivery progress and the right to invoice move together instead of being reconciled by email at month end.
How It Supports Professional Services
- Milestones are how a phased engagement, a stage-gated implementation or a deliverable-based consulting assignment is represented inside the project.
- A completed milestone can be invoiced directly, which is the mechanism behind deliverable-based billing in CrmLeaf.
- The invoice is built from the milestone's approved but unbilled billable time logs and material requisitions, so what reaches the client is work that a manager has already signed off.
- Source records are stamped when billed, which prevents the same consultant hours being invoiced against two stages.
- Each milestone carries its own currency, which suits firms delivering stages for clients in different countries.
Typical Service Workflow
Engagement → Milestone → Delivery → Time approval → Milestone invoice
The milestone sits between delivery and billing, and the step from a completed milestone to an invoice is one the product performs. Note the limit that matters commercially: the milestone cost field is a planned figure, and the invoice total comes from underlying billable work rather than from that figure, so a firm billing a flat fixed fee per deliverable typically raises the invoice manually instead.
Other Product-Type Use Cases
The same mechanism drives construction stage billing and solar installation payment points, where the approved unbilled material behind a stage matters as much as the hours. Internal projects use milestones purely as delivery checkpoints, with no billing attached.
Related PSA Capabilities
- How to Invoice a Completed Project Milestone — the billing step in full.
- How to Bill Tracked Time on an Invoice — the alternative when billing time rather than a deliverable.
- How to Submit and Approve Weekly Timesheets — approval is what makes hours billable to a milestone.
- How to Create and Send Estimates — where the stages were priced before delivery started.
Important Notes
- Menu names and their position can differ between product editions and can be customised for your account, so your sidebar may not match these paths exactly. Use Search or your Quick Access items if you cannot find a screen.
- The milestone invoice amount is built from the underlying billable work - approved but unbilled material requisitions and approved but unbilled billable time logs on the milestone's tasks - not from the milestone cost field.
- Milestone invoicing is guarded: the milestone must be complete, the project must have a client, and it must not already be invoiced.
- Source records are stamped when billed, so the same time or material cannot be invoiced twice.
- BOQ utilisation in the invoice preview needs the Manufacture add-on module. Confirm it is included in your plan.
Common Scenarios
Example: construction stage billing. A contractor completes the foundation milestone, and the invoice raised from it picks up the approved material requisitions and approved billable hours booked against the foundation tasks.
Troubleshooting
| Issue | Possible Cause | Resolution |
|---|---|---|
| The milestone cannot be invoiced. | It is not complete, the project has no client, or it was already invoiced. | Complete the milestone, attach a client, and check for an existing invoice. |
| The invoice preview is empty. | There is no approved but unbilled billable work on the milestone's tasks. | Approve the time logs and material requisitions, then reopen the preview. |
| The invoice total does not match the milestone cost. | The invoice is built from underlying billable work, not the cost field. | Review the billable time and material behind the milestone. |
| BOQ utilisation is not shown. | The Manufacture module is not enabled. | Ask an Administrator to enable it if it is part of your plan. |
Frequently Asked Questions
Can a milestone be reopened after completion?
Milestone state is complete or incomplete, so it can be returned to incomplete. Any invoice already raised from it remains.
Must every task belong to a milestone?
No. Tasks can be attached to a project and milestone, or stand alone.
Can two milestones use different currencies?
Yes. Each milestone carries its own cost and currency.
Related Articles
Our support team answers on business days. Reference PRJ-03 so we can jump straight in.