Where it leaks
Reactive and additional works never billed
Ad hoc callouts and extra works get completed and closed on site but the charge is never raised, so invoiced revenue falls short of the run-rate the contract and job log imply.
Contract uplifts that never reached the invoice
An annual or indexed price increase is agreed but the recurring charge keeps going out at the old rate, leaving every invoice quietly under-billed against the run-rate.
Failed Direct Debits on service charges
Regular service charge and contract collections fail at the bank and are never re-presented or chased, so the cash simply never arrives.
A recurring charge that quietly stopped
A planned maintenance or monthly service line drops off the billing run after a site change or system migration and no one notices the regular charge has ceased.
Duplicate invoices across sites and jobs
The same works get raised twice across multiple sites or job numbers, or a credit note is issued and then never applied, distorting what is actually owed.
Short payments and rounding on multi-site bills
Clients pay slightly under the invoiced amount across many sites, and small rounding or FX slips on cross-border contracts add up unnoticed across a large ledger.
The scale
It is commonly estimated that around 1% to 3% of revenue leaks before it is collected, and payment failure is a real part of that: GoCardless has observed that roughly 2.9% of Direct Debit payments fail, across about 55,000 businesses. As an illustration only, on an FM firm turning over £20m, 1% to 3% is roughly £200k to £600k a year.
How it is found
It is found by reading your own finance data read-only, from the systems you already use, with no change to any of them, and it often surfaces within days.
How to find it
How to spot a frozen contract rate
Read each customer's invoices as a series and look for a price that never moved through a renewal.
- 1Export 18 to 24 months of sales invoices with customer, site or cost centre, date, amount and status. Xero, QuickBooks and Stripe all allow a read-only export.
- 2Group by customer and sort by date, then read the amount column straight down each recurring customer's cycles.
- 3Flag any customer billed the same amount for more than a year, through at least one April or contract anniversary, as a frozen-rate candidate.
- 4Pull that contract and check for an uplift clause (RPI, CPI or a fixed percentage) and its anniversary date. The export proves only that the price did not move; the contract confirms an uplift was owed.
- 5Treat any pound value you attach as an estimate for prioritising the work, then have a person verify it before applying the correction in your own billing system.
Totalling multi-site exposure and catching double-bills
Multi-site billing buries both ageing balances and duplicate charges in the volume, so read them per customer, not per invoice.
- 1Build an aged-debt view grouped by customer rather than by invoice, and sum the overdue value across all of a customer's sites so the exposure reads as one number instead of a dozen small ones.
- 2Scan for two settled payments of the same amount to the same customer within a short window. Pull both records and confirm it is genuinely one charge paid twice before you credit anything.
- 3Scan for the same invoice amount raised twice to the same customer in a short window, especially across different sites or cost centres for one job. Treat it as a possible double-bill and check both before it settles.
Finding unused credits and lapsed services
Two more patterns hide on quiet accounts: money you owe that never left, and a regular invoice that simply stopped.
- 1List credit notes that still carry a remaining balance, then cross-check each against that customer's overdue invoices. An unused credit sitting against an unpaid invoice is money crossing itself on one account.
- 2For each recurring customer, compare the gap since their last invoice against their normal cadence. A monthly or weekly service whose next invoice is well overdue to appear may be a lapsed contract still delivered but no longer billed.
- 3Confirm with operations whether the service is still running before you treat it as recoverable, then correct it in your own systems.
Take the full guide with you
If it helps, you can get your own leakage number for free and simply see what, if anything, is slipping through.
Common questions
How is this different from our monthly finance review?
A monthly review checks that the books balance, not whether every job that was done actually got billed or collected. Leakage detection compares invoices against the contract run-rate, the recurring pattern and the payment record to flag the charges that quietly went missing.
Do you need access to our operational or CAFM system?
No. It reads finance data only, such as invoices, payments, credit notes and bank and ledger records, on a read-only basis. It works from the money itself, so the invoice being below the run-rate is the signal, without touching your operational systems.
We run hundreds of sites, is that a problem?
Multi-site billing is exactly where leaks hide, because small misses across many sites are hard to spot by eye. Reading the full ledger at once is what makes duplicates, short payments and stopped charges visible.
How do I tell a duplicate charge from two legitimate visits billed at the same rate?
You cannot settle it from the ledger alone. Two genuine visits billed at the same rate are common in this sector, so the same customer charged the same amount twice in a short window is only a candidate, not a conclusion. Pull both records and confirm whether it is one charge paid twice before you credit anything.
A monthly service invoice stopped appearing. Is that churn, or a billing gap?
It could be either, which is exactly why it is worth surfacing. When a regular monthly or weekly invoice stops arriving past the point the next one was due, the ledger tells you the cadence broke, not why. A lapsed contract still being delivered is unbilled revenue you can recover; a genuine cancellation is not. Confirm with operations whether the service is still running, then correct it in your own billing system.
Keep reading
- How LeakIQ works for Facilities management
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.