Microsoft 365 licence audit for MSP clients: finding waste and turning it into a QBR win
A Microsoft 365 licence audit for an MSP client comes down to three checks: seats paid for but not assigned, seats assigned to people who no longer sign in, and expensive add-ons sitting on users who do not use them. Price each finding at the current per-seat rate, put the total on one slide, and you have a QBR item the client remembers. Here is how to run it this week, step by step.
Why licence waste is the easiest QBR win you are not taking
Licence waste is invisible to the client because the bill arrives as one line. Nobody at a 40-person firm checks whether 40 seats still means 40 people. Seats get bought for a new starter who never arrives, leavers keep their mailbox "just in case", and a pilot of an add-on quietly becomes permanent.
Finding that money is rare in IT: a recommendation that pays for itself on the next invoice. It also changes the tone of a review meeting, because you arrive with a saving rather than a request for budget. It is the same discipline whether the tenant belongs to a client or to your own company.
The three kinds of Microsoft 365 licence waste
Sort every finding into one of three buckets. Each has a different cause and a different fix.
- Unassigned seats. Licences purchased but not given to anyone. Pure overspend, and the quickest to remove, subject to the subscription's commitment terms.
- Inactive seats. Licences assigned to accounts nobody uses: leavers, shared mailboxes that were licensed by mistake, test accounts. These need a decision, not just a click.
- Underused add-ons and oversized plans. A user on a higher tier than their work needs, or carrying an add-on they have barely opened. This is where the larger sums usually hide.
Step one: find unassigned licences in the Admin Center
Open the Microsoft 365 Admin Center and go to Billing, then Licenses. As Peregrine Sight sets out, unassigned licences show up as the gap between the Total and Assigned seat counts for each subscription.
Write down each subscription, its total, its assigned count and the difference. Note the renewal date and whether it is on a monthly or annual commitment, because that decides when you can actually reduce the count. Skip this and you will promise a saving the client cannot collect until next year.
Step two: find inactive, assigned licences
Assigned does not mean used. Pull the usage reports from Reports, then Usage, in the Admin Center, or check last sign-in dates in the Entra ID sign-in logs. Export both to a spreadsheet and join them on the user principal name.
Then pick a threshold. Chronom describes 90 days of inactivity as Microsoft's official standard threshold for flagging a licence as unused, with tiered variations recommended for high-cost SKUs. A sensible approach is 90 days for standard seats and a shorter window for expensive add-ons.
The 90-day test: if an account has not signed in for 90 days and nobody can name the person who needs it next month, it is a leaver licence, whatever the HR system says.
Expect a few false positives. Service accounts, a director on long leave and a mailbox used only through delegation can all look dead. Flag them, do not remove them, and let the client confirm.
Handling leaver accounts properly
Leavers are the biggest source of inactive seats, usually because nobody wants to lose the mailbox. The fix is to convert the mailbox to a shared mailbox where that suits the client's data needs and retention policy, transfer OneDrive content to a manager, then remove the licence. Check the client's retention obligations before deleting anything. Removing a licence is reversible; deleting data often is not.
Step three: check plan tiers and add-ons
Look at who holds which plan and ask whether their work needs it. A receptionist who uses Outlook in a browser and Teams may not need a desktop Office tier. Equally, do not downgrade someone off Business Premium without checking what security controls they would lose, a point worth reading alongside our guide to the Microsoft 365 security audit at client onboarding.
Add-ons deserve the closest look. Peregrine Sight notes that Microsoft 365 Copilot is sold as a $30 per user per month add-on, making it the most expensive per-user licence to leave assigned to a low-adoption user. Check Copilot usage specifically, and set a tighter inactivity window for it than for base seats.
Putting a number on it with current prices
A saving without a figure is an opinion. Use list prices so the client can check your arithmetic. According to LazyAdmin, after the 1 July 2026 price update Business Premium remains at $22.00 per user per month on annual commitment, Business Basic rose from $6.00 to $7.00, and Business Standard rose from $12.50 to $14.00. For larger clients, NetSys Group reports the E3 list price rose to $39 per user per month.
If the client buys through you or a distributor in pounds, use their actual invoice rate instead. The method is identical.
Worked example: a client has 3 unassigned Business Standard seats, 4 leavers still on Business Premium and 5 low-use Copilot add-ons. Monthly waste: (3 × $14) + (4 × $22) + (5 × $30) = $42 + $88 + $150 = $280. Over twelve months that is $3,360, at list price, before any tax.
Turning the audit into a one-page QBR slide
Keep it to a single table the client can read in thirty seconds.
| Category | Seats | Plan | Monthly cost | Action | Earliest saving |
|---|---|---|---|---|---|
| Unassigned | 3 | Business Standard | $42 | Reduce seat count | Next renewal |
| Leavers | 4 | Business Premium | $88 | Convert mailbox, remove licence | After approval |
| Low-use add-on | 5 | Copilot | $150 | Review with users, then remove | Next renewal |
Under the table, add two sentences: the annual figure, and what you need from the client (named approval for each leaver). Avoid the temptation to pad the slide with charts. A guess wearing a dashboard's clothes is less persuasive than three rows of plain arithmetic.
Stopping the waste from coming back
An audit that is not followed by a process just produces the same finding next quarter. The structural fix is group-based licensing in Entra ID. As Microsoft Learn explains, adding or removing a user from the assigned security group automatically assigns or unassigns the group's licence, which is how leaver licences get reclaimed without manual steps.
There is a prerequisite. AdminDroid points out that every user who benefits from group-based licensing needs Entra ID P1 or higher, or a bundle that includes it such as Business Premium or Office 365 E3. Clients on Basic or Standard alone will need a different approach, usually a tighter offboarding checklist.
Then put the audit on the calendar: quarterly, timed a few weeks before each renewal date, so every finding can actually be acted on.
Where this fits with Helios
Most of this audit is discipline, not tooling: the Admin Center and Entra ID give you everything needed to find the waste. Helios monitors Microsoft 365 alongside the rest of the estate, drafts QBRs with AI, and runs a helpdesk where leaver requests can be tracked through to licence removal, which helps the findings turn into a repeatable process rather than a one-off spreadsheet. It will not make the commercial decision for the client, and nor should it. If you want to see how it fits your clients, the pricing page sets out the plans.
Common questions about Microsoft 365 licence audits
How often should an MSP run a Microsoft 365 licence audit?
A quarterly Microsoft 365 licence audit suits most MSP clients, timed a few weeks before each subscription renewal so findings can be acted on. Clients with high staff turnover or expensive add-ons such as Copilot benefit from a monthly check of sign-in activity, even if the full review with pricing and a QBR slide only happens each quarter.
Can you reduce Microsoft 365 licences mid-term?
Whether Microsoft 365 licences can be reduced mid-term depends on the subscription's commitment. Annual commitments generally only allow seat reductions at renewal, while monthly subscriptions are more flexible but usually cost more per seat. Check the commitment type and renewal date in the Admin Center before promising a client a saving, so the figure on the QBR slide is one they can actually collect.
What happens to a leaver's data when you remove the licence?
Removing a Microsoft 365 licence from a leaver starts a grace period after which mailbox and OneDrive data can be lost. Before removing it, convert the mailbox to a shared mailbox where appropriate, move OneDrive files to a manager, and confirm the client's retention policy. Treat licence removal as the last step of offboarding, never the first.
Related: CIPP vs Lighthouse: which Microsoft 365 multi-tenant tool an MSP actually needs
Read next
Why MSPs choose Helios
One platform that does the work, at a price that stays put
Helio fixes, not just flags
When an alert fires, Helio, the AI technician built into Helios, investigates it, writes the fix and runs it once you approve. It keeps what works, so the next one is quicker.
Everything in one product
RMM, a service desk with SLAs, patching including third-party apps, remote access, Microsoft 365 and Defender checks, backup monitoring, a client portal and billing into Xero or QuickBooks.
Priced by fleet, not by people
£4 a device on Launch up to 25 devices, from £20 a month, then £99, £199 or £399 a month by fleet size, with any number of technicians and every feature on every plan.
A price that stays put
Your price is locked for as long as you stay subscribed, and that is written into our terms. Monthly billing, cancel any time.
Bring your clients across
Import your clients and machines from another RMM's CSV export, then roll the Helios agent out at your own pace, with a count of how many have arrived.
14 days free, no card to start
The full platform from the first minute, on your own machines. No sales call. Remote control asks for one card check, and nothing is charged.
See it on your own fleet
Helios is the AI-native platform for MSPs: monitoring, patching, security, Microsoft 365, backup monitoring, remote access, client billing and an AI service desk in one product, at one flat price per MSP. Contracts and logged time become invoices in Xero or QuickBooks without leaving the platform. Every feature is on every plan. 14-day free trial, card-free, set up in minutes, cancel any time.
Start freeResearched and written with Helio SEO, our AI writer for business blogs.