Skip to content

Answers · MSPs & IT services

The Client Grew All Year. The Agreement Still Bills January.

For your top five clients, compare the units covered with the units billed in ConnectWise or Autotask. Match the unit to the agreement: devices for per-device plans, users for per-user plans. If the counts match, close this tab. For most MSPs they don’t — the client hired all year, the agreement still bills the seat count from the January quote, and every unbilled endpoint gets patched, monitored, and defended for free.

By the Lumina Business Advisory team · Updated

Where the gap comes from — and why nobody stole anything

Free self-check · two taps · no email

Hand-off 3 of 6 · Contract → Delivery

When signed work starts, does the team work from the same written scope the client signed?

Choose the answer that sounds like your business.

Answer it in the Self-Audit

The mechanics are almost boringly innocent. A client hires a project manager in March. Their office manager emails your service desk, a tech images the laptop, the NinjaOne or Datto RMM agent installs itself during setup, the ticket closes, everyone moves on. The endpoint is now monitored, patched, and covered by your security stack. What never happened: anyone opening the agreement in ConnectWise or Autotask and adding a seat.

That’s the structural problem: growth flows through your technical systems automatically, but billing only moves when a human edits an agreement. Deploying an agent is a tech’s job and takes minutes. Updating the agreement is nobody’s job — it sits somewhere between the account manager, the service coordinator, and you. So the RMM count climbs all year while the invoice keeps billing the seat count from the January quote.

Notice the asymmetry, too. When a client shrinks, you hear about it the same week — someone reviews the invoice and asks why they’re paying for a departed employee. When a client grows, silence. Nobody has ever called their MSP to say the bill looks too low. The drift only runs one direction, and it compounds quietly until renewal — or until you finally run the comparison.

Why the true-up call keeps sliding

Every MSP owner knows the real reason, and it isn’t the tooling. It’s that the true-up call feels like asking for a raise. You’re about to tell a client their bill is going up, retroactively justified by numbers they’ve never seen, on an agreement they haven’t thought about since they signed it. So the task sits on your list behind everything that feels less socially expensive.

Waiting makes it worse in a specific way. A seat added in March and billed in April is routine bookkeeping. The same seat surfaced fourteen months later is an accusation — either you weren’t paying attention, or you’re inventing a reason to raise the bill. The client isn’t wrong to bristle: the surprise, not the money, is what reads as unprofessional. Delay converts a billing update into a trust conversation.

There’s also a handoff hole. The person who sees the gap — a tech noticing sixty covered devices on an agreement that bills for fifty — has no authority over billing and no incentive to start a commercial conversation. The person who owns the relationship doesn’t live in the RMM. Unless reconciliation is an assigned, recurring task with a named owner, the knowledge and the authority never meet.

Let the QBR do the awkward part

The fix isn’t courage; it’s cadence. A true-up raised cold is a confrontation. The same true-up inside a quarterly business review is a line item — one slide between the security posture and the roadmap. The QBR already exists to show the client what you’re managing on their behalf. Endpoint count is the most natural number in that deck, and it happens to be the one that drives the invoice.

Build the reconciliation once and let it repeat. Pull the agent count from your RMM, the billed quantity from the agreement in ConnectWise, Autotask, or HaloPSA, and put them side by side for every managed client. Then walk the same page in every QBR, whether the delta is zero or not. The content of the page matters less than the fact that it always shows up:

  • Endpoints under management, by type — workstations, servers, mobile if you bill it
  • Quantities currently billed on the agreement, straight from the PSA
  • The delta, named plainly: what was added, when, and for whom
  • Out-of-scope work absorbed this quarter, listed even when you don’t charge for it
  • What the next invoice will reflect, so the change is announced, never discovered

Run this for four quarters and the true-up stops being a call anyone dreads — the client learns the invoice tracks reality the way their payroll tracks headcount. Back it with agreement language that says so: covered units billed monthly under the agreement’s pricing model, with additions and removals effective the month they occur. Clients sign that clause without friction when it’s presented at signing instead of invented mid-term.

