Bunny billing

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.

Definitions

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.

Metered billing, usage-based billing and consumption billing compared
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.

Worked example

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:

March usage records and how each aggregation method counts them
Usage record Messages
Week to Mar 715,000
Week to Mar 1421,000
Week to Mar 2118,500
Mar 22–3118,000
Sum — used here72,500
Max21,000
Last18,000
Average18,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.

Tiered rating of 72,500 messages
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

Platform fee, April (in advance) $500.00
SMS, 72,500 messages in March (in arrears) $555.00
April 1 invoice, before tax $1,055.00

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.

In Bunny

How metered billing works in Bunny

The example above is a standard Bunny price list. Here’s the setup, end to end.

  1. 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. 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. 3 Report usage. Your app calls featureUsageCreate through the GraphQL API or the Node.js and Ruby SDKs.
  4. 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

Late records Usage that arrives after the bill run misses the invoice. Give your pipeline a cut-off before the run, and review drafts for the accounts where it matters.
Double counting Retried submissions inflate the meter. Send each record once from a single place, and fix mistakes with an update or delete rather than a compensating record.
The wrong aggregation Summing a daily active-user count bills thirty times too much. Match sum, max, last or average to what the unit actually means.
Invoices nobody can read 72,500 × a blended rate invites a dispute. Price in the unit you sell, and give customers a view of their usage before the invoice lands.
Free trial

The RevOps expert your team never had.

Ask it anything about your book of business, and it answers from your live data. Point it at the renewal that needs a quote and it drafts one. All the digging, none of the digging.
  • 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
Try free for 30 days

No credit card required. Cancel anytime.

FAQ

Frequently asked questions

What is metered billing?
Metered billing charges a customer for measured consumption of a service, such as API calls, messages, storage or tokens. Usage is counted over a billing period, priced at the contracted rates and invoiced in arrears once the period ends.
What is the difference between metered billing and usage-based billing?
Usage-based billing is the pricing model: what the customer pays scales with what they use. Metered billing is the mechanism that makes it work: measuring a unit, aggregating it for the period and billing the result. Every usage-based price needs a meter behind it.
What is consumption billing?
Consumption billing usually describes usage drawn down against a committed or prepaid amount, common with infrastructure and data platforms. The customer commits to a spend, consumption is tracked against it, and usage above the commitment is billed as overage.
Is metered billing charged in advance or in arrears?
In arrears. Usage is only known once the period has ended, so metered charges are invoiced after the fact. Recurring fees, by contrast, are billed in advance, which is why a hybrid plan's invoice usually covers next month's platform fee and last month's usage.
Should metered charges use tiered or volume pricing?
Tiered pricing is the usual choice. Each tier is priced on its own, so crossing a threshold only lowers the rate on the units above it. Volume pricing reprices every unit at the tier reached, which can make a bigger month cheaper than a smaller one.
How do I send metered usage to Bunny?
Define a feature as a unit, add a usage-based charge to the price list, and report usage records with the featureUsageCreate GraphQL mutation or the Node.js and Ruby SDKs. Records can also be entered by hand in the usage records table.
Can metered usage and subscription fees be on the same invoice?
Yes. In Bunny a price list can mix recurring and usage-based charges, so the platform fee billed in advance and the metered usage billed in arrears appear on the same invoice.