The Microsoft 365 License Audit Checklist: 10 Checks Before Your Renewal
Your Microsoft renewal is the one day a year the meter resets. Under NCE annual terms you can add licenses any time, but you can only reduce at renewal (or within a short window after). Miss it, and this year's waste is locked in for another twelve months. Run this audit 60–90 days before renewal so the findings inform the count you commit to.
The checklist
1. Unassigned licenses
Billing → Licenses. Purchased minus assigned = seats you're paying for that nobody holds. The easiest line item to cut at renewal. Typical finding: 2–5% of seats.
2. Disabled accounts holding licenses
Every accountEnabled = false user with an assigned SKU. Covered in depth here. Typical: 5–25 accounts.
3. Inactive licensed users
Licensed users with no sign-in in 90+ days who are still enabled — contractors who rolled off, seasonal staff, forgotten service accounts. Needs sign-in activity data (Entra ID P1 or a tool). Typical: 3–10% of users.
4. Licensed shared mailboxes
Shared mailboxes under 50 GB with no hold don't need a license at all. Full guide. Typical: 5–15 mailboxes.
5. Duplicate and overlapping licenses
Users holding two SKUs where one contains the other — E3 + a standalone Exchange Online plan, Business Premium + Entra ID P1, E5 + Power BI Pro. The standalone is pure duplication. Typical: a handful, but each is 100% waste.
6. Over-provisioned tiers
E5 users with no Power BI / Teams Phone / PIM / eDiscovery activity in 90 days; Business Premium users using only email. Downgrade candidates. See E5 vs E3: is it worth it?. Typically the largest dollar finding.
7. Unused add-ons
Teams Phone plans with no number assigned, Copilot seats with no Copilot activity, Visio/Project licenses for users who haven't opened either in a quarter. Add-ons are small individually and shocking in aggregate.
8. Web/mobile-only users
Users who only ever touch Outlook Web and Teams mobile may not need desktop Office at all — Business Basic ($6) or F3 instead of Standard/E3. Frontline-heavy orgs: this one check can halve the bill.
9. License-to-role sanity check
Sample 20 users across departments: does the license match the job? This catches template drift — like every new hire getting E5 because the template was cloned from an executive. See license drift.
10. The renewal math
Total everything above, subtract from your current committed count, and take that number into the renewal. Don't renew the status quo and plan to "tidy up later" — later has no reduction window.
Running it
Manually, this audit is a day or two of PowerShell and CSV joins — worth it once. The problem is it decays: waste re-accumulates at roughly the rate people join, leave, and change roles.
SeatPrune runs checks 1–8 continuously and prices each finding in $/month, so the renewal prep becomes reading a report instead of building one. The free tier covers tenants up to 200 users — enough to run this entire checklist on a small org for $0.
The audit isn't the hard part. Doing it before the renewal window closes is. Put the 90-day-out date in your calendar now.
Find out what your tenant is wasting
SeatPrune audits your Microsoft 365 licenses and prices every finding in $/month. Free up to 200 users.
Start Free