Blog
License ManagementMay 2026 · 9 min read

Salesforce License Management: The 2026 Admin Guide

Salesforce license management isn't a once-a-year renewal task — it's a continuous process that determines how much leverage you have when the AE calls. Here's the full playbook.

What "license management" actually means in Salesforce

Salesforce sells licenses in layers. You buy user licenses (the base seat count), then stack permission set licenses (PSLs) on top for features like Einstein, Enablement, or Revenue Intelligence. Then there are connected app licenses, experience cloud licenses, and partner community licenses — each on its own pricing and entitlement model.

License management is the ongoing work of keeping track of what you've bought, what's assigned, what's actually being used, and what you can safely reclaim or not renew. Done well, it saves tens of thousands of dollars at renewal. Done poorly — or not done at all — you walk into every renewal conversation negotiating blind.

TL;DR: License management has three phases — track utilization continuously, reclaim waste as you find it, and build the documentation you need to negotiate. Most orgs only do the third one, days before renewal. That's why they overpay.

The three license management activities that matter

1. Utilization tracking (ongoing)

Utilization is the ratio of licenses actively used to licenses purchased. For user licenses: active users ÷ purchased seats. For PSLs: users who have used the PSL feature in the last 90 days ÷ PSL seats assigned.

Salesforce doesn't make this easy to see in a single report. Purchased user license counts live in Setup → Company Information. Active usage requires querying LoginHistory — specifically, finding users who haven't logged in within your defined inactivity threshold (90 days is the industry standard, though 60 days is increasingly common post-price-hike).

The SOQL for inactive users (simplified):

SELECT Id, Username, LastLoginDate, UserLicenseId
FROM User
WHERE IsActive = true
AND LastLoginDate < LAST_N_DAYS:90
ORDER BY LastLoginDate ASC NULLS FIRST

Note that LastLoginDate captures UI logins only — API-only users (like integration accounts) won't appear active here even if they're making constant API calls. For those, check LoginHistory filtered by LoginType = 'ApiSession' or similar.

Tracking this monthly — not just before renewal — gives you a trend. A utilization rate that was 78% in January, 71% in March, and 65% in May tells a story: you added seats, headcount didn't keep up, and you're now 35% over-licensed. That trend is the conversation you bring to renewal.

2. Waste reclamation (continuous)

Reclamation is the active work of deactivating identified waste. For user licenses, that means deactivating inactive users who won't be returning — freeing those licenses to be reassigned or removed from the contract. For PSLs, it means pulling assignments from users who have the license but aren't using the feature.

