SaaS SaaS Management

SaaS Seat Creep: How to Audit Paid Licenses Nobody Is Actually Using

June 21, 2026 8 min read

Your finance team just forwarded the quarterly SaaS invoice and the number is larger than last quarter, again. Nobody added a major new tool, nobody ran a big hiring push, yet the bill crept up. The culprit is almost always seats: licenses provisioned for people who changed roles, left the company, or simply stopped using a tool weeks after onboarding.

Seat creep is quiet, accumulative, and embarrassingly common. This guide walks you through a repeatable audit process to find those idle licenses, quantify what they're costing, and claw back the budget without disrupting the people who genuinely depend on the tools.

What You'll Learn

  • How to build a complete license inventory across your SaaS stack
  • Where to pull usage data and what signals actually indicate an idle seat
  • How to classify seats into actionable tiers (active, dormant, ghost)
  • How to reclaim licenses without blindsiding real users
  • How to set up lightweight monitoring so seat creep doesn't compound again

Prerequisites

You don't need a dedicated SaaS management platform to do this audit, though one helps. At minimum you need: admin access (or a relationship with someone who has it) to your top tools, access to your payment method or finance system to see subscription line items, and a spreadsheet or simple database to track findings. If your company uses an identity provider like Okta or Azure AD, you'll want read access to user and app assignment data.

What Is Seat Creep and Why It Compounds

Seat creep happens when license counts grow faster than actual usage. An engineer joins, gets provisioned on six tools the first day, uses two of them regularly, and the other four sit idle. When that engineer moves to a different team or leaves, deprovisioning is inconsistent — IT closes the account on the identity provider but forgets to remove the Figma seat, the Notion member, and the GitHub Enterprise slot.

The compounding problem is that most SaaS vendors charge monthly per seat with annual minimums. You're often locked into a seat count at renewal, and if nobody ran an audit before the renewal window, you just committed to another year of paying for ghosts. Some tools also auto-upgrade your tier when you cross a seat threshold, meaning a handful of unconsidered provisioning decisions can quietly push you into a more expensive plan bracket.

If your organization has gone through rapid hiring, a reorg, or an acquisition in the past 18 months, the odds of significant seat creep are high. One useful entry point is understanding the broader picture of tools in your environment — including ones that never went through formal procurement. Our article on finding tools employees bought without IT knowing covers the discovery side of that problem well.

Build Your License Inventory First

Before you can audit usage, you need a complete list of what you're paying for. This sounds obvious, but most companies don't have one centralized record.

Start with three sources in order of reliability:

  1. Credit card and bank statements. Pull 12 months of transactions and search for recurring charges. Export to a spreadsheet, sort by vendor name, and deduplicate. Flag any vendor you can't immediately identify.
  2. Your identity provider's connected applications. Okta, Azure AD, Google Workspace, and similar systems show every OAuth-connected app. Some of these are free tiers, but many are paid — note all of them.
  3. Direct vendor billing portals. Log into each tool's billing section and record the current seat count, plan tier, next renewal date, and monthly or annual cost. Screenshot or export these pages.

Combine these into a single spreadsheet. Columns you need: Vendor, Plan, Seat Count, Cost Per Seat, Total Monthly Cost, Annual Commitment, Renewal Date, Primary Owner, and Admin Contact. The renewal date column will become critical when you prioritize which audits to run first — always tackle tools renewing in the next 60–90 days.

Pull Usage Data From Each Tool

With your inventory in hand, the next step is gathering actual usage signals. The goal is to identify which seats have seen zero or near-zero activity in the past 30, 60, and 90 days.

Built-in Admin Reports

Most mature SaaS products expose a user activity report inside their admin dashboard. Look for columns like

Last Login
Last Activity
Days Since Active
Projects Modified
Files Accessed
API Usage

Different vendors expose different metrics, but the objective is the same: determine whether the assigned user is actually consuming the license.

Examples:

  • GitHub Enterprise → Last repository activity
  • Figma → File edits and design activity
  • Notion → Page creation and editing
  • Atlassian → Product access and login history
  • Slack → Last active timestamp

Export these reports whenever possible.

The raw exports will become your audit dataset.

Identity Provider Signals

Your identity provider often reveals inactivity faster than the application itself.

