Metered billing, explained with a real calculation
Metered billing charges a customer for measured consumption — API calls, messages, gigabytes, tokens — counted over a billing period and invoiced in arrears at the rates in their contract. The meter decides the quantity; the price list decides what it costs.
Bunny is SaaS billing, CPQ and RevOps for B2B SaaS. Bunny billing meters usage on the same subscription as your seats and platform fees, so one invoice covers the whole deal.
Metered billing vs usage-based billing vs consumption billing
The three terms get used interchangeably, and mostly that’s fine. But they point at different parts of the same idea, and the difference matters when you’re writing a contract or choosing a system.
| Term | Metered billing | Usage-based billing | Consumption billing |
|---|---|---|---|
| What it describes | The mechanism: measuring a unit and billing the measured quantity | The pricing model: what the customer pays scales with what they use | Usage drawn down against a committed or prepaid amount |
| Typical shape | Per-unit rate on a meter, billed in arrears each period | Pay-as-you-go, tiered, or a platform fee plus usage | Annual commitment, consumption tracked against it, overage above |
| Example | SMS API at $0.008 per message sent | $500/month platform fee plus API calls above 100,000 | Data platform contract with a $120K yearly spend commitment |
| Who says it | Billing and engineering teams; utilities | Pricing, product and go-to-market teams | Infrastructure and data vendors, enterprise procurement |
Short version: usage-based billing is the what, metered billing is the how. Every usage-based price needs a meter behind it — something that counts events reliably and hands the count to billing. That counting is usage metering, and it’s the part that has to survive a customer disputing their invoice.
How is a metered bill calculated?
Take a messaging API on a hybrid plan: a $500 monthly platform fee billed in advance, plus SMS billed in arrears on tiered rates. Here is March, start to finish.
Step 1. Count the usage
The product reports usage as it happens, or as weekly totals. At period end the meter aggregates the records. For messages sent you add them up; for something like peak concurrent users you’d take the maximum instead. Same records, very different bill:
| Usage record | Messages |
|---|---|
| Week to Mar 7 | 15,000 |
| Week to Mar 14 | 21,000 |
| Week to Mar 21 | 18,500 |
| Mar 22–31 | 18,000 |
| Sum — used here | 72,500 |
| Max | 21,000 |
| Last | 18,000 |
| Average | 18,125 |
Step 2. Rate it against the price list
The contract prices SMS in three tiers. With tiered pricing each tier is priced on its own, so the customer pays the higher rates for the first messages and the lower rate only above 50,000.
| Tier | Rate | Messages in tier | Amount |
|---|---|---|---|
| 1 – 10,000 | $0.010 | 10,000 | $100.00 |
| 10,001 – 50,000 | $0.008 | 40,000 | $320.00 |
| 50,001 + | $0.006 | 22,500 | $135.00 |
| SMS usage, March | 72,500 | $555.00 | |
Had the contract used volume pricing instead, reaching the third tier would reprice every message at $0.006: 72,500 × $0.006 = $435. Same usage, $120 less. That is why tiered pricing is the usual choice for metered charges.
Step 3. Put it on the invoice
Why the dates don’t match
Recurring fees bill for the period ahead; metered charges bill for the period just finished. Good billing puts both on one invoice so the customer pays once a month, not twice.
How metered billing works in Bunny
The example above is a standard Bunny price list. Here’s the setup, end to end.
- 1 Define the meter. Create a feature such as “SMS” and mark it as a unit, with as many decimal places as the price needs.
- 2 Price it. Add a usage-based charge to the price list — flat, tiered, volume or banded — pick sum, max, last or average, and set a minimum if the contract has one.
-
3
Report usage. Your app calls
featureUsageCreatethrough the GraphQL API or the Node.js and Ruby SDKs. - 4 Let the bill run do the rest. After 8:15 a.m. in your entity’s timezone, Bunny aggregates, rates, taxes and invoices — with draft invoices available for accounts you want to approve first.
Selling seats and usage together, or negotiating rates per customer? See usage-based billing software in Bunny for hybrid plans, AI token pricing and committed spend.
Where metered billing goes wrong
The RevOps expert your team never had.
- Type "send upgrade quotes to all starter plan accounts" — done in seconds
- Know which renewals need you this month, while there is still time to do something about it
- Find every overdue invoice in one question, instead of one account at a time
No credit card required. Cancel anytime.