Skip to main content

Charge Models

Zuora

Charge Models

Overview

Each product rate plan charge has a charge model that determines how charges are calculated. Zuora Billing supports a variety of charge models, including flat fee, per unit, volume pricing, tiered, overage, tiered with overage, and overage smoothing charge model (with rolling window and rollover). A charge model is available after you have activated it on the Zuora Billing Admin Enable Charge Types / Models setting page.

Flat Fee Charge Model

Flat fee is the simplest charge model. In this model, the amount to charge is a single price (that is, a fixed amount) applied on a one-time or recurring basis. An example of a flat fee charge model would be a gym membership that costs $50 per month.

Per Unit Charge Model

With the per unit charge model, the amount to charge is expressed as a price per unit. The price is calculated based on the quantity of a service or product purchased by the customer, where the total price charged per period would be the quantity multiplied by the per-unit price. An example of a per unit charge would be a software-as-a-service vendor that charges $50 per user per month for their service.

Per unit pricing can be used with one-time, recurring, or usage charges.

Discount Charge Models

The discount charge models provide you the ability to handle discounts and promotions, as well as automatically control the duration of time the discount should be applied. Zuora product catalog supports two types of discount charge models, Discount-Fixed Amount and Discount-Percentage. 

See Discount Charge Models for detailed information about the Discount charge models.

Volume Pricing Charge Model

With a volume pricing charge model, the price to be charged is based on the volume purchased. When setting up a volume charge model, a price table is used to define the pricing for each range of volumes, as well as the pricing rule to apply if the customer purchases a quantity that falls within the range of that tier. Each tier is defined by a starting unit, an ending unit, a list price, and a price format (which can be either flat fee or per unit).

For example, if the user purchases anywhere from 0-50 licenses, they will be charged per unit price of $120 (5 units x $120 per unit = $600) . However, if the user purchases anywhere from 51 – 100 units, they will be charged a per unit price of $100 (60 units x $100 per unit = $6000).

Volume pricing models can be used with one-time, recurring, or usage charges.

Tiered Pricing Charge Model

With a tiered charge model, pricing changes progressively as the volume increases. Like the volume pricing model, the tiered pricing model uses a price table to calculate the pricing. The price table is made up of individual tiers that define a range of volumes and the pricing rule to apply if the customer purchases a quantity that falls within the range of that tier. Each tier is defined by a starting unit, an ending unit, a list price, and a price format (which can be either flat fee or per unit).

Unlike the volume model, tiered pricing cumulates all previous tiers when calculating the charge. So, if the quantity purchased falls into Tier 3, the calculation would include (the pricing of Tier 1 + the pricing of Tier 2 + the pricing of the remaining units in Tier 3).

The tiered pricing model can be used with one-time, recurring, or usage-based charges.

Tiered Pricing Example

For example, the tier is set up as follows:

Tier From To List Price Price Format
1 0.00 5.00 $0.00 Flat Fee
2 5.01 7.00 $200.00 Flat Fee
3 7.01 9.00 $100.00 Flat Fee
Overage price of $75.00

Based on the sample tiered pricing table above, 8.5 units would fall into Tier 3 and be calculated as follows:

Tier 1: $0.00 Flat fee +
Tier 2: $200 Flat fee +
Tier 3: $100 Flat fee

Total fees = $300

Overage Charge Model

The overage charge model is applied only to usage-based charges. This charge model allows your customer to get a certain quantity of units for free (these are the included units). If your customer exceeds the quantity of included units, the amount used over the included units is charged on a per-unit basis based on the overage price. An example of this would be a cell phone plan, where the basic package includes up to 500 minutes, but overage is charged for any usage above 500 at $0.50 per unit.

Overage charge models are often used in conjunction with a recurring charge. For example, a cell phone plan may charge $59.99 per month (this is a recurring charge), that includes 500 minutes for free, plus $0.50 per unit (this is an overage model usage charge).

Tiered with Overage Charge Model

The tiered with overage charge model applies only to usage-based charges. This charge model is similar to the tiered charge model, except there is an overage charge for any units consumed above the ending units of the final tier.

Overage Smoothing Charge Model

Overage smoothing models are useful for avoiding spikes and troughs in usage charges in any given month. The use of smoothing models help customers avoid paying too much if their usage spikes in any one period by considering usage over multiple periods. Some smoothing models ("rolling window") carry over unused units to the next period.

See Overage Smoothing Charge Model for detailed information about the overage smoothing charge model, including an example of the rolling window smoothing model.

High Water Mark Pricing Charge Models

The High Water Mark Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.

The High Water Mark Pricing charge model applies only to usage-based charges. For product rate plan charges with the High Water Mark Pricing charge models, end users are charged only for the highest aggregated quantity of usage consumed on any day during a billing period.

The pricing applied to this quantity can be either tiered or volume. High Water Mark Pricing charge models currently do not support on-demand usage rating.

  • High Water Mark Volume Pricing
  • High Water Mark Tiered Pricing

When defining price tiers with any High Water Mark charge model, values in either the Tier From or Tier To column for any tier must be 0 or greater, because usage records with a negative quantity cannot be uploaded to Zuora. Additionally, the value in the Tier To column for the last tier must be left blank, so that a valid price exists for all usage quantities.

This charge model is very similar to the Volume and Tiered charge models, except that instead of considering the aggregate total of all consumption during a period, only the highest day is picked instead.

For example, assume that an online data storage business wants to charge their users based on the maximum amount of data they stored during the month. The following table lists the hypothetical consumption for a user:

Day Consumption (GB)
1 0.56
2 0.98
3 1.12
4 1.09
... <1.00
31 0.89

The High Water Mark Pricing charge model would look at the data stored each day (see the preceding table), and pick the day with the highest amount of data stored (in this case, day 3), and then use that day's consumption (1.12 GB) in calculating the charge for the entire period, using either a Volume or Tiered pricing structure.