Check:

Last Login
Disabled Account Status
Department
Manager
Employment Status

A user who hasn't logged into Okta or Azure AD in 60 days is unlikely to be actively using a dozen SaaS products.

Former employees are especially important.

If someone no longer exists in the identity provider but still appears in vendor billing, you've found an immediate recovery opportunity.

API-Based Reporting

For larger environments, APIs save substantial time.

Many vendors expose:

User Lists
Activity Data
License Assignments
Billing Information

through REST APIs.

A simple Python script can collect usage metrics automatically and consolidate them into a single dashboard.

For organizations managing hundreds or thousands of licenses, automation quickly pays for itself.

Build a Seat Classification Model

Not every inactive user should be removed immediately.

A more effective approach is categorization.

Use three buckets.

Active

Characteristics:

  • Logged in within 30 days
  • Recent meaningful activity
  • Clearly associated with current projects

Action:

Keep assigned

No further review needed.


Dormant

Characteristics:

  • No activity for 30–90 days
  • User still employed
  • Usage unclear

Action:

Review with manager

These users often represent recoverable licenses.


Ghost

Characteristics:

  • No activity for 90+ days
  • User left company
  • Duplicate account
  • Contractor engagement ended

Action:

Reclaim immediately

Ghost licenses usually deliver the fastest savings.

Calculate the Cost of Inactivity

Executives respond to financial impact.

Translate inactivity into dollars.

Example:

ToolGhost SeatsCost Per SeatAnnual Waste
GitHub Enterprise8$21$2,016
Figma12$15$2,160
Notion15$10$1,800
Jira20$8$1,920

Total:

$7,896 annually

from only four tools.

Most organizations discover significantly larger numbers.

A company with 300 employees commonly finds:

10%–25%

of seats generating little or no value.

Prioritize High-Cost Applications First

Not all audits produce equal savings.

Start with tools where:

Cost × Seat Count

is highest.

Example ranking:

VendorMonthly Spend
Salesforce$12,000
GitHub Enterprise$4,500
Atlassian$3,800
Figma$2,100
Notion$1,500

Reviewing Salesforce first will usually generate more savings than reviewing a small collaboration tool.

Apply effort where the financial return is highest.

Watch for Role-Based Overprovisioning

One common discovery is users assigned premium licenses they don't need.

Example:

Salesforce Enterprise

assigned to:

Read-only user

or:

GitHub Enterprise

assigned to:

Documentation contributor

In these cases:

  • Downgrade
  • Reassign
  • Move to a lower-cost tier

rather than removing access entirely.

License optimization often produces savings beyond simple seat removal.

Reclaim Licenses Without Breaking Workflows

The biggest mistake is removing licenses immediately.

Instead, use a staged process.

Stage 1: Notify

Send a message:

We noticed no activity in the last 90 days.
Please confirm whether you still require access.

Many users voluntarily relinquish access.

Stage 2: Manager Review

Ask:

Does this employee still need the tool?

Managers typically know current project assignments.

Stage 3: Temporary Suspension

For uncertain cases:

Remove access
Retain data
Monitor support requests

If nobody complains after several weeks, the seat was likely unnecessary.

Stage 4: Full Reclamation

Reduce license counts before renewal whenever contract terms allow.

Look for Duplicate Functionality

Seat creep often hides a larger issue.

Example:

Marketing uses:

Canva

Design uses:

Figma

Product uses:

Miro

Each tool solves overlapping problems.

The question becomes:

Can one platform replace three?

Consolidation frequently produces larger savings than seat recovery alone.

Automate Future Audits

A one-time cleanup helps.

Ongoing monitoring prevents recurrence.

Create a monthly report containing:

  • Total seats
  • Active seats
  • Dormant seats
  • Ghost seats
  • Monthly spend
  • Renewal dates

Even a simple spreadsheet works.

The key is consistency.

Useful Automation Triggers

Flag users when:

No login for 30 days

or:

No activity for 60 days

or:

Employment status changes

These events often indicate reclaim opportunities.

Integrate Offboarding With License Recovery

The most effective fix happens before seat creep appears.

During offboarding:

Step 1

Disable identity provider access.

Step 2

Remove SaaS assignments.

Step 3

