Skip to content
LeakIQDetect. Manage. Recover.
PlatformFeaturesUse CasesGuidesPricingTourLogin
Free leakage report
  1. Homepage
  2. ›Revenue leakage detection
  3. ›Revenue leakage by sector
  4. ›Managed IT and MSPs
← All sector field guides

Revenue leakage field guide

Where revenue leaks in managed IT and MSPs

MSPs bill in several overlapping ways at once: recurring per-seat and per-device contracts, project and ad-hoc work, licence recharges and usage overages. Seat and device counts change constantly, so the invoice quietly falls out of step with what was actually delivered, and small monthly gaps repeat until someone reconciles them.

Download the Managed IT and MSPs report (PDF)One page, no form, no email.

Where it leaks

Seat and device drift

New users and devices are onboarded faster than the billed quantity is updated, so the monthly invoice keeps going out against last quarter's headcount.

Licence and usage recharges billed short

Vendor licence costs land in the ledger and overages accrue, but the matching recharge is never raised, billed short, or lost to stale FX when a dollar licence is recharged in sterling.

Managed-service charges that quietly stop

A recurring monthly retainer stops appearing for a client who is still being served, often after a migration or billing change, and the gap goes unnoticed.

Failed Direct Debits on retainers

Monthly retainers collected by Direct Debit fail and are never retried or chased, so an invoiced month simply never reaches the bank.

Unbilled project and ad-hoc work

Project hours and out-of-scope call-outs are delivered but never make it onto an invoice, or are billed below the agreed rate.

Duplicate charges and unapplied credit notes

The same project or licence line is invoiced twice, or a credit note raised for an offboarded seat is duplicated or left unapplied, moving money the wrong way.

The scale

Revenue leakage across a business is commonly estimated at around 1% to 3% of turnover, so on an MSP turning over £20m, purely as an illustration, that is roughly £200k to £600k a year. Direct Debit is often part of it: GoCardless has observed that about 2.9% of Direct Debit payments fail, across roughly 55,000 businesses.

How it is found

It is found by reading your own invoices, payments and ledger data read-only, with no change to your billing systems, and with no implementation to sit through first.

How to find it

How to spot a frozen retainer rate

A frozen retainer is the commonest MSP under-bill, and it shows up as a flat line in the amount column of your own invoices.

  1. 1Export sales invoices with customer, date, amount and status from Xero or QuickBooks, plus recurring charges from Stripe, over an eighteen to twenty-four month window so you span at least one contract anniversary.
  2. 2Group by customer, sort by date so each account reads as a column down the page, then read the amount down each recurring account.
  3. 3Flag any retainer billed the identical value across a contract anniversary: the export proves the price never moved, it does not prove it should have.
  4. 4Confirm outside the finance data by comparing today's seat, device or site count and the agreement's uplift clause before you correct anything.

Checking failed collections and ageing work

Both hide in the ledger and both are found by comparing what was owed against what actually landed.

  1. 1Pull failed direct debits from GoCardless and failed or declined charges from Stripe across the same window.
  2. 2For each failure, check whether a later payment from the same customer succeeded, and set aside any that self-corrected.
  3. 3Treat what is left as unrecovered retainer revenue, since the service almost always kept running while the collection did not.
  4. 4Separately, filter the sales ledger to invoices past due and still unpaid, and total the overdue balance per customer rather than per invoice, so you chase by exposure not by whichever invoice is oldest.

Finding duplicates, unapplied credits and stopped retainers

The last three shapes each leave a distinct trace once each customer's history is lined up.

  1. 1For duplicates, sort each customer's invoices by amount and date and look for two of the same value landing close together, one automated and one manual, or a rerun batch; confirm the work was delivered only once.
  2. 2For unapplied credits, list open credit notes and cross-check each against that customer's overdue invoices: a credit left unallocated while the account still owes is cash owed on one line and owing on another.
  3. 3For stopped retainers, list customers with an established cadence of three or more invoices and check whether the next invoice appeared roughly on schedule.
  4. 4Flag any whose next invoice is overdue to appear by more than about one and a half cycles but not so long the account is plainly gone, and treat that broken rhythm as a question for the account owner, not proof the customer has left.

