Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. How Does an MSP Reconcile Microsoft 365 Licences Bought Against Licences Billed to Each Client?
Problems We Solve

How Does an MSP Reconcile Microsoft 365 Licences Bought Against Licences Billed to Each Client?

MSPs buy Microsoft 365 licences from a distributor and bill clients from the PSA, and the numbers drift. We build a monthly licence check per client tenant.

Updated 3 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Microsoft 365 licences are bought through a distributor or Partner Center, assigned in each client's tenant, and billed from the PSA, and each of those three numbers changes on its own. We build a monthly reconciliation that compares purchased, assigned and billed licences per client and per SKU, shows unassigned licences and licences on departed users, and gives finance a list of corrections before the invoice run.

Month end, three numbers per client

The distributor's invoice arrives: many line items, one per client tenant and licence type, some with mid-month changes. The PSA has recurring billing lines per client for Business Standard, Business Premium, Exchange Online and the rest. Each client's tenant has its own count of assigned licences.

Someone in finance tries to reconcile them, with a spreadsheet and the distributor's portal open side by side. A client added five users mid-month, which reached the distributor but not the PSA. Another had three licences freed up when staff left, still being bought but no longer assigned. A third moved everyone to a different plan, and the PSA still bills the old one.

Why the numbers keep drifting

Licence changes happen in three places, driven by three different people: engineers assign in the tenant, someone orders on the distributor portal, and finance edits the PSA recurring line. Nothing ties them together.

  • Engineers buy licences for a new starter on the portal and forget the PSA.
  • Leavers' licences are removed from the user but not reduced on the subscription.
  • Plan changes create a new subscription and leave the old one running.
  • Annual commitment terms limit when licences can be reduced, which people forget.
  • Distributor names for client tenants do not match PSA company names.

Newer subscription terms made it harder. Monthly and annual terms can sit side by side for the same licence, each with its own renewal date, and a client can hold both. Reducing licences is only possible at the right point in each term, which a spreadsheet does not track.

What licence drift costs

MismatchEffect
Bought but not billedYou pay for licences the client never pays you for
Bought but not assignedWaste on both sides, and a client who notices eventually
Billed but not boughtThe client pays for something they do not have
Commitment dates missedLicences stuck for another term that could have been cut
Hours of manual checkingFinance time spent every month on the same task

Microsoft's licensing terms and commitment rules are set by Microsoft and your distributor agreement. We read the data, we do not interpret the terms for you.

The monthly licence reconciliation

  1. Pull of subscriptions per client from your distributor's API or Partner Center, with SKU, quantity, term and renewal date.
  2. Pull of assigned licences per tenant from Microsoft Graph, using the delegated access you already hold.
  3. Pull of recurring billing lines per client from your PSA (ConnectWise PSA, Autotask, HaloPSA or others).
  4. A mapping table of distributor customers, tenants and PSA companies, set up once and maintained as clients join.
  5. A report per client and SKU of purchased, assigned and billed quantities, with each mismatch explained in plain terms.
  6. Suggested actions (update PSA line, reduce at renewal, assign to new user) and a list of upcoming commitment dates where reductions are possible.

If you use a billing reconciliation tool already, we check whether it covers this before suggesting a build. Many distributors now offer partial versions, and we will tell you if yours is enough.

Finance, a few days before the invoice run

The reconciliation runs automatically. Finance opens a list of mismatches, short enough to work through before lunch: two clients to add licences to their PSA billing, one tenant with three unassigned licences where the renewal date is next month, and one plan change still leaving the old subscription running. The account manager checks with the client where needed, and the invoice run goes out right.

Over time the list gets shorter, because engineers see the result of forgetting the PSA step. Some MSPs go further and have the reconciliation update the PSA automatically for simple cases, with a person approving.

Does your licence billing look like this?

  • Month-end licence checking is a spreadsheet exercise.
  • You have discovered clients billed for fewer licences than you buy.
  • Leavers' licences keep running on subscriptions.
  • Commitment end dates pass without a review.
  • Distributor, tenant and PSA names do not line up.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

Does this work with our distributor?

If they offer an API or scheduled export, yes. Most larger distributors, such as Pax8, provide one. We confirm during scoping.

Does it make changes in client tenants?

No. It reads licence assignments. Any change is made by an engineer.

Can it update PSA billing automatically?

It can prepare the changes, and a person approves them. Fully automatic updates are possible for simple cases if you want them.

What about other vendors' licences?

The same approach works for any vendor with usable data, such as security or backup tools billed per seat.

What affects the cost?

The number of distributors and PSAs involved, and how messy the current customer mappings are.

Keep reading

More on Problems We Solve

Start here

Tell us where your MSP loses time between the PSA and the invoice

Describe the tools you run (PSA, RMM, documentation, distributor portals) and the step that is still done by hand. We will tell you what we would build on top of them, and if a setting or integration you already pay for would do the job, we will say so.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →