License Logic Navigation - Mobile & Tablet Fixed

How to Find and Reclaim Unused Software Licenses

Learn how to find unused software licenses using SSO and usage data, then reclaim the seats nobody uses before your next renewal.
Picture of Joel Hereth
Joel Hereth
5
min read
Table of Contents

See License Logic in Action

Get a personalized demo and see your potential savings.

Book a Demo
How to Find and Reclaim Unused Software Licenses
Key takeaways
  • An unused license is a paid seat with no meaningful sign-in or usage activity over a set window, usually 30 to 90 days.
  • You find them by comparing the seats you pay for against real usage from SSO sign-ins and, where possible, desktop activity.
  • Reclaiming licenses means removing or downgrading those seats, ideally before the contract renews so you stop paying for them.
  • License Logic surfaces unused and underused seats automatically and reclaims Microsoft 365 licenses based on real usage.

To find unused software licenses, compare the seats you pay for against who actually signs in and uses each app. Pull your paid seat counts from each contract, pull real activity from your identity provider, and flag every seat with no sign-in over the last 30 to 90 days. Those are your reclaim candidates.

The hard part is not the math, it is getting usage and contract data into one place. Most teams pay for licenses in one system, provision them in another, and have no single view of who is actually using what. This guide walks through how to close that gap, find the dead seats, and reclaim them before the renewal locks the spend in for another year.

What counts as an unused license?

An unused license is a seat you pay for that nobody meaningfully uses. In practice it falls into three buckets. A never-activated seat was purchased and assigned but the person never logged in. An abandoned seat was active once but has had no sign-in for weeks or months, often because the employee changed roles or left. A duplicate seat is a second paid license for someone who already has access through another plan or bundle.

Unused is not the same as underused. An underused license is being touched, but far below the tier you are paying for, like a premium seat used only for basic features. Both waste money, but you reclaim them differently: unused seats get removed, underused seats get downgraded.

Why unused licenses are so easy to miss

Software spend hides in three places at once. Finance sees the invoice, IT sees the admin console, and the team using the tool sees neither. No single person owns the question of whether a seat is still worth paying for.

Sign-in data helps, but single sign-on only captures the apps that route through it. Anything a team bought on a card and logs into directly is invisible to SSO, which is where a large share of real usage lives. And renewals run on autopilot: a contract renews at the same seat count it had last year because nobody pulled the usage report in time to argue for fewer.

How to find unused licenses, step by step

The goal is one view that puts paid seats next to real usage. Here is the practical order.

1

Pull your paid seat counts

Start from the contract, not the admin console. List every app, the number of seats you pay for, and the renewal date. The seat count on the invoice is the number you are trying to justify.

2

Connect your identity provider

Sync sign-in activity from your SSO, whether that is Microsoft Entra, Okta, or Google Workspace. This tells you who has actually opened each app and when they last did.

3

Close the usage gap that SSO misses

SSO cannot see apps people log into directly. A desktop signal that captures real application activity fills in the roughly one third of usage that never touches single sign-on, so a quiet seat is genuinely quiet.

4

Set an inactivity threshold

Pick a window that matches your risk tolerance, commonly 30, 60, or 90 days with no sign-in. Every seat past that line becomes a reclaim candidate you can review.

5

Reconcile against seats you pay for

Line the active-user count up against the paid seat count per contract. The difference is your reclaimable seats, and the renewal date tells you how long you have to act on them.

How License Logic surfaces and reclaims unused licenses

