Skip to main content

Charge models

Zuora

Charge models

Each product rate plan charge has a charge model that determines how charges are calculated. Zuora Billing supports a variety of charge models, such as flat fee, per unit, volume pricing, tiered, overage, tiered with overage, and overage smoothing charge model (with rolling window and rollover). For a charge model to be available for use, the Zuora Billing administrator must enable it on the Enable Charge Types/Models page.

Flat Fee Pricing

Flat fee pricing 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 Pricing

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.

You can also enable discount charges as an enhanced discount. The Enhanced Discount feature is only available to the Orders Harmonization and Orders tenant users. For more information, see Manage Enhanced Discount and Enhanced Discount use cases.

The Enhanced Discount feature is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. To manage and access features from the self-service interface, see Enable billing features by yourself.

Volume Pricing

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

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

Delivery Pricing

The delivery pricing charge model applies only to recurring charges. In this model, you define a single list price per delivery and specify a delivery schedule that indicates the frequency of the delivery. Zuora Billing will use the list price per delivery and the specified delivery schedule to calculate the total charge for a billing period. This charge model is used to bill your end customers in advance for a termed subscription that includes goods delivered on a recurring basis.

  • The Delivery Pricing charge model is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. To use this charge model, complete the following steps:
    1. Enable the Delivery Pricing feature from the self-service interface. For information, see Enable billing features by yourself.
    2. Enable the Delivery Pricing charge model in Billing Settings. For information, see Enable charge types and charge models.
  • The Delivery Pricing charge model is available only for tenants with Orders or Orders Harmonization enabled.

The following graphic shows an example of a recurring charge of the delivery pricing charge model. The list price for each delivery is $1.75, and the delivery occurs every weekday. If the billing period is four weeks. The total charge is $35 per billing period, which equals $1.75 * 5 *4.

delivery-pricing-charge-model.png

You can schedule orders for subscribing to rate plans that include charges of this charge model. You can also schedule orders for managing subscriptions that include the preceding rate plans. For more information, see Scheduled orders

You can create delivery adjustments corresponding to end customer-initiated refunds, for example, due to unqualified deliveries. For more information, see Delivery Adjustments.

Overage Pricing

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 (that is a recurring charge), which includes 500 minutes for free, plus $0.50 per unit (that is an overage model usage charge).

Note that the included units cannot be prorated. 

Tiered with Overage Pricing

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 Pricing

Overage smoothing models are useful for avoiding spikes and troughs in usage charges in any given month. The use of smoothing models helps 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.

Note that the overage smoothing charge model used in usage charges cannot be supported by the Order to Revenue feature or the Billing - Revenue Integration feature.

High Water Mark Pricing

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 Pricing 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.

Considerations

Keep the following things in mind when using the High Water Mark Pricing charge model:

  • 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:
  • 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 reporting or Data Source support on the productRatePlanChargeTier or RatePlanChargeTier object 
  • No AQuA/ZOQL/SOAP Query support on the productRatePlanChargeTier or RatePlanChargeTier object
  • No more than 200,000 usage records in a single RatePlanCharge object for a given billing period

Pre-Rated Pricing

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 

Considerations

Keep the following things in mind when using the Pre-Rated Pricing charge model:

  • 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

The Multi-Attribute Pricing charge model for one-time and recurring charges is available to all customers.

For certain complex goods and services, pricing cannot be determined based on the aggregate quantity alone. The price instead might depend on multiple attributes, and these attributes may come from a variety of places, including 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. The Multi-Attribute Pricing charge model applies to one-time, recurring, and usage-based charge types.

The actual rating amount for each record is calculated based on a 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 only when the charge is added to a subscription (either when the subscription is created, or when the charge is added). Afterwards, to change the price, an Order or an Amendment has to be made.

For usage charge type, price impacting attributes may also be retrieved from the usage record. You can store values in usage custom fields, then you can charge the end-users based on the lookup into the custom objects using those values. 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.

Considerations

Keep the following things in mind when using the Multi-Attribute Pricing charge model:

  • 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 two custom object lookups are used within a price formula.
    • No more than five fields are used in one object lookup.
    • Nested object lookups are not supported.
    • 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.