Auditing software seat usage and removing inactive users before annual contract renewals

Companies pay for user licenses assigned to former employees or staff who no longer use the software, leading to wasted budget during automatic annual renewals because nobody checked the active usage lists beforehand.

Before
120 min
After
55 min
Saved
65 min
Step diagram: Auditing software seat usage and removing inactive users before annual contract renewals — 6 steps, 3 handled by AI and 3 by you.

How this used to go

  • Export the current user list and last login date from the admin settings of each software platform.
  • Pull the active employee roster from the HR system or payroll software.
  • Cross-reference the software user list against the active employee roster in a spreadsheet to identify departed staff still holding active licenses.
  • Email department managers to verify whether specific individuals who show zero recent logins still require access.
  • Log into each platform individually to deactivate confirmed inactive accounts and adjust the seat count for the upcoming renewal.
  • Calculate the total cost reduction and send the updated license count to the finance team and software vendor account manager.

Cross-referencing multiple disparate user exports against internal staff rosters and chasing department managers for login verifications by email.

The workflow, step by step

  1. You

    1. Collect the source exports

    Download each platform's current user list and last-login data, then export the active employee roster from HR or payroll. Include the renewal date and current seat price where available.

  2. AI

    2. Build the license audit

    Give the exports to AI with the platform name and column meanings. AI can normalize names and email addresses, match users to the employee roster, flag departed employees and low- or zero-login accounts, and identify records it cannot match reliably.

  3. AI

    3. Prepare exception questions

    AI can group flagged accounts by department and draft concise manager questions showing the user's status, last login, platform, and proposed action. It should not decide whether an account with a business exception can be removed.

  4. You

    4. Decide which access remains

    Send the questions to department managers and make the final decision for every flagged account: retain access, remove access, or investigate further. Record the reason and owner for retained or unresolved accounts because this determines the renewal seat count.

  5. You

    5. Apply approved account changes

    Use each platform's admin settings to deactivate only the accounts approved for removal and confirm that the resulting seat count matches the decision log. Do not remove accounts that remain unresolved or that have an approved business need.

  6. AI

    6. Create the renewal handoff

    Give AI the final decision log, updated seat counts, and current pricing. AI can calculate the estimated cost reduction, summarize unresolved exceptions, and draft the message for finance and the vendor account manager; a human must verify the figures before sending.

What you end up with

A verified license audit and renewal handoff containing matched user records, removal and retention decisions, unresolved exceptions, updated seat counts, estimated cost reduction, and a draft notification for finance and the software vendor account manager.

Where this falls apart

  • Contractor names or external users lack entries in the internal HR roster, causing the AI to incorrectly flag them as departed employees who should have their licenses removed.
  • Email address formats differ significantly between the software admin export and the HR system, causing the AI to fail at matching active staff and incorrectly surfacing them as unassigned accounts.

More for RevOps / Sales Ops