Usage Metering & Billing Pipeline  ·  View 19 of 22  ·  Operations

Billing Period Lifecycle

The ring a period travels, and the only way an issued period re-enters it.

Editable source SVG draw.io All views
Period opens provisional Usage accrues event-time Lateness bound 72 h grace Period closes aggregates final Rated and drafted anomaly gate Invoice issued immutable Billing period per account events land window fills grace elapses priced lines gate clears next period Billing Period Lifecycle Application we own Decision point Data store An issued period re-enters this ring only by authorised restatement, which produces a second figure rather than reopening the first. v 1.0 · owner Architecture Practice · date 2026-10

Decisions

  • A period is provisional from the moment it opens and stays that way until the lateness bound elapses. Provisional is a state, not a caveat in the UI.
  • An issued period re-enters the ring only by authorised restatement, and that produces a second figure rather than reopening the first. The ring therefore has no backward arrow, which is deliberate.
  • The gate between draft and issue is a human one. Everything before it is automatic and everything after it is immutable.

Assumptions

  • Monthly cycles with per-account anchor days (stated assumption), so the close load is spread across the month rather than falling entirely on the first.
  • 72-hour grace before close (stated assumption), which is the same lateness bound the aggregator enforces.

Risks

  • The transition from provisional to closed is where the biggest figure change happens, and it is invisible to the customer unless the delta is published.
  • A period that cannot close because a partition is stalled blocks an invoice run. The failure is operational but the symptom is commercial.