Skip to main content
Per-event billing generates a separate invoice for every usage event you submit. As soon as an event is received, it is billed on its own, so one event produces one invoice. This is ideal when each event represents a discrete, individually-billable transaction and you want the invoice to map exactly to the event that triggered it.

How per-event billing works

Every usage event generates its own invoice (one event, one invoice)
Invoices are generated as soon as the event is received
Set per product, so a single billing schedule can mix per-event and other billing frequencies

How it differs from on-demand billing

On-demand billing aggregates usage over a window (hourly or daily) and produces one invoice per window. Per-event billing does not aggregate. Each event is billed independently and immediately.
On-demand (hourly/daily)Per-event
Invoice groupingOne invoice per hour/day windowOne invoice per event
TimingAt the close of each windowAs soon as the event is received
Deduplication by customerEventIdYes, only the latest event in a window is countedNo, every submission is billed

Getting started with per-event billing

  1. Create a usage metric.
  2. Configure a product and price with a usage-based pricing model.
  3. Set the billing frequency to per-event on the product.
  4. Create and start a billing schedule including the new price.
  5. Submit an event for the customer and metric used in the price.
  6. An invoice is generated for that event as soon as it is received.
Per-event billing is only compatible with usage-based pricing models. It is configured per product, so you can mix per-event products and on-demand products within the same billing schedule.

Deduplication and re-submitting events

Per-event billing does not deduplicate by customerEventId. Because every submission is billed on its own, re-sending an event with the same customerEventId generates an additional invoice rather than replacing the original, and re-sending with a changed eventTimestamp charges the customer again. This differs from monthly and on-demand billing, where only the latest event for each customerEventId is counted.As a result, customerEventId cannot be used as an idempotency key with per-event billing. Only submit an event once, and do not attempt to correct an event by re-submitting it. Contact support to correct an already-issued invoice.

Example use cases

  • Transactional billing: Bill customers for each individual transaction as it happens
  • One-to-one invoicing: Where each event must map to exactly one invoice for reconciliation

Frequently asked questions

An invoice is generated for each event as soon as it is received. There is no aggregation window.
Both submissions are billed, producing two invoices. Per-event billing does not deduplicate by customerEventId, so only submit each event once. Contact support to correct an already-issued invoice.
Yes. Billing frequency is set per product, so a single billing schedule can include some products billed per-event and others billed on-demand.
No. Per-event billing is only available for usage-based prices.