Salesforce License Audit for Renewal Readiness
Do you really use the Salesforce licenses you pay for? SpendReady audits purchased vs assigned vs estimated-active seats, names the inactive users, and attaches a dollar estimate — so you walk into renewal with evidence, not gut feel.
Read-only OAuth · Lightweight Connected App · No Apex · No write access
What a Salesforce license audit should answer
Most “audits” are a screenshot of a count. A real one answers the questions you'll be asked at renewal.
How many seats are we actually paying for?
Your purchased license count by license type — the contract number, side by side with what's assigned and what looks active.
How many are assigned but never used?
Assigned seats whose owners have no interactive login in 90+ days. Named, not just counted.
Where is Permission Set License (PSL) spend leaking?
PSLs assigned to users who aren't active — surfaced by cross-referencing PSL assignments against login activity.
Which integration users are a cost and a risk?
Service accounts holding interactive licenses or carrying UI-login capability that widens your security surface.
What's the renewal number we can defend?
An estimated-active seat figure, with a dollar estimate attached, you can take into a Salesforce renewal conversation.
Purchased vs assigned vs estimated-active
These are three different numbers, and the gaps between them are where renewal money hides. SpendReady puts all three side by side.
What your contract says you bought. The number on the order form — and the number Salesforce renews against by default.
Seats actually allocated to users in the org. The gap between purchased and assigned is shelf-ware you're already paying for.
Users with a recent interactive login, derived from LoginHistory. This is login-derived estimated-active usage — a signal for the conversation, not absolute proof of how a license is used.
Illustrative example. “Estimated active” is login-derived from LoginHistory — a signal for the renewal conversation, not absolute proof of how each license is used.
Named inactive users
A count tells you there's a problem. A named list lets you act on it. SpendReady flags users with no interactive login in 90+ days and lists them by name and license type — so an admin can verify each one before you reclaim or renew it.
New hires, approved leave, and dormant-by-design accounts can be exempted so they don't show up as waste. The result is a cleanup queue you can defend line by line.
How the Salesforce inactive user report works →Illustrative example. Names and dates are sample data.
Illustrative example.
Permission Set License (PSL) waste
Feature licenses — Sales Engagement, CRM Analytics, Field Service and the like — are bought as Permission Set Licenses on top of base seats. They're easy to over-buy and easy to forget. SpendReady cross-references PSL assignments against login activity to find feature licenses sitting on users who aren't active.
Reads PermissionSetLicense and PermissionSetLicenseAssign, joined to login data — surfaced by name so you can confirm each one.
Integration-user risk
Integration and service accounts are a quiet source of both waste and exposure. SpendReady flags service accounts holding full interactive licenses they don't need, and accounts with UI-login capability that widens your security surface.
Service accounts on interactive licenses
A pure API integration rarely needs a full Sales or Service Cloud seat. Those are reclaimable seats hiding in plain sight — found by reading User and UserLicense.
UI-login capability flags
Integration users that can log in through the UI are a larger attack surface than they need to be. SpendReady surfaces them so your admin can tighten access. We read login activity only — no OAuth-token or session inspection.
CFO-ready renewal evidence
The point of the audit isn't a dashboard an admin logs into — it's an artifact a CFO or procurement lead can read, forward, and take into a renewal conversation. SpendReady attaches an estimated dollar figure to every finding using Salesforce list pricing (or your negotiated rate if you enter it), so the number is defensible.
- ✓Purchased vs assigned vs estimated-active seat counts, by license type
- ✓Named inactive users with last-login age
- ✓PSL waste identified by feature and by user
- ✓Integration-user cost and risk flags
- ✓An estimated savings figure tied to Salesforce list pricing — $175/user/mo Enterprise, $350 Unlimited
- ✓Readable without a Salesforce login — forward it to finance and procurement
Peak-usage, lowest-usage, and the 26-week trend chart are part of Monitoring and build over time — the free audit is a point-in-time snapshot, not a trend.
Sample audit output
A simplified view of what a SpendReady audit summary looks like. All figures below are sample data, not a real org.
Illustrative example. Based on 149 inactive seats × $175/mo (Salesforce Enterprise list price). Actual savings depend on your negotiated rate.
Related reading
See it from your role: for CFOs & finance · for admins & RevOps
License audit questions, answered
Run your free Salesforce license audit.
The first audit is free. No credit card. A Salesforce admin connects in about 60 seconds, read-only.
Read-only OAuth · Lightweight Connected App · No Apex · No write access