All posts

July 28, 2026 · Marketopia

The Microsoft 365 Licenses Your Clients Pay For and Nobody Uses

There is a number sitting in every Microsoft 365 tenant you manage that almost nobody looks at: the difference between licenses purchased and licenses assigned.

Purchased is what the client is billed for every month. Assigned is how many of those licenses are attached to an actual human being. In a tenant that has been running for three or four years, those two numbers are almost never the same — and the gap only ever moves in one direction.

For a 60-seat client on Business Premium, a gap of nineteen licenses is roughly $4,900 a year the client is paying for nothing. You can find that in about four minutes. What you do next is the interesting part.

Why the Gap Opens

Nobody creates license waste deliberately. It accumulates through completely normal operations.

Offboarding removes the person, not the license. An employee leaves. The account is disabled or converted to a shared mailbox so the manager can access old email. The license stays attached, or gets freed but never removed from the subscription count. Multiply by staff turnover over four years.

Projects buy ahead. A migration or a new office needs 25 seats. Twenty-two people actually arrive. The three spare licenses stay on the bill because nobody owns the job of taking them off.

Seasonal and contract staff. A firm hires twelve temporary people every autumn and lets them go in January. The licenses were bought once and renewed forever.

Upgrades that never downgraded. Everyone got moved to a higher SKU for one feature. Half the users never needed it, but nobody reverses a bulk change.

Nobody owns the number. The client assumes the MSP watches it. The MSP assumes the client's finance team reviews the invoice. The invoice is a single line item that gets approved because it looks the same as last month.

That last one is the real cause. This is not a technical failure. It is an ownership gap, and it is exactly the kind of gap an MSP is supposed to close.

How to Measure It

Microsoft exposes this directly. For each subscribed SKU in a tenant you can read the number of units enabled — what the client is paying for — and the number consumed, meaning assigned to a user.

Do it manually for one client: open the Microsoft 365 admin center, go to Billing, then Licenses. Every SKU shows assigned versus purchased. Write down the difference and multiply by the per-seat price on the client's agreement.

Two things make the manual approach break down at scale. First, it is per-tenant, so forty clients means forty logins. Second, it is a snapshot — the moment you close the tab it starts drifting again. If you have GDAP relationships with your clients, a tool can enumerate the tenants and read those same numbers continuously instead.

Whatever you use, be careful of one thing: an unknown is not a zero. If you cannot read a tenant because a permission was not granted, the honest answer is "we could not see this one," not "this one has no waste." Reports that quietly turn missing data into good news destroy their own credibility the first time a client checks.

What It Is Worth

Use the client's actual per-seat cost, not list price. A rough sense of scale using common Microsoft SKUs:

Gap sizeAt ~$12.50/seat/moAt ~$22/seat/moAt ~$57/seat/mo
5 licenses$750/yr$1,320/yr$3,420/yr
12 licenses$1,800/yr$3,168/yr$8,208/yr
25 licenses$3,750/yr$6,600/yr$17,100/yr

Across a book of forty clients, an average gap of eight licenses each is somewhere in the region of $50,000 a year that your clients are collectively spending on nothing.

The Counterintuitive Part: Give It Away

The instinct is to keep quiet. If the client is on a per-seat managed services agreement, reducing their license count may reduce your invoice too. Telling them costs you money.

Tell them anyway, and tell them first.

An MSP who opens a QBR with "we audited your Microsoft licensing and you are paying for nineteen seats nobody uses — here is how to reclaim about $4,900 a year" has done something no competitor is doing. You have just spent your own margin to save the client money, unprompted, and you can prove it. Every proposal you make for the remaining forty minutes of that meeting is heard differently.

There is a practical reason too: the finding will surface eventually. When it does, the question is whether you found it and told them, or whether their new CFO found it and asked what exactly they are paying you to watch.

The MSPs who run this play consistently report the same pattern — the reclaimed spend gets redirected, not banked. A client who just found $4,900 has an easier time approving $3,600 of endpoint detection, because it is now a reallocation rather than a new cost.

Turning the Audit Into the Next Sale

Sequence matters more than content.

Lead with the savings. Not as a preamble to a pitch — as its own item, closed out, with a number and a plan to reclaim it.

Then show what the same audit found. The license report almost always surfaces neighbors: users without multi-factor authentication, accounts still licensed after the person left, admins without conditional access. These are security findings discovered during a cost audit, which is a much easier way to raise them than a security pitch.

Price the fix from the reclaimed money. "The nineteen licenses are worth $4,900 a year. Enforcing MFA across the tenant and cleaning up the stale accounts is $3,600. You are still ahead $1,300 and you have closed the gap that your cyber insurance renewal is going to ask about."

Put it in the pipeline before you leave. A finding that lives only in meeting notes is a finding you will rediscover next quarter.

Do This Quarterly, Not Once

License drift restarts the day after you fix it. Staff turn over, projects finish, seasonal hires come and go.

The MSPs who get the most out of this treat it as a standing QBR item — one slide, every quarter, showing purchased versus assigned and the trend line. It takes ninety seconds to present and it quietly reinforces the thing you most want the client to believe: that somebody is watching the meter on their behalf.

Frequently Asked Questions

Won't reducing their license count reduce our revenue?

On per-seat agreements, sometimes yes — usually by a small amount relative to what the goodwill is worth. In practice the reclaimed budget rarely leaves the relationship; it gets spent on the security or backup gap you surface in the same meeting. And the alternative is worse: waste you knew about and did not mention is the kind of thing that ends relationships when it comes out.

How do we read this across all our clients without logging into each tenant?

Through the Microsoft Graph API with the appropriate read-only permission, and — if you are a Microsoft partner with GDAP relationships in place — by enumerating your customer tenants automatically rather than one at a time. That is the difference between auditing forty clients once a quarter and auditing them continuously.

What if the client's licensing is bought direct, not through us?

The audit still works and is arguably more valuable, because nobody else is looking at it. You have no billing conflict at all, which makes the conversation purely advisory. It is one of the strongest openings available to an MSP who wants to take over a client's licensing relationship.

Is disabled the same as unlicensed?

No, and conflating them causes embarrassing conversations. A disabled account can still hold a license and still be billed. A shared mailbox under 50 GB generally does not need one. Before presenting a number, confirm you are reporting licenses assigned to accounts rather than accounts that merely exist.


MSProspector is built by Marketopia, the MSP channel's growth partner since 2014. Client Upsell reads your clients' Microsoft 365 tenants read-only, reports purchased versus assigned licenses per SKU, and never reports an unknown as a zero. See how it works.

Walk into your next meeting prepared.

MSProspector generates a 70+ page business + technical baseline on any prospect or client in 15 minutes. First 2 reports free.

Get my first 2 reports free