Enrichment as a processor
The Enrichment processor in Zuora Mediation is used to add data, such as the subscription ID, charge number, or unit of measure to the event, based on selected attributes on the event.
Enrichment methods
Zuora offers the following methods to enrich events with subscription and charge metadata::
Enrich events with Product or Account data
This method allows enrichment based on standard Zuora metadata such as product catalog, accounts, subscriptions, and charges. A prefetch mechanism retrieves all relevant data for an event. By default, this method includes all charge types, including usage, recurring, and one-time charges. It also includes all charge segments, meaning even outdated or expired segments may be matched unless filtered out.
Filters are available to help narrow down the results. For example, to limit results to usage charges, or use the event time to pick the appropriate charge segment. This method is best suited for cases that require full context around billing, rating, or the lifecycle of the subscription.
Enrich events using Account Number and Charge Name or Subscription ID
This method enriches events by performing a lookup based on identifiers such as account number, charge name, or subscription ID. It is a lightweight approach designed for speed and simplicity. The enrichment is limited to usage charges only; recurring and one-time charges are not considered.
In this method, the configuration options are limited. This method can be used in cases where the event data already contains precise identifiers and the enrichment does not require complex logic or additional metadata.
Configure an Enrichment processor with Product or Account data
You can use this method for enrichment based on standard Zuora metadata such as product catalog, accounts, subscriptions, and charges. To configure an Enrichment processor:
- Navigate to Mediation > Meters.
- Create a new Custom meter.
- Select and drag the Enrichment processor type on to the meter stream page.
The enrichment settings page is displayed.

- On the Enrichment settings page, enter a name for the processor.
- Under Enrichment Options, select Enrich events using Product or Account data.
- Under Reference Object, select either Account or Product as the source for enrichment.
The fields from the selected reference object are used to match and fetch additional data into the event. - Specify the Field Mapping.
Field mappings define the join logic, how event records should be matched to reference data.- Event Field: The field from the event stream. Examples: accountNumber, productSKU.
- Reference Field: The corresponding field from the reference object to be matched.
This is equivalent to a SQL join ON event.accountNumber = account.accountNumber. You can add multiple field mappings to create composite joins, such as accountNumber and region.
- Specify the Fields To Append.
Defines which fields from the reference data should be appended to the event.- Reference Field: The Account or Product field that you want to fetch.
- Event Field Name: The name of the field in the enriched event.
Example: Append accountType from Account object as enriched_account_type.
- Select an Output Option to specify the events that are returned after enrichment.
- Include all events: Allows events to pass through even if no match is found in the reference data.
- Include usage charges only: Filters results to include only usage charges. This is useful when enrichment is intended solely for usage-based billing scenarios.
- Use event time to match charge segment: Ensures a charge segment is selected based on the event’s timestamp, which is important when rate plan charges have multiple time-based segments. If not selected, the system uses the latest timestamp while processing these records.
Example of a Charge Segment:Start Date End Date Price per Unit Jan 01, 2024 Dec 31, 2024 $1 Jan 01, 2025 Ongoing $2 -
If the Use event time to match charge segment checkbox is enabled and availableTime is chosen as, say November 2024, the system picks $1. If the checkbox is disabled, the system picks $2.
- Click Save to create the Enrichment processor.
Configure an Enrichment processor that uses standard identifiers
You can use this method to enrich events by performing a lookup based on identifiers such as account number, charge name, or subscription ID. To configure an Enrichment processor:
- Navigate to Mediation > Meters.
- Create a new Custom meter.
- Select and drag the Enrichment processor type on to the meter stream page.
- On the Enrichment settings page, enter a name for the processor.
- Under Enrichment Options, select Enrich events using Account Number and Charge Name or Subscription Id.
- Under Enrichment Input, select either Account Number & Charge Name or Subscription ID as the source for enrichment.
- Select values from the Account Number Field, Charge Name Field, or Subscription ID drop-down lists.
The matching charge details from Zuora’s catalog are retrieved based on the selections. - The Enrichment Output section displays the fields that will be appended to the event.
You cannot make any configuration changes in this section.- rateCardId: Unique identifier of the rate card.
- uom: Unit of measure. Examples: MB, GB, API calls.
- chargeNumber: Internal charge reference.
- subscriptionNumber: Related subscription number.
- accountNumber: Related account number.
-
Select an Output Option to specify the events that are returned after enrichment.
-
Include all events: Include events that did not match any field mapping.
Default: Unchecked. -
Include usage charges only: Restricts to usage charges For example, excludes recurring.
Default: Checked and disabled. -
Use event time to match charge segment: Uses eventTime to select the charge segment within its effective period.
Default: Uses latest timestamp to identify the charge segment, if not provided.
-
-
Click Save to create the Enrichment processor.
