Back

Revenue Leakage and Unbilled Revenue (2026): Where Money Slips Between the Deal and the Invoice

Guide · October 2026 · 8 min read

See where every decision and owner stands, without a status meeting.

Book a demo

TL;DR

Revenue leakage is a missed charge, an undercharge or an amount owed that stays uncollected after the normal payment window. Unbilled revenue is an accounting term for revenue earned but not yet invoiced, which is often a normal timing difference rather than a loss. Leakage usually starts outside the billing system: extra work agreed on a call, a price increase nobody applied, a discount that outlived its basis, usage that never reached the meter, or a disputed invoice nobody answered. This guide is published by Sentra, which understands how a company really runs, and acts on it before anyone asks. Sentra compares those conversations with CRM, billing and ERP records to flag agreed work that has not reached an invoice.

What revenue leakage and unbilled revenue mean

Revenue leakage occurs when you miss a charge, bill less than the agreed amount, or fail to collect an amount owed once normal payment delays are ruled out. A customer may use a service the contract lets you charge for, but the usage never reaches billing. Churn is different. A customer who cancels stops buying future service, while a missed charge for delivered service is a billing leak.

Unbilled revenue describes timing. Under ASC 606, an entity recognizes revenue when it satisfies a performance obligation, which can happen before an invoice goes out. Service delivered in March and invoiced in April can be recognized in March if the contract and recognition criteria support it. Finance must then decide whether the right to payment is unconditional. If only the passage of time stands between you and payment, the balance is a receivable even before invoicing. If payment still depends on something else, it is a contract asset, as the ASC 606 presentation guidance sets out.

An uninvoiced item, a receivable, a sales forecast and recognized revenue are not interchangeable. Use the accepted contract and authorized amendments as the baseline. An approved discount, rebate or service credit can explain a gap between list price and cash without being leakage.

Where leakage hides: five failure points

  • Approved work never reaches billing. A customer authorizes extra work on a call, and nobody records the change for invoicing.
  • A price escalator goes unapplied. The contract calls for an increase on a set date, and the billing schedule keeps the old rate on every invoice that follows.
  • A discount exceeds policy or outlives its basis. A negotiated price is entered wrongly, or a volume discount continues after the customer downgrades.
  • A disputed invoice goes unanswered. The customer asks for a correction or supporting detail, nobody resolves it, and collection stalls even though the charge is valid.
  • Delivered usage goes unmetered. API calls or seats are recorded outside the data sent to billing, so the invoice reflects an incomplete usage record.

Recovery depends on the cause. Omitted billable work can often be invoiced. A valid service credit is not an error to reverse. The second and third failures are also contract compliance failures, because the signed terms never reached the system that bills them.

Why systems of record miss it

An audit limited to billing and CRM records misses any agreement recorded only in email, chat or meeting notes. If the agreed scope never becomes an amendment or a billing record, the invoice omits it, and the ERP faithfully records the smaller amount. A chat thread or call recap can document a price change while the account still carries the old rate.

Manual entry adds a second gap. A negotiated price can differ from the rate entered in the CRM or billing tool, and billing will then calculate every invoice correctly on the wrong rate. A records-only audit can confirm discrepancies between systems, but it cannot measure agreements that were never entered anywhere. To find those, compare the records with accepted contracts, authorized amendments and the conversations where changes were agreed.

How to run a revenue leakage audit

Start with contracts that changed during the period: usage pricing, escalation clauses, recent amendments and accounts touched by a billing migration. Pull each signed contract and its authorized changes before calculating what the customer owes, because an expired promotion or an approved credit looks like leakage if you use the wrong baseline. Then compare four numbers for the same period.

NumberDefinitionA gap against the previous number suggests
1. Contractually owedAmount due under the applicable terms, including authorized amendments and creditsBaseline
2. Delivered valueWhat you would charge for verified service or usage under those termsBelow owed: under-delivery or a scope dispute
3. BilledAmount actually invoicedBelow delivered: missed usage, scope, escalator or a wrong discount
4. CollectedAmount paid and applied to those invoicesBelow billed: timing, credits, disputes or bad debt, to check before calling it a loss

