Billing permissions and states
Reference Billing access, account and contract rules, lifecycle transitions, discount approval, and Entity Browser state.
Billing combines a service gate with organization-level view and management capabilities. Lifecycle actions also validate the contract’s current state and commercial prerequisites.
Access and capabilities
| Capability | Typical organization access | What it permits |
|---|---|---|
| View Billing | Member | View billing accounts, contracts, lines, and accessible commercial details. |
| Manage Billing | Administrator | Create and edit accounts and drafts, manage lifecycle actions, and grant or approve discounts. |
| Billing settings and invoice operations | Backend capability only at this revision | No customer-facing settings or invoice route is launched in the Billing browser. |
Billing must be enabled for the organization or specifically for the signed-in user. Disabled routes intentionally respond as unavailable.
Billing-account rules
- The customer must be an entity in the seller organization’s entity registry.
- An organization has at most one billing account for a given customer entity.
- Customer entity is fixed at account creation.
- Language is English or German and controls supported invoice and email language.
- Payment terms (days) accepts 0 through 365.
Contract states
| State | Allowed progression | Effect |
|---|---|---|
| Draft | Activate | Frozen lines can be reviewed; nothing is billed. |
| Active | Suspend or terminate | Billing is in force from the billing start date. |
| Suspended | Resume or terminate | Billing progression pauses under the configured resume policy. |
| Terminated | None | Final state; cannot resume. |
| Superseded | None | A successor contract replaced it without rewriting its history. |
Activation requires a billing start date and at least one contract line. A recurring line cannot have a cadence faster than the contract’s billing period: for example, monthly recurring lines cannot be activated on a quarterly contract.
Snapshot and replacement rules
Contract lines are copied from a published Products plan version at contract creation. Catalog updates do not edit those lines. The domain model supports a successor that marks its predecessor Superseded on activation, but the current customer browser has no successor-creation control.
An optional Engage link must identify a signed, unlinked engagement for the same organization and customer. One engagement cannot be linked to multiple billing contracts.
Discount controls
| Control | Rule |
|---|---|
| Kinds | Percentage, fixed amount, rate override, or waiver. |
| Scope | Specific charge keys or all charges. |
| Duration | Evergreen, date range, first N periods, or until renewal. |
| Approval | The grantor cannot approve the same discount. |
| Rating | Unapproved discounts do not rate. |
| History | Approved discounts retain grant and approval evidence. |
Entity Browser saved state and mutations
Billing accounts, contracts, and contract lines each use their own Entity Browser identity. Search, filters, and sorting are URL-backed query state. Personal fields, widths, aggregates, and layout are stored for the signed-in user and browser.
Those preferences cannot activate, suspend, resume, terminate, or discount a contract. Lifecycle and discount actions are explicit, server-authorized domain commands. After a command, Billing reloads the canonical contract. A shared browser URL reproduces the query, not another user’s permissions or commercial actions.
Lifecycle commands validate the contract state. Discount mutation currently does not: the controls can remain available beyond Draft. Use the documented Draft-stage process and treat later-state discount changes as a product-policy gap, not as an endorsed workflow.
For procedures, see Create a billing account and draft contract and Activate and manage a billing contract.