Offboarding a user does not stop the bill
You removed the licence from the leaver. The tenant looks right. Next month the invoice is identical, because a licence and a seat you pay for are two different things.
Drop in the Partner Center reconciliation CSV and an invoice export. Nothing uploads, there is no account, and the answer is either zero or it is money you have been paying every month.
Run the free check or try it on sample dataThe two numbers people mix up
| Assigned licences | Purchased seats | |
|---|---|---|
| What it is | People currently holding it | The quantity on the subscription |
| Where you see it | The tenant, Entra, your M365 tooling | Partner Center or your distributor |
| Offboarding changes it | Yes | No |
| You are billed on it | No | Yes |
A tenant can show 14 assigned licences against a subscription of 30 indefinitely, with nothing anywhere flagging it. Nothing is broken and nobody made a mistake. The invoice is correct, and it is also wrong by sixteen seats a month.
Three places the money goes
- The leaver nobody reduced. The common one, and invisible from the tenant, because the tenant now looks tidy.
- The client who left entirely. No user to trip an alert and no invoice line to query, because you are the one paying.
- Seasonal and contractor seats. Bought for a quarter, never taken back down. Found years later, if at all.
The window that decides whether you can stop it
Under New Commerce, a term is a commitment. Increases any time. Decreases and cancellations only in a short window right after a purchase or renewal. Outside it you pay until the term ends whether anyone uses the seat or not.
So finding an unused seat in week one is a refund, and finding the same seat in month seven is information you can act on at renewal. The deadline is short and the check is manual, which is exactly why the check is the thing that gets skipped.
How long is the window exactly? Nobody agrees
How to find them by hand, step by step
- Purchased quantity, per client and SKU. From the reconciliation file. Collapse the charge-type rows first: one subscription throws several rows a month, removals arrive negative, and a credit is money rather than a seat, so summing the Quantity column is quietly wrong.
- Assigned count, per client and SKU. From the tenant, with any tooling that reports it.
- Subtract, per SKU. Not per client. A client can be short on one product and over on another in the same month, and the totals cancel out and hide both.
- Then do the other comparison, which is a different problem. Purchased against what you invoiced. That gap is money you are owed rather than money you are wasting.
Three comparisons, three different problems
| Comparison | A gap means | Who loses |
|---|---|---|
| Purchased vs assigned | You buy seats nobody uses | You, or the client |
| Purchased vs invoiced | You pay for seats you never charged for | You |
| Assigned vs invoiced | The client uses more than they are billed for | You |
A tool that does one of these does not do the others. The free check on this site does the middle one, purchased against invoiced, which is the one that costs you money directly. Worth knowing which you have actually checked before deciding you have checked.
Common questions
Does offboarding a user reduce the Microsoft 365 bill?
No. Offboarding unassigns the licence, which frees the seat for reuse. CSP invoices are calculated from the subscription quantity you purchased, so the bill does not change until the seat count on the subscription is reduced.
Why does my tenant show fewer licences than my Microsoft invoice?
Because they measure different things. The tenant shows assigned licences and the invoice follows purchased quantity. A tenant can show 14 assigned against a subscription of 30 indefinitely, with nothing flagging it.
Can I reduce Microsoft 365 seats mid-term?
Under New Commerce, increases are allowed any time, while decreases and cancellations are only permitted in a short window right after a purchase or renewal. Outside it the seat is paid for until the term ends. Microsoft material has described that window as both 72 hours and seven calendar days, so confirm the current figure in Partner Center rather than quoting one.
Is purchased versus assigned the same check as billing reconciliation?
No. Purchased versus assigned finds seats nobody uses. Purchased versus invoiced finds seats you pay for and never charged for. Assigned versus invoiced finds clients using more than they are billed for. Three separate comparisons, and a tool that does one does not do the others.
Last updated 12 August 2026. The mechanic is stable. The length of the NCE cancellation window is not, and is worth confirming on the day. SeatGap is our own tool, which is why this page says which of the three comparisons it does and which two it does not.
Two files, two minutes, no account, nothing uploaded. If the number comes back zero you have lost two minutes. If it does not, it has been costing you that every month.
Run the free check Want it to happen every month without you? That is €39 a month, and it is the only thing on this site you ever pay for.