Investigate every difference before calling it leakage. Check usage logs, invoice records and the emails or meeting notes where someone agreed a change, then give each confirmed exception an owner and a next action.

Formulas and a worked example

Leakage rate (%)        = (confirmed unrecovered undercharges + uncollectible amounts) / contractually owed x 100
Billing completeness (%) = eligible charges invoiced / total eligible charges x 100
Collection gap (%)      = (billed - collected) / billed x 100

In this illustrative month, a subscription business has 1,000 customers on a $100 plan. Twenty customers upgraded to a $150 plan but were still billed $100, and $500 of contracted overage usage was never metered. Contractually owed is therefore $101,500, and billed is $100,000, so billing completeness is 98.5% and $1,500 is confirmed underbilling. Of the $100,000 billed, 25 card payments failed without a retry ($2,500) and 10 manual invoices sit in unanswered disputes ($1,000), so $96,500 was collected.

The $1,500 is leakage unless the business bills it. The $3,500 collection gap is not leakage yet. Retrying the cards and resolving the disputes may recover most of it. Only the part that proves uncollectible counts. Reporting the full $5,000 difference between owed and collected as a 4.9% leakage rate would overstate the problem and point the fix at the wrong team.

Controls that prevent leakage from recurring

  • Name an owner. A finance lead owns revenue assurance and assigns each billing exception to someone who can resolve it.
  • Close the call-to-billing gap. Require sales to record scope changes agreed on calls before finance closes the billing period, and have finance compare delivered work with approved changes.
  • Encode commercial terms. Contracts state usage limits, overage rates, renewal dates and escalators, and billing rules use each term's effective date.
  • Reconcile usage monthly. The product owner reconciles metered usage with billed usage. The effective-date check catches missed escalators, and the usage reconciliation catches consumption that generated no charge.
  • Review discounts at renewal and downgrade. Every exception has an approver and an expiry date, and invoice rates are compared with approved terms.
  • Give every dispute a person. Automate reminders and card retries, but a reminder cannot settle a disagreement over scope. The owner contacts the customer, documents the decision and corrects the invoice or records a credit.

Review exceptions at each monthly close so a missed charge does not wait for the next quarterly audit. The same discipline that explains a budget gap in a variance analysis applies here: tie every number to a cause and a source.

Where Sentra fits: catching leakage before it reaches billing

Sentra understands how a company really runs, and acts on it before anyone asks. It reads email, chat, meetings and documents alongside ERP, CRM, HRIS and BI data, and works out what is true now and why. When a customer approves added scope on a call while the CRM and the next invoice still reflect the old terms, Sentra flags the possible unbilled work to the person who owns the account. It does the same for missed escalators and invoice disputes that have gone quiet.

A named person approves anything Sentra raises before it reaches anyone else. Every claim cites its source, and permissions follow the source. Finance still verifies the contract terms and the amount before changing an invoice. Sentra replaces none of the company's systems. It holds SOC 2 Type II and ISO 27001 certifications and deploys in the cloud, in a VPC or on premises.

FAQ

What is revenue leakage?

Revenue leakage is money a business was entitled to but did not receive: a missed charge, an undercharge, or an amount owed that stays uncollected after normal payment delays are ruled out.

How does revenue leakage differ from unbilled revenue?

Unbilled revenue is revenue earned but not yet invoiced, usually a timing difference in a normal billing cycle. Under ASC 606 it is a receivable if the right to payment is unconditional and a contract asset if payment depends on something else. Leakage is a permanent shortfall against what the contract entitles you to.

What causes revenue leakage?

The common causes are approved work that never reaches billing, unapplied price escalators, discounts outside policy or past their basis, unmetered usage and unresolved invoice disputes.

How often should you run a revenue leakage audit?

Check exceptions at every monthly close, especially unbilled usage, expired discounts and aging disputes, and review contracts and billing records more broadly at least once a quarter.

Can you recover every revenue leak?

No. You can often bill omitted work when the contract and any billing deadline allow it, and collect a valid overdue invoice once a dispute is resolved. An approved concession or valid service credit is not a billing error to reverse.