Known limitations

The High Water Mark Pricing charge models have the following known limitations:

Pre-Rated Pricing Charge Models

The Pre-Rated Pricing charge models are available for customers with Enterprise and Nine editions by default. If you are a Growth customer, see Zuora Editions for pricing information.

With the Pre-Rated Pricing charge models, you can perform rating externally, by a third-party provider or in-house, and then pass-through the usage records along with the rated amount to Zuora for billing.

The Pre-Rated Pricing charge models apply only to usage-based charges.

The pricing subtypes for this type of charges can be either Per Unit or Total Amount. The Pre-Rated Pricing charge models currently do not support on-demand usage rating.

  • Pre-Rated Per Unit Pricing: With this charge model, the per-unit rated amount is passed in on the usage records that are uploaded to Zuora. Zuora will determine the total rated amount by multiplying the per unit rate with the provided quantity.
  • Pre-Rated Pricing: With this charge model, the total rated amount is passed in on the usage records that are uploaded to Zuora. Zuora will not use or calculate the per unit rate, in this case.

To use the Pre-Rated Pricing charge models, you have to create a custom field on the Usage record to be used for each charge model. For example, lets say two custom fields were created on the Usage object, named totalAmount__c for the Pre-Rated Pricing charge model and perUnitAmount__c for the Pre-Rated Per Unit Pricing charge model. Please note that the fields can be named anything you like, as long as the values they carry are numerical. In the usage records that are loaded into Zuora, you should then use these custom fields to pass-through the rated amount.

The following table lists a specific example for a usage charge with the Pre-Rated Per Unit Pricing model.

Usage Record Quantity perUnitAmount__c Calculation Subtotal
A 10 10.00 10 * 10.00 $100.00
B 20 1.00 20 * 1.00 $20.00
C 1 10.00 1 * 10.00 $10.00
Invoice item gross total: $130.00

Note that if no valid value is provided in the appropriate custom field, the bill run fails with an error. In the following example for usage record D, no value is provided for the custom field, so the corresponding bill run fails.

Usage Record Quantity perUnitAmount__c Calculation Subtotal
D 5   Error Error
Invoice item gross total: Error

Conversely, the following table lists an example for a usage charge with the Pre-Rated Pricing model.

Usage Record Quantity totalAmount__c Calculation Subtotal
E 10 10.00 10.00 $10.00
F 20 1.00 1.00 $1.00
G 1 10.00 10.00 $10.00
Invoice item gross total: $21.00 

Known limitations

The Pre-Rated Pricing charge models have the following known limitations:

  • Decimals need to be represented using the period notation, regardless of locale. For example, 1.99 will be accepted, but 1,99 will not.
  • When using the Excel file format (.xls) for usage upload, Pre-Rated prices need to be formatted as text, i.e. entered as '1.99, rather than 1.99 (please note the leading single quote, which indicates a text entry instead of a number), otherwise the prices will not include the decimal part of the number. CSV upload doesn't have the same limitation.
  • The following features or integrations are not supported yet:
  • No reporting or Data Source support for the charge model name and configuration on the productRatePlanCharge or RatePlanCharge Object
  • No AQuA/ZOQL/SOAP Query support for the charge model name and configuration on the productRatePlanCharge or RatePlanCharge Object
  • No more than 200,000 usage records in a single RatePlanCharge for a given billing period

Multi-Attribute Pricing Charge Model

The Multi-Attribute Pricing charge model is available to all customers. However, to use the Multi-Attribute Pricing charge model for usage charges, you must be a user of Zuora Advanced Billing.

For certain complex goods and services, pricing cannot be determined only from the aggregate quantity. The price of each transaction instead might depend on multiple attributes of the transaction itself. With the Multi-Attribute Pricing charge model, you can define custom objects with pricing data and then charge your end-users based on the additional data passed in on the transaction. The Multi-Attribute Pricing charge model applies to one-time charges, recurring charges, and usage-based charge types.

The actual rating amount for each record is calculated based on the price formula that you specify in the Price Formula field when creating a product rate plan charge. For information about the allowed formula functions and associated examples, see Price formula reference

Currently, for one-time and recurring charge types, the price formula for the Multi-Attribute Pricing charge model is evaluated with every subscription change and invoice event, which means the price can change over time without an Order or Amendment. This is called dynamic pricing. Dynamic pricing has some further consequences. For example, the Multi-Attribute Pricing charge model does not provide MRR or TCV metrics. All these metrics will return 0. 

Specifically for usage charge types, price impacting attributes may be found on the usage record. You can define custom object lookup values, then you can charge the end-users based on the lookup into the custom objects. For a step-by-step guide of configuring a Multi-Attribute Pricing usage charge, see Get started with the Multi-Attribute Pricing charge model for usage charges.

Known limitations

The Multi-Attribute Pricing charge model has the following known limitations:

  • Decimals need to be represented using the period notation, regardless of locale. For example, 1.99 will be accepted, but 1,99 will not.
  • The following features or integrations are not supported yet:
  • If you want to use custom object lookup values in the price formula for usage charges, be aware of the following limitations:
    • No more than 2 custom object lookups are used within a price formula.
    • No more than 5 fields are used in one object lookup.
    • Each custom object used in a lookup must contain no more than 10,000 records.
    • Each custom object used in a lookup must contain no more than 10 fields.
  • No reporting or Data Source support for the charge model name and configuration on the productRatePlanCharge or RatePlanCharge Object
  • No AQuA/ZOQL/SOAP Query support for the charge model name and configuration on the productRatePlanCharge or RatePlanCharge Object
  • No more than 200,000 usage records are allowed in a single rate plan charge for a given billing period.