Dynamic pricing for individual usage records
Supports Dynamic Pricing for usage charges in individual rating by explaining how to configure and rate usage charges priced per individual usage record, including prerequisites, catalog setup, and usage file requirements.
When a usage charge has Dynamic Pricing enabled and its pricing attributes are based on Usage object fields, the price of each usage record is determined at rating time rather than at subscription time.
For these charges, Zuora Billing rates each usage record individually, even for Tiered and Volume usage models. For every record, Billing looks up the correct price in the product catalog based on the pricing attribute values and the usage event's effective date, applies any configured min/max price constraints, and then calculates the rated amount that appears on invoices.
This behavior complements Dynamic Pricing support for subscription creation and renewal in Orders and negotiated price tables in the product catalog.
Prerequisites
Before you can use Dynamic Pricing for individually rated usage charges in Billing:
- Orders must be enabled, or Order Harmonization must be enabled and you are using the Orders UI or the Orders API to manage subscriptions with Dynamic Pricing.
- The usage charge is configured in the product catalog with Dynamic Pricing enabled, and its pricing attributes are mapped to fields on the Usage object.
- The usage charge rating group is set to By usage record. Even for Tiered or Volume usage charge models, each usage record is rated independently.
- Advanced Consumption Billing is turned off for tenants that upload dynamic pricing usage directly into Billing. Contact Zuora Global Support.
- If you do not plan to use negotiated price tables for a particular usage charge, do not define the reserved
CustomerReferencepricing attribute on that charge in the product catalog.
Pre-configuration in the product catalog
To configure a usage charge for individual-record Dynamic Pricing:
- In the product catalog, create or edit a usage charge and enable Dynamic Pricing.
- On the Context & Attributes page, define pricing attributes and map them to Usage object fields. For example, you might map UsageType and UsageState pricing attributes to Usage custom fields USAGETYPE__C and USAGESTATE__C
- Set the usage charge rating group to By usage record. This setting ensures that every usage record is evaluated and rated individually, even if the charge model is Tiered or Volume.
- If you plan to use negotiated price tables with this usage charge:
- Define the reserved external attribute
CustomerReferenceas described in the negotiated price table documentation. - Do not supply a value for
CustomerReferencein Orders payloads or usage files; Zuora sets this value automatically.
- Define the reserved external attribute
- If you do not plan to use negotiated price tables, do not define
CustomerReferenceas an attribute for the charge.