Revenue and projects
Project management
Track project health, team load, age exposure, filters, and exports.
The Project Management workspace is the operating view for open work, delivery timing, forecast exposure, workload, movement, and Revenue Risk. It reads project facts from ConnectWise and keeps Revenue Risk history in RevTracker.
Who Can See It
The tab is visible to project managers and administrators. ConnectWise writebacks, automatic Revenue Risk reconciliation, and other edit actions require administrator permission.
Start a Review
- Click Refresh before a formal review.
- Use the team selector if the meeting covers one delivery team.
- Open a KPI card to see the projects behind it.
- Review Pushed Out, Pulled In, the oldest exposure buckets, and the Aging Watchlist.
- Click a project row to open Project Details.
Delivery KPI Cards
Every KPI card opens supporting detail without leaving the workspace.
| Card | Meaning | Detail |
|---|---|---|
| Current Open | Projects whose ConnectWise status is not closed | Searchable, filterable, sortable project list. Search receives focus when opened. |
| Delivered YTD | Projects closed during the current America/Chicago calendar year | Detail loads only after you open the card. |
| Median Days to Close | Median weekday duration from project start through business close date | Project scatter plot, median line, and a trimmed-mean line when at least 21 projects have usable dates. |
| FF Budget Variance | Fixed-fee actual labor dollars minus sold fixed-fee labor dollars | Monthly Budget and Actual chart plus YTD dollars, percentage, and eligible-project count. Positive means over budget. |
Business days are Monday through Friday. Same-day delivery is zero days; holidays are not removed. ConnectWise close timestamps are converted from UTC to the America/Chicago business date before year and month grouping.
Fixed-fee actual dollars use actual fixed-fee hours multiplied by $250. A zero total budget produces an unavailable percentage instead of a misleading zero.
Project Movement
The movement watch has separate Pushed Out and Pulled In lanes. Select a month to see the active movement and its dollar total.
- Pushed Out means the active destination month is later than the source month.
- A project that has slipped more than once sits in the lane of the month it is currently leaving, not the month it first slipped from. July to August to September is in August's Pushed Out lane. The row still shows the whole chain, July to September.
- Pulled In means work genuinely moved earlier.
- If work moves out and then returns to its original month, it is Recovered, not Pulled In. It remains in Revenue Risk history but leaves both active lanes.
- Resolved, closed, and zero-risk items also leave the active lanes.
Use Open risk tracker for the complete entry and resolution history.
Projects by Close Month and Project Load
Projects by Close Month shows future scheduled closes plus Late and Unscheduled counts. Closed This Month opens the current-month delivered list.
Project Load has two views:
- By team groups on the ConnectWise project team.
- By person includes only a named engineer. A team used as a fallback is not counted as a person.
Counts are weighted with project complexity so a cluster of complex projects is visible even when the raw project count is modest.
Exposure by Age
Exposure by Age groups open, forecast-eligible product and fixed-fee labor dollars by project age. Each age group shows its forecast exposure beside the outstanding fixed-fee dollars still to collect, with both totals beneath the chart. Click a slice or legend row for the supporting list.
The drilldown columns are Project, Client, Engineer, Days Open, Hours Needed, Forecast Close, Status, Product, Labor, and Forecast. Hours Needed reflects the same Hours to Complete calculation used by the Aging Watchlist and can be sorted like every other column. Aging Reason appears beneath the client when recorded. Search includes project, number, client, engineer, status, and Aging Reason.
Aging Watchlist and Hours to Complete
The Aging Watchlist surfaces aged fixed-fee work, old open T&M work, customer holds, over-budget projects, and projects that need additional hours.
Hours to Complete uses one rule everywhere:
- Use Additional Hours Required when it is greater than zero.
- Otherwise use fixed-fee budget hours minus actual fixed-fee hours, never below zero.
Additional Hours Required is edited inline in the watchlist. Project Details and the age drilldown show the same calculated result.
Open Projects Table
Use search, status, team, client, engineer, age, balance, product, and MRR filters to narrow the work list. Every displayed data header sorts ascending and descending; unavailable values remain last. Click a row for Project Details. Export uses the active filters.
Project Details and Aging Reason
Project Details explains the project timeline, exposure, product, fixed-fee labor, MRR, notes, and Revenue Risk context. Hours to complete appears in the timeline.
Aging Reason is stored in the ConnectWise Project custom field with that exact name. Administrators can click Edit, enter or clear the explanation, and save. A failed ConnectWise write is shown as an error and is not replaced with a local value. Saving this field does not replace or alter other ConnectWise custom fields.
If you begin editing Aging Reason and close the dialog, RevTracker asks before discarding unsaved text. The dialog remains fully opaque in dark mode, with high-contrast status and age badges, a readable MSP MRR stream, and a close control that remains visible.
Revenue Risk
The Revenue Risk dialog records monthly labor, product, and MRR exposure. Wide detail uses a horizontal scrollbar. Resolved rows can be edited without reopening; Reopen is the only action that changes them back to open.
After a fresh administrator Project Management load, RevTracker checks open Product and Labor risk against current ConnectWise evidence:
- A category is cleared only when its authoritative balance is zero and a reliable completion date is earlier than the slipped-to month.
- Missing or ambiguous evidence causes no change.
- MRR is never cleared automatically.
- The operation is idempotent and keeps append-only event history.
- The whole row resolves only when no Product, Labor, or MRR amount remains.
Data Sources
- Projects, dates, balances, delivery evidence, hours, teams, engineers, and Aging Reason: ConnectWise.
- Revenue Risk entries and their event history: RevTracker.
- No spreadsheet replaces either live source.
Docs