Microsoft 365 license management: manual vs automated
Microsoft 365 licenses grow quietly until you don't remember which ones you're paying for. How to automate the full lifecycle and what it saves.
Microsoft 365 licenses are one of those line items that creep up quietly. Someone left 18 months ago, their license is still open. Multiply across 200 employees and you can be structurally overpaying thousands per year. This post shows how to find that waste and build a process around removing it.
TL;DR
- Manual license management leaves many organizations overlicensed; industry surveys put unused SaaS licenses somewhere between a third and a half of seats.
- The core leak is the gap between an assigned license and a used one.
- ServiceChanger reads the real sign-in activity from Entra ID and reports which seats go unused. The actual SKU assignment and revocation stays in Microsoft.
- Sign-in activity covers all M365 SKUs, plus add-ons like Power BI, Power Automate, and Intune.
- The business case is usually strong, because every reclaimed seat is a direct, recurring saving.
The problem
A typical scenario at 200 to 1000-employee companies:
- 12 people left in the last six months. Licenses never cancelled.
- 8 people got promoted and received an additional E5 license. Their old E3 is still active.
- 15 people were temporary contractors with E3 licenses. Gone for two years now.
What you can map, and what stays in Microsoft
A clean license model starts by writing down which SKU belongs to which role. For example:
| Role | License SKU | Extras |
|---|---|---|
| Standard employee | M365 Business Standard | - |
| Engineer / Developer | M365 E3 + Power BI Pro | Intune |
| Manager | M365 E5 | Teams Phone |
| Contractor | M365 F3 | - |
Which SKUs this covers
Sign-in activity exists for any licensed account, so the approach covers the common Microsoft licenses:
- M365 Business Basic / Standard / Premium
- M365 Enterprise E1 / E3 / E5
- M365 Frontline F1 / F3
- Power BI Pro and Premium Per User
- Power Automate Per User and Per Flow
- Intune Plan 1 and Plan 2
- Teams Phone (Standard and Premium)
- Defender, Purview, and Entra Suite modules
The numbers
The leaks below are illustrative ranges, not measured ServiceChanger figures. They give a sense of where the money usually sits for a 200 to 500-employee org:
| Leak | Typical scale | Annual cost |
|---|---|---|
| Leaver licenses still open | 5 to 10 percent | €3,000 to €8,000 |
| Duplicate SKUs (E3 + E5) | 2 to 5 percent | €2,000 to €6,000 |
| Contractors not cancelled | 1 to 3 percent | €1,000 to €3,000 |
| Manual admin | 4 hours per week | €8,000 to €12,000 |
| Total | €14,000 to €29,000 |
Pitfalls
- Mind the OneDrive retention window. Microsoft only starts the OneDrive cleanup clock when the account is deleted, not when you remove the license, and the default retention is 30 days (configurable from 30 to 3650 days in the SharePoint admin center). Plan the timing so you do not lose data you still need.
- Watch license pools. A growing team can suddenly hit a SKU shortage. Keep an eye on the pool so you are not caught short.
- Downgrade vs upgrade. Downgrading E5 to E3 can remove features someone genuinely uses. Check usage before you move anyone down.
FAQ
What happens to data when a license is revoked? Removing a license unlinks services from the user, but the cleanup clock for OneDrive only starts when the account itself is deleted. After Microsoft's retention window the data can be permanently removed, so handle the timing deliberately as part of your offboarding process.
Can I set manual exceptions? Yes. Some executives keep E5 for a while after retirement, for instance. Your role-to-SKU model can carry deliberate exceptions, and the actual seat stays whatever you set it to in Microsoft.
What about multi-tenant setups? Each tenant is connected separately. Pushing licenses across tenants is not possible (Microsoft restriction), but you can track usage per tenant.
Want to focus on the unused licenses specifically? Read Reclaim unused Microsoft 365 licenses with Entra sign-in activity for a 90-day policy, and Find inactive users in Entra for the sign-in activity behind it.
Next step
Want to see how much you're overpaying on M365 licenses? ServiceChanger reads the sign-in activity from Entra ID and shows which seats go unused. Book a demo or read the License Management docs.
You might also like
Entra ID vs Active Directory in 2026
Active Directory still runs in many places while Entra ID is becoming the standard. The state of play in 2026: what to do with your AD, when to move, what to keep hybrid.
Automating Entra ID group membership with attributes
How to let Entra ID group membership follow HR attributes like job title, department, and location automatically. From concept to working dynamic groups.
What is ABAC in Microsoft Entra ID?
ABAC (Attribute-Based Access Control) determines access based on attributes like job title, department, or location. How it works in Entra ID, how it differs from RBAC, and when to use it.