Managing Projects, Milestones & Task Dependencies
Structure a won deal into a real delivery plan - milestones, tasks, and dependencies that roll up into one progress number, without a status meeting.
CrmLeaf TeamUpdated July 202625 minProject Managers
Prefer to set up as you read? Spin up a free CrmLeaf workspace and follow along with your own data.
Start Free TrialCreate a Project From a Won Deal
Why it matters: Creating the project directly from the deal carries over the client, contract, and quote details - nothing gets re-typed.
- Open the won Deal and click Create Project
- Confirm the linked Client and Contract details carry over correctly
WHAT YOU SEE WHEN DONEa new Project record exists, linked to the correct Client.
Apply a Milestone Template
Why it matters: A template saves you from rebuilding the same permitting-delivery-installation structure on every job.
- From the Project, click Apply Template
- Select your standard milestone template, or build one now if this is your first project
- Adjust milestone due dates based on this project's timeline
WHAT YOU SEE WHEN DONEthe project shows all standard milestones with draft due dates.
Break Milestones Into Tasks
Why it matters: A milestone without tasks is just a label - tasks are what actually get assigned, tracked, and completed.
- Open a milestone and click Add Task
- Add each concrete action required (e.g. "Submit permit application", "Schedule utility inspection")
- Repeat for every milestone
WHAT YOU SEE WHEN DONEevery milestone has at least one task with a clear, specific action.
Set Task Dependencies
Why it matters: Without dependencies, nothing stops installation from being scheduled before permits are approved - which is exactly the kind of mistake this feature exists to prevent.
- Open a task and click Add Dependency
- Select the task that must complete first (e.g. installation depends on material delivery)
- CrmLeaf blocks the dependent task from being marked in-progress until its prerequisite is done
WHAT YOU SEE WHEN DONEattempting to start a dependent task early shows a blocked status with the reason.
Assign Tasks to Team Members
Why it matters: An unassigned task is a task no one feels responsible for completing.
- Open each task and set an Assignee
- Set a due date tied to the milestone timeline
- Enable notifications so assignees are alerted when a task becomes unblocked
WHAT YOU SEE WHEN DONEevery task has an assignee and a due date, with no task left unassigned.
Track Progress Rollup
Why it matters: This is what replaces the status meeting - progress should be visible any time, to anyone with access.
- Open the Project dashboard
- Confirm the progress percentage reflects completed tasks across all milestones
- Share the project view link with a client if you offer client-facing visibility
WHAT YOU SEE WHEN DONEthe project progress bar updates automatically as tasks are marked complete.
Handle a Blocked Task
Why it matters: Dependencies only help if blocked tasks are visible - otherwise a stalled prerequisite just becomes a silent delay.
- Filter the Task list by status: Blocked
- Review why each blocked task hasn't started - usually a pending dependency
- Escalate any dependency that's overdue by contacting its assignee directly
WHAT YOU SEE WHEN DONEno blocked task has been sitting for more than 2 days without a follow-up.
You've completed this tutorial
Your project structure is live. Next: build the Bill of Quantities for your first task.
Next: BOQ & Material RequisitionsContinue learning
Keep going with the next tutorials in the Solar CRM series.