The other leak: out-of-scope work absorbed as goodwill

Seat drift has a quieter sibling. Look at last quarter’s closed tickets and count the ones that were never in scope — the home PC a partner brought in, the line-of-business app you now effectively support, the office move that became a weekend project closed as a handful of tickets. Most MSPs absorb this work as goodwill. Some of it should be. All of it, by default, shouldn’t.

The problem with silent goodwill is that it buys nothing. If the client never sees the work, it earns no loyalty, no reference, no patience at renewal — it just resets their expectation of what the flat fee covers. The fix used by well-run shops is the zero-dollar line item: the work appears on the invoice, priced, then discounted to nothing. Generosity you can point to at the QBR instead of margin that evaporated.

This requires your service desk to flag out-of-scope work at ticket entry, not at month-end. Dispatchers can do it if the scope is written down per agreement — covered devices, covered applications, covered hours — and the ticket type forces a choice. When the boundary lives only in your head, every tech makes their own call, and the generous ones quietly set your pricing.

Reconcile before you raise prices on everyone

Here’s the sequencing mistake that turns underbilling into churn: margins feel thin, so you announce an across-the-board price increase. But if part of your base is quietly underbilled, the increase lands hardest on the clients who were already paying correctly — your best-behaved accounts subsidize the drifted ones twice. Reconcile RMM to invoice first. Often the margin you were about to chase with a rate hike is already sitting in seats you manage but don’t bill.

This is the kind of gap that hides in plain sight because it lives across two systems that never talk. That’s also exactly what our Revenue Review is built to find. For a fixed fee of $4,500, we spend two weeks inside your own records — PSA agreements, RMM exports, invoices, ticket history — and hand you a written account of where revenue leaks, plus a 90-day plan to close it.

If you’d rather test the idea first, run your numbers through the free Leak Calculator, or look at the worked sample report to see what the finished document looks like. And if you just want a second pair of eyes on one ugly agreement, book the free 20-minute call — worst case, you leave with the reconciliation checklist and do it yourself. That outcome is fine with us.

Before any next step

What should you do next?

Fix it yourselves.
If the cause is clear, it lives inside one process, and one person can own it — take the play from this page and run it. That outcome is fine with us; it is why the play is published in full.
Order one bounded build.
If the fix is known but needs configuration or integration inside your stack — a cadence wired into your own system, an alert, a handoff — scope that one build, with us or with anyone you trust. The six systems we build show what bounded looks like.
Start with the Review.
If the causes are debatable, the problem crosses departments or systems, or the economics are unclear — diagnose before anyone builds. The Revenue Review: $4,500 fixed, two weeks, computed from your own records. Read a sample finding before you decide — free, no email.

Asked right after

How do I bring up a true-up without damaging the client relationship?
Anchor it to a recurring review instead of raising it cold. Present the RMM count next to the billed count as a standing QBR page, so the client sees the number every quarter — including the quarters when nothing changed. Frame the first correction forward-looking: bill the right count starting next month rather than chasing back-billing, which usually costs more goodwill than it recovers. Then add plain true-up language at the next renewal so the mechanism is contractual, not personal.
How often should an MSP reconcile RMM counts against agreement billing?
Monthly for the mechanics, quarterly for the conversation. A monthly variance check — RMM agent count against billed quantities in ConnectWise, Autotask, or HaloPSA — takes one report once it’s built and catches drift while it’s still a seat or two. The QBR is where you show the client the numbers and adjust the agreement. Annual-only reconciliation is what creates the painful version: a year of drift, surfaced at renewal, right when you’re also negotiating price.

The next step

Bring us the process that keeps getting stuck.

A 20-minute conversation about the workflow, the teams and the systems involved — and a straight answer on whether The Revenue Review is the right next step. If it is not, we say that on the call.

A real person answers or calls you back the same business day.

Free self-check · 2 taps