For a plain-English primer on the underlying problem, see what is revenue leakage. This guide is specifically about finding it in Xero.
How do I find duplicate invoices in Xero?
Xero prevents two invoices sharing the same invoice number, but it does not stop the same customer being billed the same amount twice under different numbers, which is the more common double bill. To find those, look for invoices to the same contact for the same amount within a short window (a few days to a couple of weeks), excluding genuine recurring billing. You can do this by running the Aged Receivables or Receivable Invoice Detail report, sorting by contact and amount, and eyeballing repeats, or by exporting invoices to a spreadsheet and grouping by contact and value. A read-only tool such as LeakIQ does this automatically: it scans your Xero invoices for same-customer, same-amount duplicates, ignores steady recurring billing, and shows the excess with the underlying invoices attached.
The most common billing errors in Xero
The most common are: the same customer invoiced twice; work delivered but never invoiced (under-billing); invoices that aged past their due date and were never chased; recurring prices or contract rates that never moved at renewal; cash received but never matched to an invoice (unapplied cash); credit notes raised and left unapplied; and failed payments that were never retried. None of these are fraud. They are the ordinary friction of running billing, payments and the ledger across systems that do not reconcile with each other.
- The same customer invoiced twice under different numbers
- Work delivered but never invoiced (under-billing)
- Invoices aged past their terms and never chased
- Recurring prices or contract rates that never moved at renewal
- Cash received but never matched to an invoice (unapplied cash)
- Credit notes raised and left unapplied against open invoices
Does Xero detect duplicate invoices and billing errors automatically?
Only partly. Xero enforces unique invoice numbers, and will warn you if you try to reuse one. It does not automatically flag the same customer billed the same amount under two different numbers, a duplicate supplier bill, an invoice that has aged past terms, a price that should have gone up at renewal, or cash sitting unapplied. Those need a cross-record check across your invoices, payments and credit notes, which is why they usually go unnoticed.
How to check for billing errors in Xero automatically
Connect a read-only tool to Xero that reads your invoices, payments and credit notes and surfaces the discrepancies for you. LeakIQ connects to Xero read-only, scans for duplicate invoices, under-billing, un-chased overdue invoices, missed price rises and unapplied cash, and shows each issue with the source Xero record and a pound value so your team can verify and act. It never writes back to Xero and never moves money, so there is no risk to your ledger.
LeakIQ is one such tool, built for finance teams in contract-heavy sectors (facilities, security, waste, builders merchants and more), where high invoice volumes make these errors easy to miss. See how the platform works end to end or an example report.
How much revenue leaks through billing errors?
Finance teams commonly estimate that 1% to 3% of revenue leaks away undetected. Payments are a large part of it: in the UK around 2.9% of Direct Debit payments fail, measured by GoCardless across 55,000 businesses and 52 million transactions, and roughly 30% 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.