Blog
Renewal PrepMay 2026 · 8 min read

Salesforce Renewal Checklist: 12 Things to Do Before Your Contract Renews

Salesforce renewals are won or lost in the 90 days before the conversation starts. Walk in with data — inactive users, PSL waste, trend lines — and you negotiate from strength. Walk in without it, and your AE controls the narrative.

This checklist covers what to pull, what to calculate, and what to bring to the table.

When to start: Begin at T-90 days (90 days before your renewal date). Salesforce AEs typically reach out at T-60 and have leverage if you're not prepared. T-90 gives you time to pull data, build the case, and get internal alignment before the first call.

Phase 1: Pull the Data (T-90 to T-75)

1. Inactive user audit

Pull every user who hasn't logged in for 90+ days:

SELECT Id, Name, Username, IsActive, LastLoginDate,
  Profile.Name, UserLicense.Name
FROM User
WHERE IsActive = true
  AND (LastLoginDate < LAST_N_DAYS:90
   OR LastLoginDate = null)
ORDER BY LastLoginDate ASC NULLS FIRST

Record the count and, for each inactive user, note their license type. This is your headline reclamation number.

2. Never-logged-in users

A subset of inactive users — active accounts that have never been used. These are pure waste: licenses purchased, onboarding scheduled, no adoption.

SELECT Id, Name, Username, IsActive, LastLoginDate,
  UserLicense.Name, CreatedDate
FROM User
WHERE IsActive = true
  AND LastLoginDate = null
ORDER BY CreatedDate ASC

3. Permission set license (PSL) waste

PSL assignments on inactive or dormant users — often worth more than the seat savings:

SELECT
  psla.Assignee.Name,
  psla.Assignee.IsActive,
  psla.Assignee.LastLoginDate,
  psla.PermissionSetLicense.MasterLabel,
  psla.CreatedDate
FROM PermissionSetLicenseAssign psla
WHERE psla.Assignee.IsActive = false
   OR psla.Assignee.LastLoginDate < LAST_N_DAYS:90

4. License pool utilization

Pull your current license pool counts to understand headroom:

SELECT Name, Status, TotalLicenses, UsedLicenses
FROM UserLicense
WHERE Status = 'Active'
ORDER BY TotalLicenses DESC

If UsedLicenses / TotalLicenses is below 70% consistently, you have a right-sizing argument.

5. Integration user risk

Check for service accounts with interactive UI sessions — a security finding that can also be used as a negotiation point if it reveals licensing misuse.

SELECT s.UsersId, u.Name, u.Username, u.UserType,
  s.LoginType, s.SessionType, s.CreatedDate
FROM AuthSession s
JOIN User u ON s.UsersId = u.Id
WHERE s.LoginType = 'Application'
  AND s.SessionType = 'UI'

Phase 2: Build the Numbers (T-75 to T-60)

6. Calculate recoverable spend

Get your current contract's per-unit pricing from your last order form (not list prices — your actual contracted rates). Then multiply:

  • Inactive users × your per-seat rate × 12 = annual recoverable seat spend
  • Wasteful PSL assignments × your per-PSL rate × 12 = annual recoverable PSL spend
  • Total = your negotiation number

If you don't have your per-unit rates handy, your Customer Success Manager is required to provide them on request.

7. Build a trend view

A single snapshot isn't as powerful as a trend. If you can show that inactive user count has grown from 18 to 47 over the past 6 months despite no net new hires, you have a compelling argument that the org is over-licensed relative to actual adoption.

This is where weekly automated audits pay off. If you've been running weekly reports for the past quarter, you have a trend graph ready for the renewal conversation.

8. Identify expansion vs. right-sizing opportunities

Before the renewal conversation, be honest internally: are there departments that actually need more licenses? Renewal is also when you can negotiate expansions at favorable rates. Come in with both sides of the picture — right-sizing wins plus genuine expansion needs — and you look credible rather than just trying to cut spend.

Phase 3: Prepare for the Negotiation (T-60 to T-45)

9. Get internal alignment first

Finance, IT, and the primary Salesforce business owner (often Sales Ops or RevOps) need to be aligned before the renewal call. The worst position: your IT director is pushing for cuts while your VP of Sales is telling their AE “we love Salesforce and plan to expand.” Salesforce AEs exploit exactly this.

Internal alignment checklist:

  • Finance has approved a target renewal spend (ideally same or lower than current year)
  • Business owners have confirmed which inactive accounts are genuinely unused vs. temporarily dormant (seasonal employees, leave of absence)
  • IT has reviewed integration user risk and has a remediation plan ready
  • You have a BATNA — what happens if you reduce seats or switch to a cheaper tier?

10. Know your leverage points

In rough order of effectiveness:

  • Data on waste — specific numbers on inactive users and PSL waste are the strongest leverage. Hard to argue with your own org's login data.
  • Multi-year commitment — if you're willing to commit to 2–3 years, Salesforce will trade that for a meaningful discount (typically 10–15%).
  • Competitive alternatives — even if you're not seriously considering a competitor, having evaluated one gives you a credible alternative to name.
  • Consolidation play — if you're running third-party tools for functions Salesforce covers natively, offer to consolidate in exchange for better pricing on the expansion.

11. Pre-wire your CSM before the AE conversation

Your Customer Success Manager is incented to retain you, not to maximize your cost. Share your data with them before the renewal call — “we've found 47 inactive users and $32K in PSL waste, and we need to right-size before we can commit to renewal.” A good CSM will carry that message to the AE and often pre-negotiate terms before the formal conversation begins.

Renewal Conversation Cheat Sheet

What the AE saysYour response
"Your utilization is at 82% — you're well-used.""Our active utilization is 82%, but 47 of those accounts haven't logged in for 90+ days. Adjusted for that, we're at 61% of licenses actively used."
"We can't discount below list price without executive approval.""We're not asking for a discount — we're asking to right-size to what we're actually using. We have 23 PSL assignments on inactive users alone."
"We can offer 5% if you sign a 3-year deal.""We need the right-sizing discussion resolved before we talk multi-year. Once we know the correct base count, we're open to a multi-year conversation."
"Your account team has approved a credit for one quarter.""A credit doesn't solve the structural problem — we'll be in the same position next renewal. We need to reduce the license count to reflect actual usage."

12. Start Building the Audit Trail Now

The queries above are the foundation, but running them manually every quarter and maintaining a trend view is work that tends not to happen. SpendReady automates the entire data collection layer — weekly audits, trend data, and a renewal-ready PDF you can share with CFO, finance, or procurement as-is.

By the time your Salesforce AE reaches out, you have 13 weeks of audit history showing exactly what's been used, what hasn't, and what it costs. That's the renewal preparation that actually moves the needle.

Start your 90-day audit trail now.

Connect in 5 minutes. Read-only OAuth. Weekly reports delivered automatically. Your renewal data starts building from day one.

Get your first audit free →