Sign in

Blog · Board and management reporting

Revenue leakage: the seven places it hides in a B2B ledger

Seven kinds of revenue leakage that a B2B company's own ledger and contracts can find: unagreed discounts, contracted price not applied, unbilled deliveries, credits without a cause, contracted volume not ordered, early payment for no discount, and services delivered outside the scope. For each, the join that finds it, the identity that proves the figure, and a worked total that most companies would not believe until they saw the lines.

The short answerRevenue leakage is revenue the company earned and did not collect, or gave away without deciding to. Seven kinds hide in the ledger: discounts below the agreed level, contracted prices not applied, deliveries with no invoice, credit notes with no recorded cause, contracted volumes customers did not order, early payments made for no discount, and work delivered outside the contracted scope. Each is a join between two exports the company already has, each produces a list of lines with a value, and the seven together are typically one to three percent of revenue.

Revenue leakage is not one thing. It is seven joins between exports the company already has, each producing lines with a value, and the total is usually larger than anyone expected because each kind was somebody else's problem. This guide sets out the seven, the join that finds each, and the identity that proves the figure.

The seven

# Leak Join Identity
1 Unagreed discount Invoice lines × price list × agreements List − agreed − unagreed = invoiced
2 Contracted price not applied Invoice lines × contract prices × customer mapping Lines at contract + over + under = lines
3 Delivery with no invoice Delivery log × invoice lines Deliveries = invoiced + credited + uninvoiced
4 Credit with no cause Credit notes × reason codes Credits = coded + uncoded
5 Contracted volume not ordered Contracts × ledger Committed = ordered + shortfall
6 Early payment for no discount Payables × terms × discounts taken Paid = on terms + early with discount + early without + late
7 Out-of-scope delivery Time entries or deliveries × contract scope Delivered = in scope + out of scope billed + out of scope unbilled

The rows you need

Invoice lines, the price list dated, price agreements, contract prices and the customer mapping, the delivery log, credit notes with reason codes, contracts with committed volumes, the payables ledger with terms, and time entries or delivery records against scope. Identifiers only.

A worked total

Company revenue $84m.

# Leak Lines Value Share of revenue Recoverable?
1 Unagreed discount 4,100 $610,000 0.7% Forward: pricing discipline
2 Contracted price not applied, under 880 $190,000 0.2% Forward: mapping
3 Delivery, no invoice 140 $220,000 0.3% Yes: invoice now
4 Credit, no cause 610 $340,000 0.4% Partly: causes to find
5 Contracted volume shortfall 9 contracts $410,000 0.5% Conversation: take-or-pay terms
6 Early payment, no discount 2,200 $63,000 cost of capital 0.1% Forward: terms discipline
7 Out of scope, unbilled 310 $150,000 0.2% Partly: change orders
Total $1.98m 2.4%

Two percent of revenue, found in seven joins, none of which needed new data.

The order to work them

Three first: it is money owed for goods delivered. Then four, because uncoded credits often hide one and two. Then one and two forward. Five is a commercial conversation. Six and seven are process.

Where it goes wrong

One leak owned; six not. Finance watches credits; sales watches discounts; nobody watches deliveries.

Totals without lines. A leakage figure with no invoice lines behind it is an estimate nobody acts on.

Undated price list. Leak one and two computed against today's prices; everything before a price change looks wrong.

Read as fraud. Almost all of it is process. The lines say which.

Every month, seven joins

Mapped once, the exports produce the seven lists, their values and their identities every month. Covirage builds this from the exports as they are. The board reporting solution describes the setup, and the price realisation guide covers the largest of the seven in depth.

Questions people ask

Is all of it recoverable?

No. Some is fixed forward, some is a conversation, some is a credit that was right and just unrecorded. The report values each kind, lists the lines, and the finance and sales teams decide which to pursue. Even the unrecoverable kinds are worth knowing, because they are decisions nobody made.

Which kind is usually largest?

At distributors and manufacturers, unagreed discounts and contracted price not applied. At service firms, scope creep and unbilled work. At any company with a delivery operation, deliveries with no invoice are the most surprising, because everyone assumes the system catches them.

Does this need anything beyond exports?

No. Invoice lines, the price list, the agreements, the delivery log, credit notes, the payables ledger and the contracts. All exports; all on identifiers. The joins are the method.