All articles

· 6 min read

Overage or hard cap: how to price usage above the allowance

How to decide between stopping customers at their plan allowance and billing them for extra usage, and how NicelyBilled's Allow overage, tiers and daily limits work.

A customer on your plan includes 1,000 units a month. On the 20th they hit 1,000. What should happen next?

You have two honest choices. Stop them at the limit, or let them carry on and bill the extra. Both are fine. The mistake is not deciding, and then finding out at invoice time that the setting does something you did not intend.

This article covers how NicelyBilled handles each choice, and how to pick.

The setting that decides: Allow overage

Each metered feature on a plan has an Allow overage setting. It controls what happens once the included allowance is used up. The Pricing & overage help page describes both states.

  • Off (the default). The feature is hard-capped. Usage beyond the allowance is never charged.
  • On. Usage beyond the allowance is billed on overage tiers that you set.

When overage is on, the extra usage shows up as an Excess Usage line on the customer's next invoice. When it is off, nothing extra is billed.

Who enforces the cap

This part catches people out. A hard cap in NicelyBilled means "we will not bill past this point". It does not mean NicelyBilled blocks the customer. Your own app is expected to stop the customer at the limit.

NicelyBilled still records the real usage either way. On a hard-capped feature, if your app lets usage through, the customer's balance goes negative. That is not an error. It lets you see exactly how far over a customer went. It just is not billed. See Usage processing.

Your app also never sees a price. It only sees the allowance and the remaining balance. So the stop-or-continue logic in your product works from the balance, and the pricing stays in NicelyBilled.

When a hard cap makes sense

A hard cap is the simpler promise. The customer pays a known amount and the invoice never surprises them. Consider it when:

  • Your costs per unit are small and a bit of overuse does not hurt.
  • Your customers are cautious about bills they cannot predict.
  • You would rather have an upgrade conversation than an overage invoice.

The cost is friction. A customer who hits the wall mid-month may be annoyed, or may leave. Because over-cap usage is still recorded, you can look at who keeps bumping the limit and offer them a bigger plan.

One more point: features that track peak (max-usage) are always hard-capped. Allow overage is not available for them.

When to bill overage

Overage suits you when usage varies a lot between customers and you do not want to stop a paying customer from working. The customer keeps going and you are paid for the extra. It also means your biggest users pay in proportion, without you creating a dozen plan sizes.

The cost is bill shock. If someone is charged far more than they expected, you will get an unhappy email, or a dispute. Say plainly on your pricing page what happens above the allowance.

Setting up overage tiers

With Allow overage on, you set overage tiers. They are set per market, and the panel shows which market you are editing. Each tier has:

  • Label, a display name such as 1–1000. It fills in from the range if you leave it empty.
  • Price, in the market's currency.
  • From, the start of the range, inclusive.
  • To (0=∞), the end of the range. Zero means open-ended.

Click + Add tier to add a band. It starts just after the previous one. The trash icon removes a tier, but you must keep at least one. Tiers are graduated: as overage grows, it fills each band in turn.

End with an open-ended tier

If your last tier has an upper limit, usage above it is not charged at all. The editor warns you in red. Add a final tier with To set to 0 to cover everything above.

Block pricing or per-unit pricing

This is where most mispricing happens. A toggle called Pro-rata overage pricing (only available when Allow overage is on) decides how a tier's Price applies.

Block pricing is the default, with Pro-rata off. The tier's Price is charged per block, where the block is the size of the tier's range. Any usage that reaches into a band charges that band's full Price. The open-ended band charges its Price per block and rounds a partial block up. This suits "buy in packs" pricing.

Per-unit pricing is Pro-rata on. The Price is spread evenly across the band (Price divided by band size), and the customer pays only for units actually used.

The easy trap: with Pro-rata off, a tier of 1–1000 at $10 means $10 for the whole block, roughly $0.01 a unit. It does not mean $10 per unit. If you mean "$X per unit", turn Pro-rata on, or set the Price to the per-unit amount and use single-unit bands.

A worked example

The help page uses tiers of 1–50 at $50 and 51 onwards at $100, so the block size is 50. The customer goes 102 units over.

  • Block pricing: $50 for the first block, $100 for units 51 to 100, and $100 for units 101 and 102 (rounded up to a full block). Total $250.
  • Per-unit pricing: 50 units at $1 plus 52 units at $2. Total $154.

Same tiers, same usage, a $96 difference. Pick on purpose, and check the worked example shown by the help icon next to Overage tiers for your own numbers before you publish.

Block pricing is easier to explain when you sell packs. Per-unit feels fairer to customers who only just tipped over.

Daily limits: a cap that overage cannot lift

A daily limit is a separate, optional control. It is a hard cap per feature, per day.

  • A day runs midnight to midnight in the account's timezone, set on Account Info.
  • Usage over the day's limit is still recorded. It is never taken from the allowance and never billed.
  • It is a hard cap whether Allow overage is on or off.

So you can allow paid overage across the month and still stop a runaway script from burning through thousands of units in one afternoon. As with the other cap, your app does the stopping.

Some limits to know. Daily limits are not available on fixed-price features, peak (max-usage) features or flex plans. A recurring add-on with a daily limit adds to the main plan's limit, multiplied by the add-on quantity. A main limit of 100 plus 2 add-ons with a limit of 50 each gives 200 a day. Flex top-ups do not change the daily limit.

If you change a daily limit, new subscribers get it straight away. Existing subscribers get it from their next renewal.

To watch usage, the Today column on an account's Usage & Balance tab shows usage for the day. The help also describes a Daily limit reached option for getting told when a customer hits the limit.

A simple way to choose

  1. Start with a hard cap if you are unsure. It is the default and it cannot produce a surprise invoice.
  2. Look at the recorded over-cap usage after a cycle or two. If many customers go well past the limit, that is demand you could bill for.
  3. Turn on overage with a clear tier, decide block or per-unit, and always finish with an open-ended tier.
  4. Add a daily limit if one customer's burst could hurt you.

Before you go live, run your own numbers through the help icon's worked example on a test plan.