Microsoft 365 inactive user cleanup is the process of finding accounts that are licensed but not used, then reclaiming or removing those licenses. Every estate carries them: seats assigned to people who have left, moved roles, or simply never sign in. Each one is a full price license producing nothing. Because reclaiming a dormant seat requires no vendor conversation and no negotiation, it is almost always the quickest win in a Microsoft 365 cost review and the first place we look.
As an independent, buyer side advisor with no vendor relationship and no commission, our interest is only in finding the waste and helping you keep it out. Inactive seat cleanup is a cornerstone of Microsoft 365 cost optimization and one of the clearest examples of the wider digital workplace cost optimization principle that you should pay only for what is actually used.
Why inactive seats accumulate
The reason dormant seats build up is simple. People join, move, and leave continuously, but license assignment is rarely tied tightly to that flow. When someone leaves, their account may be disabled but the license stays attached. When someone changes role, they may keep a seat they no longer need. New tools and pilots leave behind accounts nobody remembers to clean up. None of these is deliberate. They are the natural drift of any organisation that is not actively governing its seats.
The drift is invisible because nobody owns the total picture. This connects directly to the question of who owns SaaS spend in the enterprise. Without a named owner watching the seat count against active headcount, inactive licenses simply accumulate until someone runs a deliberate cleanup.
How to find inactive Microsoft 365 users
Microsoft 365 makes the data available. The admin centre and the reporting tools provide sign in activity and inactive user reports that show, per user, the last activity date across the main services such as mail, the desktop apps, and collaboration tools (source: Microsoft 365 admin and reporting centre documentation, microsoft.com, as of June 2026). The cleanup process runs in a few clear steps.
| Step | What you do |
|---|---|
| 1. Pull the report | Export sign in and last activity data for every licensed user |
| 2. Set the threshold | Flag accounts with no activity past your chosen window |
| 3. Categorise | Separate leavers, role changers, and genuinely dormant accounts |
| 4. Confirm | Check each flagged account with the relevant manager or HR |
| 5. Reclaim | Follow offboarding and retention steps, then remove the license |
Choosing the inactivity threshold
A common starting point is 30 to 90 days with no sign in, but the right threshold depends on how your people work. Roles with seasonal or intermittent activity need a longer window so you do not flag someone who is simply between busy periods. The important thing is to set a clear, consistent threshold and review everything past it, rather than judging each account on instinct.
Reclaiming seats safely
Removing a license is fast, but it should follow a defined procedure rather than a snap decision. Before you reclaim a seat, confirm the user has genuinely left or no longer needs it, follow your data retention process for their mailbox and files, and keep a record of the change. These steps protect data and avoid disrupting someone who turns out to still need access. The saving is immediate once the license is removed, but the offboarding discipline is what makes the removal safe.
Reclaimed seats can either be cancelled to reduce your committed count at renewal or held in a pool to cover new joiners without buying additional licenses. Which approach fits depends on your agreement and your growth pattern, and it ties into how you manage true up on the Enterprise Agreement.
Why cleanup has to be continuous
The mistake most firms make is treating cleanup as a one time project. They run it once, reclaim a batch of seats, and move on. Within months the inactive count rebuilds, because the underlying flow of joiners and leavers never stopped. A single cleanup recovers the backlog. Only a routine keeps the saving.
The fix is a monthly inactive user review tied to your joiner and leaver process, owned by the same person who maintains your renewal calendar. This is the governance step in the right size, negotiate, govern sequence. It is also why inactive cleanup pairs naturally with mixing Microsoft 365 plans to save money, since both run from the same usage data and both belong in the same monthly cadence.
Where it sits in the savings sequence
Inactive user cleanup is part of the right sizing step, alongside tier optimization and add on overlap removal. Together these reduce your demand to its real level before you negotiate the Enterprise Agreement. Reclaiming dormant seats first means you are not negotiating a price on licenses you were never going to use. It is the simplest move with the fastest payback, which is why it is almost always where we begin.
Our Microsoft 365 optimization service builds the inactive user report, runs the first cleanup, and sets up the monthly review so the seats stay reclaimed. The aim is not a single cull. It is an estate that no longer accumulates dead weight.