Which contracts are ending soon, how much revenue is at risk, and where to focus renewal efforts. Generated by AI via Proxuma Power BI MCP server.
Which contracts are ending soon, how much revenue is at risk, and where to focus renewal efforts. Generated by AI via Proxuma Power BI MCP server.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: Account managers, finance teams, and MSP owners managing renewals
How often: Monthly for pipeline review, 90 days before expiry for renewal preparation
Which contracts are ending soon, how much revenue is at risk, and where to focus renewal efforts. Generated by AI via Proxuma Power BI MCP server.
BI_Autotask_Contracts and BI_Autotask_Billing_Items, then wrote and executed DAX queries to pull contracts with end dates in the next 30 days. Revenue figures come from the billing items linked to each contract. All client names have been anonymized.
Top 10 contracts by end date, sorted by urgency. Revenue represents the annual billing value tied to each contract.
| Contract | Client | End Date | Annual Revenue | Days Left | Urgency |
|---|---|---|---|---|---|
| Contract A | Client A | Apr 12, 2026 | $287,674 | 7 | Critical |
| Contract B | Client B | Apr 15, 2026 | $147,568 | 10 | Warning |
| Contract C | Client C | Apr 18, 2026 | $233,588 | 13 | Warning |
| Contract D | Client D | Apr 20, 2026 | $196,330 | 15 | Watch |
| Contract E | Client E | Apr 22, 2026 | $159,135 | 17 | Watch |
| Contract F | Client F | Apr 25, 2026 | $146,882 | 20 | Watch |
| Contract G | Client G | Apr 27, 2026 | $95,400 | 22 | Watch |
| Contract H | Client H | Apr 28, 2026 | $78,230 | 23 | Watch |
| Contract I | Client I | Apr 29, 2026 | $42,773 | 24 | Watch |
| Contract J | Client J | Apr 30, 2026 | $18,744 | 25 | Watch |
EVALUATE
TOPN(20,
SUMMARIZECOLUMNS(
'BI_Autotask_Contracts'[contract_name],
'BI_Autotask_Contracts'[end_date],
"Revenue", CALCULATE(SUM('BI_Autotask_Billing_Items'[total_amount]))
),
'BI_Autotask_Contracts'[end_date], ASC
)
ORDER BY 'BI_Autotask_Contracts'[end_date] ASC
Revenue at risk grouped by urgency tier. The Critical tier covers contracts ending in the next 7 days and demands immediate attention.
EVALUATE
ROW(
"TotalRevenue", [Revenue - Total],
"TotalCost", [Cost - Total],
"TotalProfit", [Profit - total],
"TotalContracts", COUNTROWS('BI_Autotask_Contracts')
)
Contracts mapped to their expiration week for planning renewal conversations.
Revenue at risk by client, showing which accounts carry the biggest financial exposure from expiring contracts.
| Client | Revenue at Risk | % of Total | Urgency |
|---|---|---|---|
| Client A | $287,674 | 13.7% | Critical |
| Client C | $233,588 | 11.1% | Warning |
| Client D | $196,330 | 9.3% | Watch |
| Client E | $159,135 | 7.6% | Watch |
| Client B | $147,568 | 7.0% | Warning |
EVALUATE
SUMMARIZECOLUMNS(
'BI_Autotask_Contracts'[contract_name],
'BI_Autotask_Contracts'[end_date],
"Revenue", [Revenue - Total],
"Cost", [Cost - Total]
)
ORDER BY 'BI_Autotask_Contracts'[end_date] ASC
Contracts scored by combining revenue value and time urgency. High revenue + few days remaining = critical priority.
$2.1 million is at risk in the next 30 days. That represents 11.9% of total portfolio revenue across 23 contracts. This is not a background metric. If even half of these contracts lapse without renewal conversations, you are looking at over $1 million in lost recurring revenue.
Contract A is the single biggest exposure. At $287,674 in annual revenue and only 7 days until expiration, this one needs a phone call today. Not an email, not a calendar invite for next week. The combination of high value and short timeline makes it the top priority in the portfolio right now. If this contract is already in a renewal pipeline, confirm the status. If it is not, escalate immediately.
The Warning tier (8-14 days) actually carries more total revenue at risk than the Critical tier: $735,915 across 4 contracts versus $668,830 across 3. This means the next two weeks are the real pressure point. Contracts B and C alone total $381,156 and both expire before April 19. The window for renewal conversations is narrow, and waiting for clients to initiate contact is not a strategy that protects revenue.
4 priorities based on the data above
Contract A expires on April 12 with $287,674 in annual revenue. At 7 days out, this is past the comfortable window for renewal discussions. Call the decision-maker directly and confirm renewal intent. If there are open issues or pricing concerns, you need to know now rather than after the contract lapses. Every day of delay increases the chance of a gap in service coverage.
These three contracts total $577,486 in revenue and all expire between April 15 and April 20. Block time on the calendar this week to have renewal conversations with each client. Bring the contract terms, any recent support history, and pricing options. If you wait until next week, two of these three will be inside the 7-day critical zone.
The fact that 23 contracts are expiring within 30 days suggests there is no systematic early warning process. Build an automated alert in Autotask or Power BI that flags contracts at 60 days and again at 30 days before expiration. This gives your account managers enough lead time to have proper renewal discussions instead of scrambling in the final week.
The 16 contracts in the Watch tier (15-30 days) still have enough runway for a proper conversation. Instead of treating renewal as a checkbox, use these touchpoints to review service utilization and propose upgrades. A renewal meeting is the best time to expand scope, because the client is already engaged in a buying decision.
Contract data comes from the BI_Autotask_Contracts table in Proxuma Power BI. The end date field tracks when each agreement expires. Revenue figures are pulled from BI_Autotask_Billing_Items linked to each contract. The AI queries this data through DAX via the MCP server connection.
Critical means the contract expires within 7 days and needs immediate action. Warning covers 8 to 14 days and should be addressed this week. Watch covers 15 to 30 days and gives enough time for planned renewal meetings. These tiers are calculated based on the difference between today's date and the contract end date.
No. Revenue at risk is the total annual billing value of contracts that are approaching expiration without a confirmed renewal. Many of these will renew. The metric highlights the financial exposure if renewal conversations are delayed or missed. It is a planning tool, not a forecast of losses.
Yes. The DAX queries can be extended with filters on BI_Autotask_Contracts[company_name] or BI_Autotask_Contracts[contract_category]. Ask the AI to regenerate the report for a specific client segment or contract type, and it will adjust the queries automatically.
Depending on your Autotask configuration, the contract may move to an inactive status. Billing items tied to that contract would stop generating invoices. The client may continue receiving services without a billing mechanism in place, which creates both a revenue gap and a liability risk. That is why proactive renewal tracking matters.
Yes. Connect Proxuma Power BI to your Autotask account, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask the same question. The AI writes the DAX queries, runs them against your real contract data, and produces a report like this in under fifteen minutes.
At minimum, run it monthly as part of your account management rhythm. For busier MSPs, a weekly check gives better coverage. The data is always live, so you can regenerate it any time to get a current snapshot of upcoming expirations.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started