License Logic is built to be the single view this process needs. It joins contract seat counts, sign-in activity, and spend so unused and underused seats surface on their own instead of waiting for a manual audit.

  • Usage from SSO plus a desktop signal. It reads sign-ins from Entra, Okta, and Google Workspace, and a macOS desktop agent captures the direct-login activity SSO cannot see, closing roughly a third of the usage gap so a seat flagged quiet really is.
  • Seats measured against the contract. Every app shows active users next to the seats you actually pay for, with the renewal date attached, so you can right-size the count before you re-sign rather than after.
  • Microsoft 365 reclamation on real usage. For Microsoft 365, License Logic can reclaim licenses based on actual usage and handle provisioning through SCIM, so dormant seats are recovered instead of renewed by default.
  • Spend and price context on every seat. Because contracts, spend from NetSuite and Ramp, and price benchmarks on select vendors all live in one place, a reclaim decision comes with the dollar figure attached.

Turn findings into savings at renewal

Finding unused seats only saves money if you act before the contract renews. A reclaim list is most valuable in the weeks before a renewal date, when you still have room to drop the seat count or renegotiate the tier. After the renewal signs, that spend is committed for another term.

The habit that sticks is simple: review the reclaim candidates for any contract on a standing cadence tied to its renewal, not once a year in a fire drill. When usage, contracts, and renewal dates sit in one place, that review takes minutes instead of a week of spreadsheet stitching.

You cannot reclaim a license you cannot see. The win is not a smarter audit, it is one view where paid seats sit next to real usage all year round.
See every unused seat before you renew

License Logic puts paid seats, real usage, and renewal dates in one view so you reclaim dead licenses instead of renewing them.

See how License Logic works

Frequently asked questions

How do you identify unused software licenses?

You compare the seats you pay for against real usage. Pull paid seat counts from each contract, sync sign-in activity from your identity provider, add a desktop usage signal for apps that bypass single sign-on, then flag every seat with no activity over your chosen window. Those seats are your reclaim candidates.

How many days of inactivity make a license unused?

There is no fixed rule, but most teams use a 30, 60, or 90 day window with no sign-in. A shorter window catches waste faster but risks flagging seasonal users; a longer window is more conservative. Pick the threshold that matches how your teams actually work and apply it consistently.

What is the difference between unused and underused licenses?

An unused license has no meaningful activity and should be removed. An underused license is being used, but well below the tier you pay for, such as a premium seat used only for basic tasks. Unused seats get reclaimed; underused seats usually get downgraded to a cheaper plan.

Can you reclaim software licenses automatically?

It depends on the application. For Microsoft 365, License Logic can reclaim licenses based on real usage and manage provisioning through SCIM. For other apps, License Logic surfaces the unused seats and the savings so your team can remove them in the vendor console, since not every vendor exposes automated reclamation.

Does single sign-on show all software usage?

No. Single sign-on only captures the apps that route through it, so anything a team logs into directly stays invisible. That blind spot hides a large share of real usage, which is why a desktop activity signal matters before you call a seat unused.

Picture of Joel Hereth
Joel Hereth
Related Articles
Binocs for License Logic Setup Guide
How to connect Binocs to License Logic: requesting an API token, what we store and how it is protected, and what the daily sync reads.
8
min read
MasterControl for License Logic Setup Guide
How to connect MasterControl to License Logic: generating an API key, what we store and how it is protected, and what the daily sync reads.
9
min read
Veeva Vault for License Logic Setup Guide
How to connect Veeva Vault to License Logic: choosing between OAuth 2.0 and a Vault service account, what each mode stores, and what the dai...
13
min read
Binocs for License Logic Setup Guide
How to connect Binocs to License Logic: requesting an API token, what we store and how it is protected, and what the daily sync reads.
8
min read
MasterControl for License Logic Setup Guide
How to connect MasterControl to License Logic: generating an API key, what we store and how it is protected, and what the daily sync reads.
9
min read
Veeva Vault for License Logic Setup Guide
How to connect Veeva Vault to License Logic: choosing between OAuth 2.0 and a Vault service account, what each mode stores, and what the dai...
13
min read

License Logic

Tired of herding cats?

Get the solution to stop the fire drills and start seeing all your vendors, spend, and usage in one place.

Join hundreds of IT, finance, and procurement leaders taking back control of their software stack.