Where it leaks
Failed Direct Debits on trade accounts
Merchants collect from trade credit customers by Direct Debit, and when a collection fails the goods have already left the yard while the unpaid balance sits quietly in the ledger.
Deliveries that never became invoices
Stock goes out on a delivery note but the matching invoice is delayed, mis-keyed or forgotten, so goods leave the business with nothing billed against them.
Duplicate invoices that turn into disputes
In a high-volume run the same order can be billed twice, and once a customer spots it they often hold or short-pay the whole account until it is sorted, delaying cash that was genuinely earned.
Credit notes that outlive the return
Credit notes raised for returned or damaged goods sometimes get duplicated, applied twice or left sitting unapplied, so more value leaves the ledger than the actual return justified.
Short payments left unchased
Trade customers deduct for a disputed line, a damaged pallet or a claimed discount and pay a round sum, and the small shortfall against the invoice is too minor to chase but recurs across thousands of accounts.
Price uplifts that never reached the invoice
Agreed annual increases, surcharges and contract pricing do not always flow through to the billing system, so lines quietly invoice below the current run-rate.
The scale
Across a business, revenue leakage is commonly estimated at around 1% to 3% of turnover. GoCardless reports that roughly 2.9% of Direct Debit payments fail, observed across about 55,000 businesses, and failed collections are only one of the leaks above. As an illustration only, on a merchant turning over £40m, 1% to 3% is roughly £400,000 to £1.2m a year.
How it is found
All of this is visible in your own finance data, read-only, with no change to your systems, and a first pass is usually back within days.
How to find it
Group the whole account in one place, not branch by branch
The single view your branch reports never assemble is the one that makes these leaks visible.
Export the last 18 to 24 months of sales invoices, customer payments and credit notes read-only from your ledger, keeping the account name, branch, document number, date, invoice value and balance outstanding on each line. A read-only export changes nothing in the system.
Then group everything by trade account rather than by branch, so an account that trades across several branches lands in one place. Most of these losses only appear when you read one account's whole history together, because individually each line is too small to chase and no branch report ever totals them.
Checking for past-terms drift and frozen prices
Two checks run off the same account-grouped export.
- 1Filter to open, unpaid invoices whose due date has passed, then sort by amount outstanding and days overdue and read the biggest exposures down first.
- 2Include part-paid invoices in that list: any invoice where money came in but a balance is still outstanding past its due date has usually slipped off the chase list once a payment landed.
- 3For pricing, within each recurring account sort its invoices by date and read the value column straight down the page.
- 4Flag any account billed the same amount across six or more invoices spanning more than a year, since it has passed at least one anniversary with no change.
- 5Pull that account's terms and check whether a price review or agreed uplift was due. The invoice history proves only that the value never moved, so confirm the rest against the agreement.
Catching one order billed twice, and credit left unapplied
Same order, two bills, is the commonest branch-volume leak, alongside credit notes that never met the invoice they belong to.
- 1Within each account, look for two settled payments of the identical amount within a few days of each other, the pattern behind a counter payment and an account payment for one order, or two branches taking the same card.
- 2Look too for two invoices of the identical value raised close together, which happens when a delivery note, a counter ticket and the month-end run each sweep the same order up.
- 3Check both records against the single order or delivery note before crediting anything, because a trade customer can genuinely place the same order twice.
- 4Net each account's credit notes against its open invoices: any account holding a credit while still carrying invoices past terms has money sitting on both sides that was never brought together.
Take the full guide with you
If you would prefer your own number to an estimate, you can have your finance data read and the leaks totalled for free.
Common questions
Does this work if our invoicing is messy or spread across branches?
Yes. The check reads the finance data itself, the invoices, payments, credit notes and collections, rather than relying on tidy notes or a single system, so branch splits and high-volume runs are normal input, not a barrier.
Is it safe to connect our finance systems?
The review is read-only. It looks at your invoices, payments and ledger data and never writes back, changes a record or moves money, so nothing in your systems is altered.
We already run credit control tightly. Would there be anything left to find?
Usually yes. Tight credit control catches overdue invoices, but leaks like duplicate billing, uninvoiced deliveries, under-applied price uplifts and unapplied credit notes sit inside invoices that look correct, so they rarely surface in an aged debt report. One finance team found over £49,000 of leakage in the first month of looking.
We invoice the same delivery through a delivery note, a counter ticket and the month-end run. How do we catch when one order gets billed twice?
Within each account, look for two invoices of the identical value raised close together, then check both against the one delivery note before you credit anything. It is worth confirming rather than crediting on sight, because a trade customer can genuinely order the same thing twice, so the match back to a single order is what proves the duplicate.
Our account pricing has not been reviewed in years. Can we tell which accounts are on stale prices from the ledger alone?
Yes. Within each recurring account, read the value column down the invoice cycles: any account billed the same amount across six or more invoices spanning more than a year has passed at least one anniversary with no change. The invoice history proves only that the price never moved, so pull the account terms to check whether a review or uplift was actually due before you treat it as a loss.
Keep reading
- How LeakIQ works for Builders merchants
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.