Skip to main content

Generation rules and examples of Charge Metrics object

Zuora

Generation rules and examples of Charge Metrics object

This article explains the rules for generating the Charge Metrics object and includes examples of various scenarios for generating Charge Metrics objects, such as subscription creation or modification.

Generation rules

The Charge Metrics object is typically generated when subscription rate plan charges (RPCs) are created or updated. Zuora follows these rules when generating the Charge Metrics object:

  • Each Charge Metrics object is linked to a specific service period within a subscription.
  • If multiple RPCs with identical charge details exist for a service period, the Charge Metrics object is associated with the earliest created RPC.
  • If multiple RPCs with different charge details exist for a service period, the Charge Metrics object is associated with the most recently modified RPC.

Example 1: Create a subscription with a single charge

As shown in the following table, a subscription is created with a single charge.

Subscription number Charge number RPC ID Charge start date Charge end date
S1 C1 RPC1 01/01/2025 01/01/2026

When the subscription is created, Zuora creates a Charge Metrics object for the charge. The charge metrics start and end dates are the same as the charge start and end dates.

Charge metrics RPC ID Amendment type Charge metrics start date Charge metrics end date
M1 RPC1 Composite 01/01/2025 01/01/2026

Example 2: Create a subscription with multiple charges

As shown in the following table, a subscription is created with two charges.

Subscription number Charge number RPC ID Charge start date Charge end date
S1 C1 RPC1 01/01/2025 01/01/2026
C2 RPC2 01/01/2025 01/01/2026

When the subscription is created, Zuora creates a Charge Metrics object for each charge. The charge metrics start and end dates are the same as the charge start and end dates.

Charge metrics RPC ID Amendment type Charge metrics start date Charge metrics end date
M1 RPC1 Composite 01/01/2025 01/01/2026
M2 RPC2 Composite 01/01/2025 01/01/2026

Example 3: Update a subscription

When you update a subscription to modify charge details, for example, adjusting charge prices, changing subscription terms, or removing charges, Zuora might generate Charge Metrics objects during these modifications.

The example in this section demonstrates how Zuora manages the Charge Metric object during different types of subscription modifications.

Step 1: Create a subscription with a single charge

As shown in the following table, a subscription is created with a single charge.

Subscription number Charge number RPC ID Price (per month) Charge start date Charge end date
S1 C1 RPC1 $100 01/01/2025 01/01/2026

When the subscription is created, Zuora creates a Charge Metrics object (M1) for RPC1. The charge metrics start and end dates are the same as the charge start and end dates.

Charge metrics RPC ID Amendment type Gross MRR Charge metrics start date Charge metrics end date
M1 RPC1 Composite $100 01/01/2025 01/01/2026

Step 2: Update the charge price

When you update the charge price from $100 to $120 for the service period from 06/01/2025 to 01/01/2026, Zuora generates RPC2 for the first service period from 01/01/2025 to 06/01/2025 and RPC3 for the second service period from 06/01/2025 to 01/01/2026.

Subscription number Charge number RPC ID Price (per month) Charge start date Charge end date
S1 C1 RPC2 $100 01/01/2025 06/01/2025
C1 RPC3 $120 06/01/2025 01/01/2026

As part of this product update, Zuora updates the charge end date of the Charge Metrics object (M1) to 06/01/2025. The object remains linked to RPC1 because both RPC1 and RPC2 include the same service period with identical sell prices and RPC1 was created before RPC2.

Zuora also generates a new Charge Metrics object (M2) for RPC3.

Charge metrics RPC ID Amendment type Gross MRR Charge metrics start date Charge metrics end date
M1 RPC1 Composite $100 01/01/2025 06/01/2025
M2 RPC3 UpdateProduct $120 06/01/2025 01/01/2026

Step 3: Update the subscription term

When you change the subscription term from 12 to 13 months, Zuora generates RPC4 and RPC5. The charge details of RPC4 are the same as RPC2. The only difference between RPC5 and RPC3 is their charge end date.

Subscription number Charge number RPC ID Price (per month) Charge start date Charge end date
S1 C1 RPC4 $100 01/01/2025 06/01/2025
C1 RPC5 $120 06/01/2025 02/01/2026

As part of this term update, Zuora generates a new Charge Metrics object (M3) for RPC5. The charge metrics start date of M3 is 01/01/2026 because the service period from 06/01/2025 to 01/01/2026 is included in M2.

Note that M2 remains linked to RPC3 because RPC3 and RPC5 overlap during the service period from 06/01/2025 to 01/01/2026 with identical sell prices. As a result, RPC3 is selected because it was created before RPC5.

Charge metrics RPC ID Amendment type Gross MRR Charge metrics start date Charge metrics end date
M1 RPC1 Composite $100 01/01/2025 06/01/2025
M2 RPC3 UpdateProduct $120 06/01/2025 01/01/2026
M3 RPC5 TermsAndConditions $120 01/01/2026 02/01/2026

Step 4: Remove the product

When you schedule a product removal for 10/01/2025, Zuora generates RPC6 and RPC7. The charge details of RPC6 are the same as RPC2 and RPC4. The only difference between RPC7 and RPC5 is their charge end date.

Subscription number Charge number RPC ID Price (per month) Charge start date Charge end date
S1 C1 RPC6 $100 01/01/2025 06/01/2025
C1 RPC7 $120 06/01/2025 10/01/2025

As part of this product removal, Zuora updates the charge metrics end date for M2 and generates a new Charge Metrics object (M4) for RPC7. The gross MRR value of M4 is $0.

The Charge Metrics object M3, which links to RPC5, is deprecated because its service period is overridden by RPC7.

Charge metrics RPC ID Amendment type Gross MRR Charge metrics start date Charge metrics end date
M1 RPC1 Composite $100 01/01/2025 06/01/2025
M2 RPC3 UpdateProduct $120 06/01/2025 10/01/2025
M4 RPC7 RemoveProduct $0 10/01/2025 02/01/2026

In this example, Zuora generates a total of seven RPCs. After the last step, only three of them have corresponding Charge Metrics objects.