Skip to main content
GullySystem
A practical guide

Usage Above the Plan: Why Overages Go Unbilled

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

Overage goes unbilled when usage records stop matching the plan at some hand-off. The usual gaps are events dropped before rating, a plan allowance that is read wrongly, a rated charge that never becomes an invoice line, and credits that cancel it. Trace one account from meter to invoice to find which gap you have.

Start with one account, not the whole ledger

Pick a customer you know went over their plan last month. A tenant with a noisy API key or a mobile line with heavy roaming works well. Pull the raw usage from the platform for that account and add it up by hand.

Now find the same account on its invoice. Compare the two totals. Do this before reading a single line of the billing code, because the numbers will point you to the right layer faster than any architecture diagram. The difference is your leak, and its size tells you where to look first.

A large gap usually means a whole class of events never arrived. A small gap suggests rounding, a late cut-off or a credit applied by mistake.

  • Raw meter export for one billing period
  • The plan record with included units and the overage rate
  • The rated usage file, if you keep one
  • The invoice and any credit notes for the same account

Where the events go missing before rating

Metering agents fail quietly. A collector pod restarts, a Kafka topic hits retention, or a call detail record file arrives with a bad header and the loader skips it. Nobody sees an error because nothing was billed from the missing rows anyway.

Check for duplicates too, because the fix for duplicates often deletes real events. Count events per hour for the account and look for flat stretches. A flat line in the middle of a busy week is a dropped feed. Compare the count with the same hour on the previous Tuesday, since a feed that is half its normal volume is as telling as a feed that is empty.

Time zones cause more damage than people expect. Usage stamped in UTC but cut off at local midnight pushes the last hours into a period nobody invoices. Check the offset on the meter, the rating job and the invoice run, because all three can disagree without any one of them being wrong.

  • Collector restarts and queue retention
  • Rejected files from a carrier or partner
  • Events with a missing account or tenant ID
  • Cut-off set in a different time zone than the meter

Where the plan allowance gets read wrongly

Rating compares usage with what the plan includes. If the plan table holds the allowance in gigabytes but the meter reports bytes, nothing looks over the limit. The reverse error bills everyone, and support quietly credits it back. Check both directions, because a unit mismatch that overbills small customers usually gets fixed within a week while one that underbills large customers can run for years.

Mid-cycle changes are the next trap. A customer upgrades on the twentieth and the system prorates the fee but still applies the old allowance to the whole month. Pooled allowances across several subscriptions, or a rollover of unused units, add more ways to land on zero.

Read the rating rule for one over-limit account line by line. Write down the allowance it used, the unit it assumed and the tier it picked.

Where a rated charge never becomes an invoice line

Some overage is rated correctly and then sits in a table waiting for a job. Usage that arrives after the invoice run closes is the classic case. The late-usage file is rated, but no later run picks it up.

Ask what happens to charges below a minimum, to accounts on a manual invoice, and to enterprise contracts billed from a signed order form. Each one tends to bypass the standard run. Enterprise deals billed from a signed order form are the biggest risk. Finance raises those invoices by hand from a spreadsheet, and the overage tab is easy to forget.

Run a query for rated charges with no invoice line ID. Anything that appears is revenue already earned and not collected.

  • Late usage after the invoice run closed
  • Accounts invoiced by hand from a contract
  • Charges below a minimum invoice amount
  • Rated rows with no invoice line ID

Close the gap and keep it closed

Add a monthly reconciliation of three totals: metered usage, rated usage and invoiced usage. Any difference beyond a small tolerance goes to a named owner. The check takes minutes once it is a saved report. Put the report in front of the billing owner and the head of engineering together, so a mismatch becomes a shared problem rather than a blame exercise.

Review credits that touch usage lines. A credit given for goodwill is fine, but a credit that wipes overage needs a reason code and an approver.

This week, run the one-account trace for your three largest customers and write down each gap you find.

Usage-to-invoice trace sheet

A one-page worksheet, one line per account and five columns: raw metered units, rated units, invoiced units, difference and cause. Beneath it, every gap type from this article gets a tick box and an owner. A footer holds the monthly reconciliation sign-off.

Open a blank worksheet to print

Questions owners ask

How often should usage be reconciled against invoices?

Every billing period, before invoices go out. A saved report comparing metered, rated and invoiced totals per account makes it a short task. Large accounts can be checked weekly during the first months.

Why does overage billing fail more on telecom than on SaaS?

Telecom depends on files from carriers and partners, each with its own format and delay. SaaS usually owns the meter. Both fail at the hand-off between rating and invoice.

Should late usage be billed in the next invoice?

Usually yes, if the contract allows it. Rate it with the original period’s plan, then add it as a clearly labelled line so the customer can match it to their own records.

Who should own overage leaks?

Billing operations should own the reconciliation. Engineering fixes the meter and the pipeline, and finance approves any write-off of unbilled usage.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements