Billing leak checklist: 12 places recurring revenue slips
Provisioning knows what customers have. Billing knows what they pay for. Between the two, money leaks in both directions. These are the twelve places we check first on every reconciliation audit, with the exact comparison that finds each one. Use it on your own exports; it takes an afternoon with a spreadsheet, or minutes once it is automated.
Setup fee charged, recurring never started
What it is. The install was billed as a one-off, but the monthly seat or plan line was never added. The customer is live and paying nothing per month.
How to find it. Accounts with a one-time install or setup charge in the last 12 months and no recurring line of the same product family. Compare the billing export against the provisioning platform's active seat count.
Typical size: Dozens of accounts at a mid-size provider; roughly $10K to $15K a month in one audit.
Cancelled in the platform, still billing
What it is. The account or location was disconnected in provisioning, but billing was never told, or the termination was dated wrong.
How to find it. Provisioned seat count of zero (or a deleted account) with a non-zero recurring charge. Also check cancellation tickets older than 30 days against open invoices.
Typical size: About $1K a month of post-cancellation billing on day one of one audit.
Closed locations that still hold seats
What it is. A site shut down, the people left, the seats were never removed. Sometimes billed, sometimes free, always wrong.
How to find it. Locations with no call activity or no registered devices for 60 days that still have seats assigned.
Typical size: A few seats per closed site, across every closed site you have ever had.
Rented equipment that never came back
What it is. Phones, gateways or routers rented monthly. The customer left, the hardware stayed with them, and the rental line was cancelled with the account.
How to find it. Cancelled accounts with equipment rental lines in their history and no return record or RMA.
Typical size: Equipment value plus the months it was billed for nothing.
Seat-type mismatch
What it is. A premium seat provisioned, a basic seat billed. Or the reverse: the customer pays for features they never got.
How to find it. Group provisioned seats by type and map each type to a billing product. Any account where the counts per type differ in either direction.
Typical size: The largest single source of under-billing we have found: six figures a year on one parent account.
Add-ons provisioned, not billed
What it is. Call recording, fax, extra DIDs, international packages, SMS. Turned on in the platform by support to solve a ticket, never added to the invoice.
How to find it. Feature flags and add-on counts per account versus add-on products on the invoice.
Typical size: Small per account, broad across the base.
Parent and child accounts that disagree
What it is. Seats provisioned under a child account, billed under the parent, or not at all because each side assumes the other has it.
How to find it. Walk the whole account tree on both sides and reconcile at the leaf level, then roll up. Never compare totals only.
Typical size: Reseller trees with hundreds of sub-accounts hide the most.
Ported-out numbers still billed
What it is. The customer moved numbers to another carrier. The port completed, the DIDs were released, the per-number charge stayed.
How to find it. DIDs on invoices that are no longer present in the platform's number inventory.
Typical size: Per-number charges, often for years.
Promotions and trials that never ended
What it is. A discount or free period applied at signup with an end date nobody tracked.
How to find it. Discount lines older than their intended term; accounts with 100% discount and active seats.
Typical size: Usually a handful of accounts, each one large.
Price book drift
What it is. List prices changed, existing accounts were never re-rated, or a custom rate was typed once and never reviewed.
How to find it. Per-product unit price on invoices versus the current price book, grouped by contract date.
Typical size: Low per line, high in aggregate.
Manual credits that were never reversed
What it is. A one-time credit entered as recurring, or a 'temporary' adjustment that became permanent.
How to find it. Recurring credit lines and adjustments with no end date or ticket reference.
Typical size: Easy to find, awkward to explain, worth the conversation.
Duplicate or orphaned accounts
What it is. The same customer exists twice, one record billed and one provisioned, or an account exists in billing with nothing behind it.
How to find it. Fuzzy-match company names, domains and billing contacts across both systems; list accounts that exist on one side only.
Typical size: A cleanup job more than a revenue job, but it prevents the other eleven from coming back.
Get the printable checklist
A two-page PDF with all twelve, the comparison for each, and a column to note what you found. We email it to you from hello@tightlywired.com. No newsletter unless you ask for one.
Your email is used to send the checklist and, if you reply, to answer you. See the privacy page.
What to do with what you find
Most teams find items 1, 2 and 5 within the first hour. Rank the gaps by dollars per month, fix the data on the provisioning side first (so the problem does not come back), then correct billing. Under-billing is a conversation with the customer; over-billing is a credit and an apology. Both are easier with a workbook that shows exactly which seat, which month and which product.
If you would rather not spend the afternoon, the billing reconciliation audit runs this list through your platform and billing APIs in one to two weeks for a fixed fee, and leaves you a tool to re-run it quarterly.
Want it run on your accounts?
Bring one account you suspect is wrong to a free 30-minute call. We'll tell you what the audit would find before you pay anything.
Schedule an assessment Pick a time now · or write to hello@tightlywired.com