A billing config gap left usage overages uncharged.
Request an audit →

B2B SaaS · Usage based

A billing config gap left usage overages uncharged.

This marketing & margin audit surfaced $70k in recurring annual margin in a B2B SaaS business, evidenced, senior reviewed, and delivered in 6 days.

$3–8M annual revenue Usage based Focus: Usage billing
+$70k
margin recovered / yr
+8%
captured usage revenue
6 days
to findings
Billable usage actually invoiced
Before audit
92%
→
After fix
99%

The business

A usage based SaaS business charged customers for consumption above their plan limits, with overages calculated and billed automatically by its metering system. Because the billing ran automatically and revenue kept growing, the accuracy of the metering configuration was assumed rather than checked, and nobody reconciled billed usage against what customers were actually consuming.

What triggered the audit

Revenue per account looked lower than the consumption data suggested it should be, a gap that points at the billing layer rather than the product. The audit reconciled metered usage against what customers were actually invoiced, testing whether every unit of billable overage was genuinely being captured and charged.

What the audit found

The metering system was underbilling because of a configuration gap nobody had caught. A misconfigured usage rule meant a whole category of billable overage was being recorded for product analytics but never passed through to invoicing, so customers were consuming above their limits and simply not being charged for a portion of it. Because the billing ran automatically and total revenue kept rising, the shortfall was invisible. There was no error and no complaint, just quietly uncollected revenue on usage the customers themselves fully expected to pay for. The longer it ran, the more it compounded across a growing base. Reconciled against actual consumption, the uncaptured overage came to roughly $70k a year of revenue the company had genuinely earned but never billed.

◉ How we produced this finding

Behind the usage billing finding is forensic reconciliation: MarginFix compared what was contracted, delivered, billed and paid until the leak was traced to the exact line, then had a named senior auditor verify it against the client’s own records before it was shared.

Data sources: Contracts, invoices, billing records and delivery or fulfillment logs, reconciled against each other, so the exact gap behind usage billing is traced to the specific line driving it rather than estimated from the top down.

Key frameworks: Line by line ledger and contract reconciliation, unit economics and cost to serve analysis, framed by Forrester Total Economic Impact (TEI) for evidenced business value, cost and risk.

Human validation gate: Every reconciled figure is checked against your own records and signed off by a named senior auditor before it ships. Nothing is reported without a human tracing it to source.

Verified against
Subscription billing Product usage events CRM stage history Finance P&L

The margin recovered / yr was measured like for like over a matched period, reconciled to recognized revenue in the ledger, and signed off by a named senior auditor before publication. Client identity redacted to protect their commercial position.

WORKING PAPER ████████ Usage based
Representative Redacted
Revenue lineUsage invoiced
Base subscriptions
100%
Add on modules
99%
Metered overages
92%
margin recovered / yr +$69,850
Recurring, recovered every year the fix holds, not a one off.
Working paper: billable usage actually invoiced traced line by line and reconciled to recognized revenue in the ledger over a matched period. Line items representative and redacted; the recovered figure is the reconciled audit finding.

What we changed

✓

Fixed the metering configuration so every category of billable overage flows correctly from consumption through to the customer invoice, with nothing recorded for analytics but never charged.

✓

Reconciled historical usage against billing to size the gap precisely and correct the underlying rule at its source rather than patching symptoms.

✓

Introduced a monthly usage to billing reconciliation, so any future metering drift is caught within the period before it compounds across the base.

✓

Added alerting on all billable usage categories, so a configuration change can never silently switch off revenue again.

The result

The outcomes were measured for three months after a 90 day implementation period. The published chart shows billable usage invoiced rising from 92% to 99%, a 7 percentage point increase. The annual figure describes earned usage that had gone unbilled; future capture after the configuration fix is a separate outcome. $70k a year of earned but unbilled revenue recovered, an annual figure equal to 12× the $5,950 Audit + Sprint fee, with no price change and no customer pushback, since it was usage they expected to pay for. For any usage based business, the risk is quiet: automatic billing looks healthy while a config gap leaks revenue with zero visible error. If you’ve never reconciled metered usage to invoices, you may be undercharging a growing base every month. A fixed fee audit reconciles it in days and closes the gap for good.

From kickoff to signed off findings: 6 days.

Portrait photograph of Alex Pop
Reviewed & signed off by:
Alex Pop
Senior Auditor · MarginFix · 10+ years of auditing experience
✓Anonymized to protect the client · senior reviewed findings · Published · Last reviewed

What the client said

B2B SAASApproved Nov 2025

$70k a year found in 6 days

Billable usage actually invoiced: 92% → 99%

“I expected a slide deck. Alex reconciled metered usage against invoices and found a whole category of overages recorded for analytics but never billed. A config fix, no price change, and customers expected to pay for it anyway.”

Head of Growth · B2B SaaS · Usage based
Written approvalUnder NDA6 days to findings
Portrait photograph of Alex PopAlex PopSenior Auditor · signed this audit off
Request an audit → Prefer to talk it through first? Talk to an auditor →