Most MSP revenue leakage isn’t a pricing problem. It’s the licence added in March that never reached the invoice, and the leaver whose licence you were still paying for in June.
An MSP’s invoice is built from numbers that change every week. Users join and leave, devices are replaced, licences are added in a distributor portal by a technician who is closing a ticket, and a backup seat keeps running long after the laptop it protected was wiped. The agreement in the PSA only stays accurate if someone compares it with reality before each invoice run. This free MSP billing reconciliation checklist gives billing leads, service managers and owners a monthly routine for doing that. It compares billed quantities with RMM agent counts, Microsoft 365 or Google Workspace users and backup and security seats, matches distributor and CSP invoices against PSA additions to find unbilled and orphaned licences, checks time entries, block hours and project work, and routes the variance review for approval before invoices go out. A conditional phase handles clients whose agreement changed this month, and the run closes with a margin review.
The Billing Run Sends the Invoice. Reconciliation Decides What Should Be On It.
Our Monthly Invoicing & Billing Run Checklist covers the finance side of invoicing for any subscription or service business: cut-off, draft review, tax, credit notes, sending and posting to the ledger. An MSP needs that too. The difference is what feeds it. A software company bills from a contract system that customers change through a portal. An MSP bills from agreement quantities that drift away from the truth every time a technician adds a user, enrols a device or buys a licence for a client.
Reconciliation is the step before the billing run where those quantities are checked against the systems that know the real numbers: the RMM, the identity directory, the vendor consoles and the distributor or CSP invoices. Done monthly, each difference is small and easy to explain to the client. Left for a year, the same differences become a back-billing conversation nobody wants, or a write-off. The Monthly Managed Services Report Checklist flags count differences to the account manager. This is where they are resolved and turned into invoice lines.
Billing run
Finance, any service business
Question: are the invoices correct, taxed and sent?
Sources: contracts, usage data and the billing system.
Owner: billing or finance team.
Output: invoices sent and posted to the ledger.
MSP billing reconciliation
Operations and finance together
Question: do the agreements match what we actually manage and buy?
Sources: RMM, directory, vendor consoles, distributor and CSP invoices, time entries.
Owner: billing lead, with the service manager.
Output: corrected agreements and an approved invoice batch.
What the MSP Billing Reconciliation Checklist Covers
Six phases run every month, from vendor invoices to margin review. Phase 2 appears only when a client agreement changed during the month.
Phase 1
Phase 1: Open the Billing Period
Start three to five working days before the invoice date, once the main distributor and CSP invoices for the month are available.
Open the reconciliation for the month — confirm the invoice date, the clients in this run and who prepares and approves it
Export billed quantities from the PSA — every agreement with its billed users, devices, licences and services, and the unit price of each
Collect this month’s vendor invoices — distributor, CSP and Partner Center reconciliation files, backup, security and any other per-seat supplier
Confirm agreement changes this month — new clients, renewals, price changes, added or cancelled services and agreements ending
Phase 2 — If Agreements Changed
Phase 2: Agreement Changes
Shown only when a client agreement was signed, amended, renewed or ended this month.
Update changed agreements in the PSA — services, quantities, unit prices, start and end dates, matching the signed document
Apply proration for mid-month changes — using the method the agreement specifies, not the PSA default
Check any price increase is allowed — the uplift clause and notice period in the agreement, and the date the notice was sent
Stop billing for ended services — and schedule the matching vendor cancellations, so your costs stop when the revenue does
Phase 3
Phase 3: Reconcile Users, Devices & Seats
Compare billed devices with RMM agents — per client, treating devices offline beyond your threshold as a question rather than a deduction
Compare billed users with the directory — active, licensed users in Microsoft 365 or Google Workspace against the per-user count, with leavers removed
Reconcile backup seats — protected servers, endpoints and SaaS accounts against what you bill and what the vendor charges you
Reconcile security seats — EDR, email security and awareness training against billed quantities and vendor invoices
Decide each difference — bill the increase, reduce the count, or ask the client to confirm, and record the decision
Phase 4
Phase 4: Reconcile Vendor & Licence Costs
Every licence you pay for should appear on a client invoice, and every licence on a client invoice should be one you pay for.
Match CSP charges to PSA additions — each Microsoft subscription line in the reconciliation file against a billed addition on the right client
Find unbilled licences — subscriptions or seats you are paying for that no client is being invoiced for
Find orphaned licences — paid licences assigned to no one, or to a client who has left, and decide whether to reassign or reduce them
Check this month’s renewals — subscriptions that renewed at a new price, term or billing plan, and whether the client price still covers the cost
Act inside the cancellation window — make any seat reduction on a new or renewed subscription within the vendor’s window, and record the date
Phase 5
Phase 5: Labour, Projects & Approval
Review billable time entries — work outside the agreement that is not yet invoiced, with notes good enough for the client to recognise
Update block-hour balances — hours used, hours expiring and clients who need a top-up quote
Bill project milestones — milestones reached and approved change orders, against the project budget
Apply approved service credits — from this month’s SLA review, on the invoice the review named
Review the variance against last month — each client’s total, with any change above your threshold explained in the variance log
Approve the invoice batch — the approver answers Approved or Not approved before any invoice is generated
Phase 6
Phase 6: Invoice & Margin Review
Generate and send invoices — from the PSA or accounting system, after approval, using your normal billing run
Sync invoices to accounting — and check the totals agree with the approved batch
Review margin by client — invoiced revenue against vendor cost and labour, flagging clients below your target margin
Record the leakage recovered — under-billing found and fixed, so you can see whether the process is paying for itself
Fix the cause of each repeat difference — a missing step in the new-user process, a technician buying licences outside the PSA, or an agreement never updated
Every recurring line on an MSP invoice has a system that knows the real number. The reconciliation is simply the habit of asking it each month. The table shows the usual pairing and the gap that most often appears. Adjust it to your stack and your agreement types.
Billed line
Check against
Gap that most often appears
Per-user managed service
Active users in Microsoft 365, Entra ID or Google Workspace
Leavers disabled but still counted, or shared mailboxes counted as users
Per-device managed service
RMM agent list, with last check-in date
New devices onboarded mid-month and never added to the agreement
Microsoft licences
CSP invoice and Partner Center reconciliation file
Licences added in Partner Center or a distributor portal but not in the PSA
Backup
Backup console protected-item list and vendor invoice
Retired machines still protected, and still costing you
EDR and email security
Security console seat count and vendor invoice
Agents on devices the client no longer pays to manage
Block hours
Time entries against the block
Time logged to the wrong agreement, so the block never seems to run down
Projects
Milestones and approved change orders
Change requests delivered but never priced
Microsoft licensing rules that affect the reconciliation
For MSPs reselling Microsoft 365 through CSP, a few new commerce rules decide how quickly a difference can be fixed. These were current when we checked Microsoft’s Partner Center documentation in October 2026. Check them again before relying on them, because Microsoft changes them.
Seven days to reduce. License-based subscriptions can be cancelled or reduced for a prorated refund only within seven calendar days of purchase or renewal. After that, the seats are committed until the term renews. Find over-buying in the week it happens, not at month end.
The partner owes Microsoft regardless. Microsoft holds the reselling partner responsible for the subscription even if the client doesn’t pay. For clients you consider a payment risk, Microsoft suggests monthly-term subscriptions, which can be cancelled at the end of any month.
Billing plan affects price. Since 1 April 2025, annual-term subscriptions billed monthly cost 5% more than the same subscription paid upfront, applied at the next new purchase or renewal.
Price changes arrive at renewal. Microsoft’s Microsoft 365 price changes took effect on 1 July 2026, and existing subscriptions move to the new price at their next renewal. A renewal this month can raise your cost for a licence you sell at a fixed price.
Why Run Billing Reconciliation in CheckFlow?
1
Starts before the invoice date
A monthly schedule creates the reconciliation a few working days before billing, with the seat checks assigned to the service team and the vendor matching assigned to the billing lead. A step that has not been done shows as overdue before an invoice goes out wrong.
2
Nothing is invoiced without approval
The invoice batch is generated only after the approver answers Approved. The variance log, reconciliation exports and the approval sit together against the month, ready for the next margin review or a client query.
3
Agreement changes only when they happen
Conditional logic adds the agreement-change phase in months when a client signed, renewed or left, and keeps the checklist short in the months when nothing changed.
Billing reconciliation is one of the monthly processes that separates a profitable MSP from a busy one. The MSP process management guide covers the others, and CheckFlow for MSPs runs them across every client from one place.
It is the monthly check that what a managed services provider invoices matches what it actually manages and buys. It compares agreement quantities with RMM device counts, directory user counts and backup and security seats, matches distributor and CSP invoices against what each client is billed, and checks time, block hours and project work. The result is a corrected set of agreements and an approved invoice batch.
How often should an MSP reconcile billing?
+
Every month, before the invoice run. Monthly reconciliation keeps each difference small and recent, so it is easy to explain to the client and easy to correct. Many MSPs also check Microsoft licence purchases weekly, because seat reductions on new commerce subscriptions are only possible for seven days after purchase or renewal, and a month-end check is too late to undo an over-purchase.
What is an unbilled or orphaned licence?
+
An unbilled licence is one you pay a vendor for but don’t charge any client for, usually because it was bought in a distributor portal and never added to the agreement in the PSA. An orphaned licence is one you pay for that nobody uses, often left behind when a user left or a client churned. Both cost margin every month until someone matches vendor invoices line by line against client billing.
Should we back-bill a client we have been under-billing?
+
Check what the agreement allows, then decide commercially. Many MSPs correct the count from the next invoice, explain the difference to the client and absorb the past months, especially when the error was theirs. Back-billing several months can be reasonable when the client added users without telling you, but raise it in conversation before it appears on an invoice. Either way, fix the process that let it happen.
How do Microsoft new commerce rules affect billing?
+
They limit how quickly you can correct an over-purchase. Seats on license-based subscriptions can only be reduced within seven days of purchase or renewal, so extra licences bought in error are paid for until the term renews. Annual subscriptions billed monthly cost more than those paid upfront, and price changes reach existing subscriptions at renewal. Reconcile renewals each month so your client pricing keeps up with your cost.
Who should own billing reconciliation in a small MSP?
+
Split it. Someone close to the service desk is best placed to check RMM and user counts, because they know which devices are really in use. Whoever handles billing should match vendor invoices and time. The owner or service manager approves the batch. In a very small MSP that may be two people, but keeping preparation and approval separate catches the errors one person would miss.
Is CheckFlow free for this template?
+
14-day free trial, no card required. The Business plan is $10 per user per month after the trial. Full details at checkflow.io/pricing.
Bill for Everything You Manage, and Nothing You Don’t
Free trial — no credit card required.
Do you like cookies? 🍪 We use cookies to ensure you get the best experience on our website. Learn more