Salesforce License Optimization
Without Spreadsheets
Do you really use the Salesforce licenses you pay for? SpendReady reads your org read-only and produces a named list of estimated-inactive seats, over-assigned licenses, and idle permission set licenses — the renewal evidence you can't build by hand in a spreadsheet.
Read-only OAuth · Lightweight Connected App · No Apex · No write access
License optimization is more than license counts
Most license “optimization” stops at purchased vs assigned totals. That tells you the size of the bill — not where the waste is. Real optimization happens one user and one license-assignment at a time.
Counts don't tell you who
Knowing you bought 450 seats and assigned 438 is a start — but it doesn't tell you which assigned users haven't logged in, which permission set licenses are sitting idle, or which seats are really automation accounts. Optimization happens at the user and license-assignment level, by name.
Assignment is not utilization
An assigned license is a cost; a used license is value. SpendReady cross-references each user's license and permission-set assignments against interactive login history to separate the two — so you optimize against estimated activity, not just the assignment ledger.
Optimization needs evidence, not gut feel
Reclaiming a seat is a conversation with a department head. That conversation goes better with a named, login-derived list than with a round number. SpendReady produces the named findings so the optimization is defensible.
For the full background, see our Salesforce Optimizer alternative guide and the breakdown of Salesforce cost per user in 2026.
Inactive seats, estimated from login activity
SpendReady reads LoginHistory and separates interactive human logins from API/integration activity. Any assigned user with no interactive login in your window — 90 days by default — is flagged as estimated-inactive. It's login-derived evidence, not absolute proof, so new hires, approved leave, and dormant accounts can be exempted from findings.
Each finding lands by name, not as a round number — so reclaiming the seat is a defensible conversation with the department head, backed by data.
See how we build it: the Salesforce inactive user report.
Illustrative example. Figures vary by org.
Illustrative example. Figures vary by org.
Over-assigned licenses
Reading UserLicense and User together surfaces the full pool gap: purchased vs assigned vs estimated-active. The space between assigned and estimated-active is where most renewal savings hide — licenses allocated to people who aren't logging in.
Salesforce Enterprise lists at $175/user/mo and Unlimited at $350/user/mo (list prices), so every over-assigned seat carries a real number you can take into the renewal conversation.
Permission set license waste
License optimization isn't only about base seats. Permission Set Licenses — the add-on entitlements layered on top — are easy to assign and easy to forget. SpendReady reads PermissionSetLicense and PermissionSetLicenseAssign and cross-references each assignment against login activity.
The result: idle PSLs identified by name, not just by count — the assignments attached to users who haven't been active.
Deep dive: how permission set license waste accumulates.
Illustrative example. Figures vary by org.
Integration-user exclusions
The fastest way to ruin a license audit is to flag your automation accounts as “inactive” just because no human logs into them. SpendReady looks at login type in LoginHistory: accounts whose activity is API-only are treated as integration/service users and excluded from inactive-seat findings, so your estimated-inactive list stays clean and credible.
That same view also helps you spot service accounts holding interactive licenses they may not need — a separate optimization opportunity surfaced without false positives.
One report, ready for the renewal
Every finding rolls up into a single artifact you can hand to finance — purchased vs assigned vs estimated-active, with the waste called out by name.
Illustrative example: 149 estimated-inactive seats × $175/mo (Salesforce Enterprise list price). Actual savings depend on your negotiated rate and renewal terms.
The first (free) audit is a point-in-time snapshot. Peak-usage and lowest-usage months plus the multi-week trend chart are a Monitoring feature that unlocks at month 3, once weekly snapshots have accumulated. Salesforce's native LoginHistory is roughly 6 months deep and can't reconstruct that trend retroactively.
Bringing this to a vendor conversation? Read how to use utilization evidence in a Salesforce renewal negotiation. Prefer to see the audience-specific view? Visit SpendReady for Admins & RevOps or SpendReady for CFOs & Finance.
License optimization, answered
Optimize your Salesforce licenses without a spreadsheet.
The first audit is free. No credit card. A Salesforce admin connects in about 60 seconds.
Read-only OAuth · Lightweight Connected App · No Apex · No write access