Start live monitoring for free.Start free trial →

Resources

Prorated Microsoft 365 Billing, Explained

How prorated Microsoft 365 billing works, why it causes under-billing, and how to bill mid-term seat changes correctly.

Microsoft 365 CSP billing doesn't work on clean monthly totals. Every seat change mid-cycle generates a prorated charge for the partial period, and if your client billing doesn't reflect that, you're quietly under-recovering every month it happens.

How proration works

When a seat is added partway through a billing cycle, Microsoft charges for the remaining days in that cycle rather than a full month. The same applies in reverse when a seat is removed, the charge stops from that point rather than continuing to the end of the cycle. Over a month with several changes for the same client, you can end up with multiple partial-period charges instead of one clean total.

A worked example

Say a client has 7 licensed seats at the start of the month. On the 12th, they add one seat, bringing the total to 8. On the 20th, they remove one, back to 7. Microsoft's invoice for that client will show three separate charge periods: a full-cycle charge for the base 7 seats, a partial charge for the extra seat from the 12th to the 20th, and the 7-seat rate continuing after. None of that maps cleanly onto "charge the client for 7 seats this month," and if that's what your invoice says, you've under-billed for the eight days of the extra seat.

Why this gets missed

  • Most PSAs bill a flat monthly rate per contracted seat, not a prorated one
  • Mid-cycle changes are often made directly by end users or admins, without notifying billing
  • Distributor invoices list dozens of prorated lines per client, easy to skim past
  • The amounts per change are usually small, a few pounds, easy to dismiss individually

Individually small, but multiplied across every client with any seat churn during the month, this becomes one of the most consistent sources of MSP revenue leakage.

Two ways to handle it

Bill exactly what was prorated

Pass the exact prorated amount through to the client. This is the most accurate approach and protects margin fully, but it means invoices vary slightly month to month, which some clients find harder to reconcile against their own budgets.

Bill a flat rate with a reconciliation step

Keep client invoices predictable at a flat per-seat rate, but track the prorated variance separately and true it up periodically, or accept a small planned margin buffer to absorb it. This requires knowing exactly how much variance you're carrying, which means tracking it, not guessing at it.

Catching it automatically

Either approach depends on actually knowing what Microsoft charged for each prorated change, which means reading the CSP billing data directly rather than relying on a rounded PSA contract figure. The Microsoft 365 integration in MSPBilling.cloud reads this data automatically and flags any prorated charge that hasn't been reflected in client billing, as part of full billing reconciliation.

See your billing gaps in minutes

Connect your systems and run your first reconciliation today.

Book a demo