Take the full guide with you

If it is useful, you can get your own number for free from a read-only look at your finance data, with nothing to install and no obligation.

Download the PDF

Common questions

What causes most revenue leakage in an MSP?

The biggest sources are usually under-billing where seat and device counts have grown past the contracted quantity, licence recharges that are missed or billed short, and recurring retainers that quietly stop or fail on Direct Debit. Because MSPs bill in several overlapping ways at once, small gaps repeat every month until someone reconciles them.

Can you really detect this from finance data alone?

Yes, for anything the numbers reveal: duplicate charges, recurring charges that stopped, prices that never moved at renewal, failed Direct Debits, short payments and unapplied credit notes. It cannot compare an invoice against a per-seat or per-device count, because seat counts live in your PSA and never reach the finance data. It will not judge contract-clause wording, only show where an invoice sits below what your own data implies it should be.

We issue a lot of SLA service credits and de-scopes. Can those leak?

Yes, in a specific way. A credit note gets raised for a service credit, a mid-term de-scope or a billing correction, and then never set against an overdue invoice on the same account. You end up owed money on one line while owing a credit on another, and the two never meet. To find it by hand, list your open credit notes and cross-check each against that customer's overdue invoices. Any credit sitting unallocated while the account still carries an overdue balance is worth allocating, though a person still confirms and applies it.

How do I know if we have under-billed a managed contract without re-reading every agreement?

Start from the billing pattern, not the paperwork. Group each recurring customer's invoices by date and read the amount column down the cycles. If a retainer has billed the identical value across a contract anniversary, at least one renewal has passed with no change, which usually means seat growth the service desk never passed to billing, an agreed uplift nobody applied, or both. The invoice history tells you where to look. Confirming it means checking today's seat count and the agreement's uplift clause, which sits outside the finance data, so it stays a job for a person.

How is this different from an aged debtors report or a Power BI or Tableau dashboard?

An aged debtors report, or a dashboard in Power BI or Tableau, shows what is already on your ledger: invoices you raised that have not been paid. Revenue leakage is the money that never reached the ledger correctly in the first place, under-billed, never invoiced, or failed on collection and never chased, so it usually never appears on a debtors report at all. That is what this audit looks for.

Keep reading

  • How LeakIQ works for Managed IT and MSPs

    See it applied to your systems, not just the theory.

  • What revenue leakage is

    The plain definition, and why earned revenue slips before the bank.

  • Revenue leakage in every other sector

    The same field guide for facilities, waste, logistics, security and more.

Example revenue leakage report showing an executive summary with total identified, recoverable now and recurring annual figures

Free revenue leakage report

This, built from your own numbers.

That is the format. Yours is built from a straightforward export out of the finance systems you already run, your invoices, payments and credit notes, sent to us securely under NDA. Every finding traces back to a record in that export, so your team can verify each figure against the ledger.

  • No system access needed. You send an export, we do the rest.
  • Every figure tied to a source record you can check.
  • Messy data is fine. We work with what your systems produce.
  • NDA-backed, yours to keep, no card and no commitment.
See it on your own numbers

We reply within one business day.

LeakIQDetect. Manage. Recover.

Find and recover revenue from failed payments, overdue invoices and duplicate charges across Stripe, Xero, Salesforce and more.

LeakIQ Ltd

Company No. 17311148

195 Wood Street, London E17 3NU

G2

Platform

PlatformFeaturesRevenue leakage detectionSecurityvs Spreadsheetsvs Building in-housevs Chasing tools

Get started

Guided TourFree leakage reportLeakage calculatorBook a callUse CasesPricing

Resources

What is revenue leakage?GuidesDocumentationFAQs

Company

AboutPartner ProgrammeWhat's NewBrand & press kitTrust CentreA word on AIContact us

© 2026 LeakIQ. B2B revenue recovery for finance and operations teams.

System statusPrivacyCookiesTermsAccessibility