Why your billing system does not catch a price that never moved
Billing and accounting systems store each invoice at the price it was raised. That is exactly what they are meant to do, and it is also why a missed uplift is invisible to them: they do not compare a customer's invoices over time to notice that a price never moved through a renewal, that an agreed annual uplift never reached the invoice, or that a temporary discount silently became permanent. They will also hold a draft invoice indefinitely without ever prompting that the revenue was never billed.
None of this is a fault in the software. Xero, QuickBooks and Stripe each record faithfully what you tell them to. The gap only appears when you line a customer's invoices up side by side across cycles and read the amount column down the page, which nobody does by hand once the customer count climbs. A price that should have risen 3% at renewal does not error or warn. It simply keeps billing the old figure, cycle after cycle, until someone notices.
Where a missed uplift or under-billing hides
The same problem shows up in a few recognisable shapes. Each is ordinary billing friction, not fraud, and each is easy to miss at volume.
- A recurring price that never moved through a renewal, so the customer is still on last year's rate
- An agreed annual uplift (RPI, CPI or a fixed percentage) that was never applied to the invoice
- A temporary discount that quietly became permanent and never reverted
- A draft or awaiting-approval invoice that was raised but never sent, so nothing was ever collected
- Extra work delivered but never invoiced at all, with no draft and no line to compare against
How to find missed uplifts and under-billing manually
You can do all of this read-only, without touching a single invoice. Export your sales history and work through it in a spreadsheet.
- 1Export your sales invoices for the last 18 to 24 months with customer, date and amount. Xero, QuickBooks and Stripe all allow a read-only export.
- 2Group by customer and sort by date, then read the amount column down each recurring customer's cycles.
- 3Flag any customer billed the same amount across six or more invoices spanning more than a year: at least one renewal has passed with no change. Pull their contract and check for an uplift clause and its anniversary date.
- 4Flag any customer whose invoice value stepped down 8% or more and stayed down. Check whether that reduction was a deliberate permanent change or a temporary discount that should have ended.
- 5Run the draft or awaiting-approval invoice list and find anything older than about 30 days with nothing collected. That is real revenue sitting unbilled.
- 6For work that was never invoiced at all, compare a sample of delivered jobs or contract line items against the invoices actually raised, since no export can show you an invoice that does not exist.
- 7Apply any correction in your own billing system, and decide whether to recover the arrears or fix the price going forward.
How LeakIQ surfaces missed uplifts and under-billing
LeakIQ connects to Xero, QuickBooks and Stripe read-only, or reads a CSV or JSON export from another billing system, and compares each customer's invoices over time, the check your billing system does not do. It flags three of the shapes above. First, a recurring price that never moved: a customer invoiced the same amount across at least six invoices spanning more than about 400 days, past a contract anniversary, with no change in value, raised as a possible missed uplift. Second, discount creep: a recurring customer's invoice value that stepped down 8% or more and stayed down, an ad-hoc discount that may have quietly become permanent. Third, drafted-but-never-billed revenue: a draft or awaiting-approval invoice that has sat unsent for a while, 30 days by default, with nothing collected. The unsent-draft signal needs a provider that exposes a pre-send status, such as Xero draft or submitted, or Stripe draft.
Two honest limits sit on top of this. The pound figures on the missed-uplift and discount-creep findings are estimates, computed at an assumed uplift rate and labelled as estimates in the product, because LeakIQ cannot see the contract. It proves only that the invoiced price did not move, or stepped down, and asks a person to check the agreement. It never confirms that an uplift or discount was actually owed. Treat those figures as a way to prioritise, not as a measured shortfall.
The second limit is scope: LeakIQ works from the invoice trail. It does not detect work that was delivered but never invoiced at all when there is no draft invoice and no recurring price history to compare against, because it reads invoices, not a separate record of work done. Every finding it does raise arrives with the source record attached, and LeakIQ never raises the uplift, re-prices a contract, edits or issues an invoice, or moves money. Your team applies any correction in your own billing system.
How much revenue leaks this way?
Missed uplifts and under-billing are one strand of revenue leakage. Failed payments are another, and the two often turn up in the same business.
of revenue commonly leaks away undetected
of UK Direct Debit payments fail
of customer churn is involuntary, a payment that failed rather than a customer who chose to leave
Direct Debit failure and involuntary-churn figures: GoCardless, across 55,000 businesses and 52 million transactions. The 1% to 3% range is a commonly cited industry estimate, not a single published figure.
Common questions
How do I find a price that should have gone up but never did?
Group each recurring customer's invoices by date and read the amount column down the cycles. If a customer has been billed the same amount across six or more invoices spanning more than a year, at least one renewal has passed with no change, so pull their contract and check for an uplift clause. Your billing system will not flag this for you, because it stores each invoice at the price it was raised and never compares them over time. A read-only tool such as LeakIQ builds that shortlist automatically and attaches the invoices, though it still asks you to confirm the uplift against the agreement, because it cannot see the contract.
Will LeakIQ automatically apply the uplift or fix the price?
No. LeakIQ is read-only: it detects that a price never moved and shows you the invoices behind it, but it never raises the uplift, re-prices the contract, edits an invoice or moves money. Your team applies any correction in your own billing system once you have checked it against the agreement. The pound figure it shows is an estimate for prioritising the work, not a measured shortfall.
How is the missed-uplift amount calculated, and can I trust it?
It is an estimate, and it is labelled as one in the product. LeakIQ cannot see your contract, so it sizes the figure from the observed annual value at an assumed uplift rate to help you prioritise, not to state a measured shortfall. Treat it as a shortlist and a rough scale, then confirm the real number against the contract clause and anniversary date.
Can it find work we delivered but never invoiced?
Only in specific forms. If the work was raised as a draft or awaiting-approval invoice and then never sent, LeakIQ flags it as unbilled revenue once it has sat for a while, 30 days by default. But if there is no draft invoice and no recurring price history to compare against, it cannot see work that was delivered but never billed at all, because it reads the invoice trail, not a separate record of work done. For that, compare a sample of delivered jobs against the invoices raised by hand.
What is discount creep, and how do I spot it?
Discount creep is a temporary discount that quietly became permanent: a recurring customer's invoice value stepped down and never recovered. To spot it, look for any recurring customer whose amount dropped 8% or more and stayed at the lower level across the most recent invoices, then check whether that reduction was a deliberate permanent change or a temporary one that should have ended. LeakIQ surfaces this automatically as an estimate, and as with missed uplifts, it proves only that the price stepped down, not that a discount was owed.
Keep reading
- the involuntary churn guide
for the other side of the ledger, revenue lost to payments that failed rather than prices that never moved
- what revenue leakage is
a plain-English primer on where earned revenue goes missing before you dig into the billing detail
- an example leakage report
see how these findings look in practice, with the source record behind each one
- how the platform works
how LeakIQ reads your billing data read-only and surfaces findings end to end