Where revenue actually leaks in B2B, and how to find it

A practical guide to revenue leakage prevention in B2B: where value goes missing between the agreement and the payment, and how to find your own leaks.

Network cables patched into a switch, the connections between systems where revenue leakage prevention actually happens.

Revenue in B2B mostly leaks after the customer has already said yes. Not in the pricing, not in the negotiation, but in the space between what was agreed and what actually got delivered, billed and collected. Work that went out and was never invoiced. A discount that outlived the contract it belonged to. An invoice nobody chased. An account that quietly stopped reordering. Revenue leakage prevention starts by looking at what happens after the sale, not before it.

That is the argument of this post. Most companies hunt for lost revenue in the places they can already see: the deals they did not win, the prices they had to drop. Those are visible, painful, and endlessly discussed. The leaks that actually add up are the ones nobody is looking at, because no single person owns them and no report shows them.

What is revenue leakage?

Revenue leakage is money your business earned and did not collect. Not revenue you failed to win. Revenue you won, and then lost on the way to the bank.

It is worth being strict about that definition, because it changes where you look. A deal lost to a competitor is a sales problem. A quote that went out at the wrong price because the pricing sheet was six months old is a leak. So is a delivery that shipped without the surcharge, an annual uplift nobody applied, and a customer who has been on introductory terms since 2023.

None of those show up as losses. They show up as normal revenue, slightly smaller than it should have been. That is what makes them durable.

Where does revenue actually leak in B2B?

Five places, in rough order of how much they usually cost.

Unbilled or under-billed delivery. Something was delivered, shipped, or done, and it never made it onto an invoice, or made it on at the wrong number. Extra units on a partial delivery. A rush order that carried a fee nobody added. Services delivered in the gap between two contract periods. This is the biggest one in most businesses and the hardest to see, because the invoice looks perfectly correct. It is just not complete.

Pricing that drifts from the agreement. A customer negotiated a volume break at a level they no longer hit. An annual increase was written into the contract and never applied. A one-off discount became the default because it is what is saved in the system. Each of these is small. Applied to every order for two years, they are not.

Invoices that go unpaid. The most measurable leak, and the one most companies underestimate. Atradius, in its B2B Payment Practices Barometer US 2024, reports that around half of all invoices issued in B2B trade are currently overdue, and that bad debts stand at an average of 8 percent of all B2B invoices.

Eight percent is not a rounding error. On a business doing 20 million a year, that is 1.6 million of revenue that was earned, invoiced, and never arrived.

Disputes and credit notes that get settled quietly. A customer queries an invoice. Rather than investigate, someone issues a credit note because it is faster and the relationship matters. Often that is the right call. The problem is when nobody records why, so the same dispute recurs monthly and the root cause never gets fixed.

Reorders that never happen. A customer who ordered every eleven weeks for two years has not ordered in five months. Nobody noticed, because nothing broke. There was no complaint, no cancellation, no churn event. The account just went quiet. In businesses with a long tail of accounts, this is often the single largest number and the one nobody has ever measured.

Why does leakage survive when everyone can see the numbers?

Because leaks live in the gaps between systems and between people, and the numbers everyone looks at are aggregates.

Consider a mid-sized distributor. Orders arrive by email and get keyed into the ERP. Pricing lives partly in the ERP, partly in a contracts folder, and partly in the head of the account manager who negotiated it. Deliveries are confirmed by the warehouse. Invoices are raised from the delivery note. Collections are chased by one person in finance, alongside four other jobs.

Every one of those steps works. Every person in that chain is competent. But no one is looking at the whole path a single order takes, and no system holds the full picture either. The ERP knows what was invoiced. It does not know what was agreed in an email in March.

So when a surcharge is missed, nothing objects. The order goes through, the delivery goes out, the invoice is raised, the payment arrives. The system is satisfied. The only person who could have caught it is the one who negotiated the surcharge, and they are three steps away from the invoice.

This is the same pattern behind slow cycle times, which is covered in the B2B commercial operations process, from quote to cash. There the cost is days. Here the cost is money. Both come from the same place: the operating layer between the stages, which nobody owns and no system holds.

How do you find your own leaks?

You do not need a project. You need four afternoons and a willingness to look at individual records rather than totals.

Start with a sample, not a report. Take 20 orders from last quarter, chosen at random rather than by anyone helpful. For each one, follow the full path: the original request, what was agreed, what was delivered, what was invoiced, what was paid. Not the summary. The actual documents.

You are looking for one thing: places where those five do not match. In most businesses doing this for the first time, three or four out of twenty will not match, and the mismatches will cluster.

Then check the pricing against the paper. Pull your ten largest accounts and compare what they are being charged today against what their contract says. Look specifically for volume tiers, annual uplifts, and expiry dates on introductory terms. This is usually the fastest money in the whole exercise, because the fix is a number in a field.

Then look at the quiet accounts. List every customer who ordered at least three times last year and has not ordered in the last 90 days. Do not assume they left. Most of them did not. Somebody just stopped calling.

Then read the credit notes. Every credit note from the last six months, grouped by reason. If you cannot group them by reason because the reason was not recorded, that itself is the finding.

Then age the receivables properly. Not the total. The list, by customer, with the oldest first. Ask what specifically is stopping each of the top twenty from being paid. The answer is often not "the customer will not pay" but "there is a query nobody answered in April".

What should stay human?

Most of the fixing.

Finding a leak can be systematic. A system can compare a delivery against an invoice, notice a price that does not match a contract, flag an account that has gone quiet, and surface a disputed invoice that has been sitting for six weeks. That work is repetitive, unglamorous, and nobody has time for it, which is exactly what should be automated.

Deciding what to do about it should not be. Whether to back-bill a customer for six months of missed surcharges is a commercial judgment about a relationship, not a rule. Whether to enforce an annual uplift on an account that is already unhappy is a judgment. Whether to chase a late payer hard or wait two weeks depends on things no system knows.

The failure mode to avoid is a system that fixes leaks on its own. Automatically back-billing customers, automatically enforcing every price rule, automatically escalating every late invoice. That does not recover revenue. It costs you accounts and generates disputes that take longer to unwind than the money was worth.

Detection can run continuously. Decisions belong to the person who owns the relationship. The system's job is to make sure that person is looking at the right twenty things this week instead of finding out in six months.

What to do first

Take the twenty orders and follow them end to end. That is the whole first step.

It is deliberately small, it takes an afternoon, and it tells you which of the five leaks is actually yours. Most companies discover their leaks are concentrated in one or two places rather than spread evenly, and that changes what is worth fixing. Fixing pricing drift when your real problem is unpaid invoices is a lot of work for very little money.

Then fix the biggest one properly, including the reason it happened, before looking at the second.

The reason leaks persist is not that they are hard to fix. Most are a field, a rule, or a phone call. They persist because nothing surfaces them, so nobody is ever holding one. That is the part worth building: something watching the path from agreement to payment continuously, raising the mismatches, and putting them in front of the person who can decide. Elentaria approaches it that way, detection and chasing handled by the system, the commercial call left with the human. What matters more than the tool is that somebody is looking at all.

If your orders arrive by email before any of this begins, why your inbox becomes your order management system covers where the context goes missing in the first place.