A few categories that consistently yield reclamation opportunities:

  • Departed employees. Users deactivated in Salesforce but whose license wasn't removed from the contract. Common in orgs without a formal offboarding checklist that touches Salesforce license counts.
  • Role-changers. Users who moved from an AE role (needed Sales Cloud Einstein) to a CS role (doesn't need it) — but the PSL was never reclaimed.
  • Pilot participants. A Tableau CRM pilot that ended 18 months ago. The 40 licenses provisioned for the pilot are still assigned to the original participants, most of whom never used the feature after week two.
  • Integration user over-provisioning. Integration users sitting on full Sales Cloud Enterprise licenses when they qualify for the zero-cost Integration User license type (available since Spring 2021 — Salesforce added it specifically to solve this problem).

Each reclaimed PSL seat has a dollar value attached. Sales Cloud Einstein is approximately $50/seat/month. Revenue Intelligence is approximately $75/seat/month. Tableau CRM varies. These aren't rounding errors — 20 reclaimed Einstein seats over 12 months is $12,000 in annual savings, and that's before using the data to negotiate your next contract.

3. Renewal documentation (pre-renewal)

Salesforce AEs are experienced negotiators. They know most customers don't have utilization data going into renewal conversations. That asymmetry works against you.

The documentation that changes the dynamic:

  • Utilization trend chart. Monthly active users over the last 12 months vs. purchased seats. Shows the gap compounding over time. Salesforce can't produce this from their side — LoginHistory only retains 6 months, and they don't aggregate it for customers.
  • Inactive user list. Specific users, with license types, who haven't logged in for 90+ days. Named, dated, with the dollar value of each license.
  • PSL waste summary. PSLs assigned but not used, by SKU, with monthly cost.
  • Integration user conversion candidates. Users who could be converted to Integration User license type, saving the delta between their current license and the free Integration User rate.

A one-page summary of these four items, with dollar figures, changes the opening position of the renewal conversation. Instead of defending your current seat count, you're presenting evidence that your current seat count is already over your actual need — and you have 12 months of data to prove it.

The LoginHistory constraint you need to plan around

Salesforce's LoginHistory object retains records for 6 months. After that, they're deleted. This is a hard constraint — it means if you don't capture your usage data every month, you can't reconstruct it later.

For orgs with annual renewal cycles, this is a real problem. Your renewal conversation happens in month 11. The LoginHistory data from months 1-5 is gone. The only utilization picture you can paint is the last 6 months — and if your contract was signed in a high-headcount period, the last 6 months may not reflect the current reality.

The fix is to capture a utilization snapshot every month and store it somewhere outside Salesforce. A simple Salesforce Flow or a monthly SOQL export into Google Sheets works. A tool like SpendReady does it automatically and accumulates the trend data week-over-week, so you have a 26-week lookback regardless of when LoginHistory pruning happens.

Permission Set License management: the category most admins undertrack

User license management is relatively straightforward — count seats, check logins, identify inactive users. PSL management is harder because:

  1. PSL assignments aren't visible in the same Setup views as user licenses.
  2. The objects that expose PSL usage (PermissionSetLicense, PermissionSetLicenseAssign) aren't in standard Salesforce reports — they require SOQL.
  3. "Assigned" doesn't mean "used." A user can have a PSL assigned for a feature they open once in six months. That still counts as a license seat for billing purposes.

To get PSL utilization, you need to cross-reference PermissionSetLicenseAssign (who has the PSL) against LoginHistory (is that person active at all). If someone has a $75/seat/month Revenue Intelligence license and hasn't logged into Salesforce in 90 days, that PSL is recoverable waste.

The SOQL is more complex than the basic inactive-user query because you're joining across objects. See our PSL waste guide for the full query and interpretation framework.

Building a license management process that scales

Ad-hoc license audits are better than nothing but they're high-effort and the results decay quickly. New users get added, roles change, PSLs get provisioned for trials that end — and the snapshot you ran three months ago is already out of date.

A sustainable process has three components:

  • Automated weekly data capture. LoginHistory snapshots, active user counts, PSL assignment counts — pulled weekly so you have the trend, not just the point-in-time.
  • Monthly reclamation review. A 30-minute admin review of the last month's utilization data. Who became inactive? Which PSLs crossed a threshold? Queue the reclamations.
  • Quarterly finance summary. A CFO-facing summary: licenses purchased vs. licenses active vs. estimated waste in dollars. Keeps procurement engaged and sets expectations before the renewal cycle starts.

The quarterly finance summary is the piece most admins skip because translating SOQL output into something a CFO can read takes significant manual effort. Automated tools that produce a formatted PDF — with dollar figures attached to each finding — eliminate that bottleneck.

What good license management looks like at renewal time

When your Salesforce AE calls to start the renewal conversation, the right posture is having already sent them a one-page summary:

  • Current seat count: 247 purchased
  • Peak monthly active users (last 12 months): 178
  • Current active users: 163
  • Inactive users over 90 days: 42 (confirmed departures + role changes)
  • PSL waste identified: 15 Einstein seats, 8 Revenue Intelligence seats
  • Estimated annual savings from right-sizing: $94,000

That summary changes the negotiation. You're not asking for a discount. You're presenting documented evidence that your current contract includes 84 seats more than your peak usage — and you want the renewal to reflect actual need, not historical over-purchase.

Salesforce has some flexibility on seat count reductions at renewal. The amount of flexibility correlates directly with how well-documented your utilization data is. Anecdotal ("we think we have too many licenses") gets a polite brush-off. Documented, with named users and 12-month trend data, gets a conversation.

SpendReady automates the data capture and report generation — weekly utilization snapshots, PSL waste analysis, and a CFO-ready PDF with all findings dollar-denominated. If you're 60+ days from renewal and haven't started building this evidence, the one-time audit is the fastest way to get the full picture in one run.

Related reading

SpendReady
© 2026 Fix Your Cloud LLC

Salesforce, Sales Cloud, Service Cloud, AppExchange, and Dreamforce are trademarks of Salesforce, Inc. SpendReady and Fix Your Cloud LLC are independent and are not affiliated with, endorsed by, or sponsored by Salesforce, Inc.