Milestones
Milestones are date-bound checkpoints within a project that mark the completion of a meaningful phase of work. They are the primary structure clients see in the Portal and the primary reporting dimension for project health.
What a Milestone Is
A milestone represents a deliverable outcome — not a task list. Examples:
- Phase 1 Complete: Network Assessment Delivered
- Client UAT Sign-Off
- Go Live
- Tax Returns Filed
Each milestone has:
- A name and optional description
- A due date
- An owner (the person responsible for delivering it)
- A list of deliverables (free-text bullet points describing what constitutes completion)
- A status (Pending → In Progress → Completed, or Overdue / Cancelled)
- Dependencies on other milestones (it cannot be marked complete until its dependencies are done)
- A notify client flag — when set, completing the milestone sends a Portal notification to client users
Adding a Milestone
- Open the project and go to the Milestones tab
- Click Add Milestone
- Fill in:
- Name — e.g., "Phase 2: Migration Complete"
- Due Date — Required
- Owner — Assign a team member responsible for this milestone
- Deliverables — Add one deliverable per line (e.g., "All VMs migrated to Azure", "Client signed off")
- Dependencies — Select any milestones that must be completed first
- Notify Client on Completion — Toggle on to notify portal users when you mark this complete
- Click Save Milestone
Milestone Statuses
| Status | Triggered By |
|---|---|
| Pending | Default on creation; work hasn't started |
| In Progress | Manually set when work on this milestone begins |
| Completed | Manually set; dependencies must all be complete first |
| Overdue | Automatically set when due date passes and status ≠ Completed |
| Cancelled | Manually set; milestone is no longer needed |
The system will prevent you from marking a milestone Completed if any of its dependencies are still in Pending, In Progress, or Overdue status. Resolve blocking milestones first.
Milestone Dependencies
Dependencies enforce delivery order. A milestone with a dependency cannot be completed until all of its dependencies are in Completed status.
To add a dependency:
- Open the milestone
- In the Dependencies field, search for and select the milestone(s) that must complete first
- Save
The Milestones tab visually shows which milestones are blocked by incomplete dependencies.
Progress Percentage
Each milestone has a progress_percent field that rolls up from the completion of tasks tagged to that milestone. The calculation is:
progress_percent = (done tasks) / (total tasks) × 100
If no tasks are linked to a milestone, progress is set manually.
Client Notification
When Notify Client on Completion is enabled and you mark a milestone as Completed:
- All active portal users for the associated client receive an email notification
- The notification includes the milestone name, project name, and a link to their portal
- The milestone appears as Completed in the client's Portal project view
Milestone Health in PSA
The PSA Command Center integration surfaces milestone health per project:
- Milestones overdue or at-risk are flagged in the PSA health widget
- Project managers can see overdue milestones without leaving PSA
Reporting Across Projects
The Milestones page (left sidebar → Milestones) shows all milestones across all projects:
- Filter by Status to see everything overdue at a glance
- Filter by Date Range to see what's due this week or this month
- Dependency indicators show which milestones are blocked
Tips and Best Practices
- Limit milestones to 5–10 per project — More than that usually means your milestones are actually tasks
- Set the notify flag for client-facing checkpoints — Keep clients informed without requiring them to log in and check
- Use deliverables as acceptance criteria — Clear deliverables prevent disputes about whether a milestone is truly complete
- Link tasks to milestones — This drives automatic progress percentage and makes the milestone view meaningful