Prices and Price Tiers
A price is the fundamental monetary record in the PCM module. Each price is associated with a catalogue item and defines how much that item costs, in what currency, and under what billing model. Prices exist independently of price lists — they are linked to lists through price list lines and versions.
Price structure
Each price record carries:
- Catalogue item — the item being priced
- Currency — the currency of the amounts
- Amounts — up to three amount fields, allowing a single price to carry multiple cost components (e.g. base price, setup fee, additional cost component) without requiring separate rows
- Billing recurrence — whether the charge is one-time or recurring
- Priority — determines precedence when multiple prices could apply
- Calculation details — extended pricing logic for complex scenarios
Billing models
The PCM module supports two fundamental billing approaches:
One-time billing
A single charge applied once — for example, an implementation fee or a product purchase.
Recurring billing
A charge that repeats at a defined interval. Recurring prices are further configured by:
- Interval — the time unit (day, week, month, or year) and count (e.g. every 3 months)
- Scheme — how the charge is calculated: per-unit (fixed rate times quantity) or tiered (quantity-based pricing bands)
- Usage type — whether billing is licensed (fixed quantity agreed up front) or metered (based on actual usage)
Tiered pricing
When a price uses the tiered billing scheme, price tiers define volume-based pricing bands. Each tier specifies:
- Fixed amount — a flat fee charged for this tier
- Per-unit amount — the rate applied to each unit within this tier
- Range maximum — the upper bound of the tier (in units)
How tiered pricing works
Tiers define ascending quantity bands. For example, a price with three tiers:
| Tier | Range max | Fixed amount | Per-unit amount |
|---|---|---|---|
| 1 | 100 | 0 | 10.00 |
| 2 | 500 | 50.00 | 8.00 |
| 3 | (unlimited) | 100.00 | 5.00 |
When calculating the charge for a given quantity, the system walks through tiers in order of their range maximum. Each tier may apply both a fixed component and a per-unit component for the units falling within that band.
This structure supports common pricing patterns:
- Volume discounts — lower per-unit rates at higher quantities
- Flat-fee tiers — fixed charges that apply once a threshold is reached
- Hybrid models — combining fixed and variable components within each band
Usage-based (metered) pricing
For metered billing, prices reference an aggregation rule that defines how raw usage events are collected and summarised into a billable quantity.
Each aggregation rule specifies:
- Usage event code — the type of usage event to aggregate
- Customer source — where to find the customer identifier in the event
- Value source — how the billable value is extracted from each event
- Aggregation formula — the function used to combine events (e.g. SUM, COUNT, MAX)
- Version — rules are versioned, allowing them to evolve over time
Aggregation rules can have rule lines that define additional event sources or secondary aggregation steps, each with their own event code, source, and formula. This two-level structure supports complex metering scenarios — for example, aggregating API calls by endpoint while also tracking data transfer volume from a different event source.
Related topics
- PCM Data Model Overview
- Price Lists and Versions — how prices are grouped into lists
- Price List Rules — how rules modify base prices