Transfer ownership of content.

Step 4

Reclaim licenses.

Step 5

Update inventory.

Many organizations complete Steps 1–3 and forget Step 4.

That's where ghost seats originate.

Renewal Negotiation Leverage

Seat audits improve vendor negotiations.

Imagine discovering:

500 purchased seats
380 active seats

before renewal.

You now have:

120 excess seats

worth of leverage.

Vendors frequently agree to:

  • Reduced seat counts
  • Better pricing tiers
  • Contract restructuring

when presented with actual usage data.

The audit often pays for itself before any licenses are reclaimed.

Common Mistakes During License Audits

Using Login Activity Alone

Logging in isn't the same as using the product.

Combine login data with actual activity metrics.


Auditing Only Once Per Year

Seat creep accumulates continuously.

Quarterly reviews are more effective.


Ignoring Department Owners

Managers provide context that raw reports cannot.


Treating Every Dormant User as Waste

Some users require periodic access.

Review before removing.


Focusing Only on Expensive Tools

Small subscriptions accumulate too.

Ten overlooked tools at $500/month each become meaningful quickly.

A Simple Quarterly Audit Checklist

Every quarter:

✓ Export vendor billing data

✓ Export user activity reports

✓ Compare with identity provider records

✓ Identify dormant and ghost users

✓ Review with department managers

✓ Reclaim unnecessary licenses

✓ Update inventory

✓ Review upcoming renewals

✓ Negotiate reductions where possible

This process typically uncovers savings within the first audit cycle.

What Good Looks Like

Mature organizations maintain:

  • Centralized SaaS inventory
  • Assigned application owners
  • Automated offboarding
  • Quarterly license reviews
  • Renewal tracking
  • Usage reporting

They don't eliminate seat creep completely.

They catch it before it becomes expensive.

Final Thoughts

SaaS seat creep rarely arrives as a major event. It grows gradually through onboarding shortcuts, role changes, incomplete offboarding, and well-intentioned provisioning decisions that nobody revisits. The result is a growing pile of licenses assigned to users who no longer need them—or aren't even with the company anymore.

The solution isn't aggressive cost-cutting. It's visibility. Build a complete inventory, collect meaningful usage data, classify seats by activity level, and reclaim access through a structured process that respects legitimate users. Once you've completed one audit cycle, automate the reporting and tie license recovery directly into onboarding and offboarding workflows.

Most organizations discover enough wasted spend in their first audit to justify the effort immediately. More importantly, they create a repeatable process that prevents the same waste from quietly returning six months later.

Frequently Asked Questions

How do I find out which SaaS seats in my company are going unused?

Start by pulling a user activity report from each tool's admin dashboard, looking for accounts with no logins in the past 30–90 days. Cross-reference that list with your HR system to catch seats belonging to former employees, then flag any remaining accounts with consistently zero activity as candidates for removal.

How much money does seat creep typically waste in a mid-sized company?

The exact amount varies widely by stack and headcount, but audits at companies with 100–500 employees commonly surface 15–30% of paid seats as unused or dormant. Across a stack of ten or more tools, that often adds up to tens of thousands of dollars per year in recoverable spend.

Will removing unused SaaS licenses break anything for active users?

Removing a license only affects the specific user account being deprovisioned, not other users on the same tool. The safe approach is to send a heads-up email giving users 5–7 business days to confirm they need access before you remove the seat.

How often should I run a SaaS license audit?

A full audit once per quarter is a reasonable cadence for most teams, with a lighter monthly check on your highest-cost tools. Tying a focused audit to each vendor's renewal window — ideally 60 days before renewal — gives you time to negotiate a lower seat count before committing to another term.

Can my identity provider help automate SaaS seat audits?

Yes. Identity providers like Okta and Azure AD track the last login date per application per user, making them one of the most reliable sources of usage data across your entire stack. You can export this data or query it via API to build automated dormancy reports without logging into each tool individually.

📤 Share this article

Sign in to save

Comments (0)

No comments yet. Be the first!

Leave a Comment

Sign in to comment with your profile.

📬 Weekly Newsletter

Stay ahead of the curve

Get the best programming tutorials, data analytics tips, and tool reviews delivered to your inbox every week.

No spam. Unsubscribe anytime.