Skip to main content

Discount charge models


Discount charge models

Zuora's product catalog provides discount charge models to help you manage discounts and promotions. A typical scenario is your customer subscribes to your product for one year, and you give them one month for free. After the first month, the discount expires, and regular charges apply.

When you apply a discount charge model to your product rate plan charge, you create a discount charge. A discount charge behaves in the same way as a one-time charge or recurring charge. It can be set to be triggered on a specific date, such as the contract effective date or service activation date; It can be set to apply to one or more billing periods. You can create multiple discount charges in a single product rate plan.

There are two discount charge models that you can use to handle discounts and promotions and automatically control the duration of time the discount should be applied. They are Discount - Fixed Amount charge model and Discount - Percentage charge model.

Fixed amount model and percentage model

The following table explains more about Discount - Fixed Amount charge model and Discount - Percentage charge model, which you can use on your product rate plan charges. For step-by-step instructions, see How do I handle discounts in Zuora.

Model Description Example Note
Discount - Fixed Amount Allows you to give your customer a fixed amount of discount. Fixed amount discount behaves like a coupon. You have a promotion that gives your customers a $100 discount if they sign up in January. To do that, you can set up a fixed amount discount charge of $100 only effective in January.
  • Fixed-amount discount is applied per line item on an invoice. If the invoice amount is greater than the discount amount, Zuora uses the rule described in this article to distribute the discount among various charges.
  • The following billing rules are not applied to the Discount - Fixed Amount charge model, as Discount - Fixed Amount always prorates.
    • Prorate recurring charges for partial period?
    • Bill recurring charges for partial month (with monthly based billing periods)?
    • Bill recurring charges for partial week (with weekly based billing periods)?
    • Bill usage charges for partial month (with monthly based billing periods)?
    • Bill usage charges for partial week (with weekly based billing periods)?
    • Invoice Past End-of-Term when Auto-Renew is ON
    • Invoice Past End-of-Term when Auto-Renew is OFF
  • The Order to Revenue feature or the Billing - Revenue Integration feature only supports the billing-based revenue recognition for fixed-amount discounts.
Discount - Percentage Allows you to give your customer a percentage of the charge amount as a discount. You set up a 10% discount for a customer on a charge of 100$. The customer is then charged $90 (100 -100*10%). Percentage discount does not prorate.

Specify the discount scope

The following table explains the scope of a discount charge in terms of the discount level, type of applied charges, and application details. For step-by-step instructions, see Specify the scope for discount charges to be applied.

  Description Example
Discount level Rate plan level discount Apply a discount charge to a specific rate plan. At the rate plan level, the discount charge is bundled with other charges within that rate plan, and the discount is applied to the charges in the rate plan only. Offer a 100$ discount to all regular charges in the same product rate plan as the discount charge.
Subscription level discount Apply a discount charge to a specific subscription and all charges contained in that subscription for a period of time. Offer a promotion where the first 5 months are discounted for a 12-month subscription.
Account level discount

Apply a discount charge to all the regular charges contained in the account (across all subscriptions).

Provide a VIP customer with a 15% discount off all purchases.
Type of applied charges Select the type of charges that should be discounted at any discount level. Offer discounts to one-time setup fees only: select the One-Time check box and clear the Recurring and Usage check boxes.
Application details Specify specific product rate plans and product rate plan charges that a discount charge is applied to. The application details about discount charges are distinct at different discount levels. Even "All charges in the subscription" is selected, the discount will only be applied to the specific product rate plan charges, rather than all charges in the subscription.  Offer discounts to one specific or multiple regular charges in one product rate plan.
Allow apply to billing period partially Enable the Enhanced Discount feature to allow discounting a regular charge for a partial period that is shorter than its billing period. For more information, see Manage Enhanced Discount.

The option is compatible with the following discount configurations:

Discount level

  • Rate plan level discount

  • Subscription level discount

Type of applied charges

  • One-Time

  • Recurring

Process discounts

If multiple discounts can be applied to a subscription charge, Zuora's rating and billing engine (RBE) uses the following sequence to decide on which discount to use:

  1. Order by discount classes: The discount charge with a higher discount class is applied first. The discount charge without any discount class is applied in the end.
  2. If the discount charges have no discount class or have the same discount class, order by discount charge model types: Discount-Percentage > Discount-Fixed Amount
  3. If the discount charges have the same model type, order by the discount level: Rate Plan Level > Subscription Level > Account Level
  4. If the discount charges have the same model type and discount level, order by discount charge number: The smallest charge number is applied to the subscription charge.

Generally speaking, RBE processes subscription charges in the following order: Charges > Discount > Prepayment > Tax > Invoice.

RBE processes the rating of regular charges first, then it applies discounts and any prepayments, before calculating tax, and generating the invoice. By design, discount charges can only be applied to positive charge amounts. If a customer has multiple percentage discounts that can be applied, the discount will be compounded.

Multiple percentage discounts example

The following example shows how multiple percentage discounts are applied. Customer A has a $1000 recurring subscription charge with three discounts that can be applied. The three discounts are:

  • A rate plan discount of 10% off
  • A subscription-level discount of 20% off
  • An account-level discount of 30% off

The table below describes how the discounts will be applied:

Discount Order Level Discount % Base Amount Total Discount Amount Amount Due (Sub Total)
1 Rate Plan 10% $1000 $100 $900
2 Subscription 20% $900 $180 $720
3 Account 30% $720 $216 $504
Total Discounts: $496
Total Amount Due After Discounts: $504

Stacked discounts

When you create a discount charge based on the Discount - Percentage charge model, you can specify whether the discount charge is stackable. Stacked discounts provide you with the flexibility of combining multiple discounts together and applying them all at once to calculate the discount for a regular product rate plan charge instead of applying the discounts sequentially. In other words, each discount is applied directly to the original charge amount. 

The following table explains different methods of how Zuora Billing calculates discounts based on whether a discount charge is marked as stacked. For example, there are three discount charges applied to a regular charge of $100. The discount percentage of the discount charges is 5%, 10%, and 15%, respectively. 

  • Stacked: When the three discount charges are marked as stacked, they are summed up together to derive the total discount percentage, which is then used to calculate the total discount.
  • Non-stacked: When the three discount charges are not stacked discounts, they are applied to the regular charge one after another to calculate the discount respectively. The next discount charge is applied to a charge amount, which is calculated after the previous discount charge is applied instead of the original regular charge amount.
Calculation type Calculation logic Discount Total


$100 * (5%+10%+15%) $30 $(100-30)=$70
Non-stacked (sequentially )
  1. $100 * 5% = $5
  2. $(100-5) * 10% = $9.5
  3. $(95-9.5) * 15% = $12.83
$5+$9.5+$12.83=$27.33 $(100-27.33)=$72.67

After subscribing to a percentage discount charge, you can check whether the percentage discount in the subscription is stacked or non-stacked through the isStackedDiscount field in the following API operations:

Fixed amount model and stacked discounts

There is another example to show you how stacked and non-stacked discount percentages are applied to a fixed amount rate plan charge.

As shown in the following graphic, a recurring charge based on the Fixed Amount charge model is added to a product rate plan. Then, a stacked discount of 30% is applied to this charge, followed by a stacked discount of 20%.


In contrast, another rate plan is created as follows. The only difference is that the discount of 30% and the discount of 20% are applied to the recurring fixed amount charge as non-stacked discounts.


Two subscriptions are created to subscribe to the above two rate plan charges respectively. When the bill run is created for the two subscriptions, the invoice amount for one month is listed as follows.

Rate plan name Amount Discount Total
Stacked Discount Rate Plan 100.00 -50.00 = 100.00*(30%+20%) 50.00
Non-Stacked Discount Rate Plan 100.00 -44.00 = 100.00*30% + 70.00*20% 56.00

How discounts work with prorated credits

As with discounts, how Zuora applies prorated credits depends on the discount charge model.

Percentage discount model

Consider the following scenario:

  • One-year subscription with a $1,000 regular charge and a 50% discount.
  • Service period is from 2021/04/01 to 2022/03/31.

On the invoice generated on 2021/03/09 for the service period of from 2021/04/01 to 2022/03/31:

  • Regular charge is $1,000
  • Discount charge is -$500 = -$1000 * 50%

Later the rate plan is removed effective 2021/05/01. On the invoice generated on 2021/04/09, a line item called “Proration Credit” for the service period of 2021/05/01 – 2022/03/31 appears with the following breakdown:

  • Proration credit for the regular charge: - $916.67 = rounding -($1000/12 * 11)
  • Proration credit for the discount charge: $458.33 = $500 - ($1000 - $916.67) * 50%

Percentage discount model (unRounded regular amount)

The current percentage discount amount calculation is based on the rounded regular charge amount, the rounded amount that is shown in the invoice item.

You can calculate the percentage discount amount based on the unRouned regular charge amount. If you want to have access to the unrounded model, submit a request at Zuora Global Support.

Example scenario:

  • Currency: USD
  • Recurring charge: 3980/month
  • Bill cycle day: 1st of the month
  • Billing period: monthly
  • Charge start date: June 21, 2018
  • Percentage discount charge: 52.26131%

For the proration period June 21, 2018, to June 30, 2018, the recurring charge is calculated as

round (3980*10/30) = 1326.67

If the percentage discount rating uses the unRounded regular amount, then the discount charge applies the discount amount as follows:

round (3980*10/30*52.26131%) = 693.33

If the percentage discount rating does not use the unRounded regular amount, then the discount charge applies the discount amount as follows:

round (1326.67*52.26131%) = 693.34

Discount credit calculation 


For discount credit, if the percentage discount rating uses the unRounded regular amount, the discount credit amount is calculated based on the unRounded regular credit amount.


Consider the following scenario:


Charge start date: June 21, 2018

Billing proration period: June 21, 2018 to June 30, 2018

Subscription cancellation date: June 27, 2018


Regular charge is credited as 3980*4/30 = 530.67

Discount charge is credited as, round(3980*4/30*52.26131%) = 277.33

Fixed amount discount model (Coupon)

If a prorated credit is triggered on a charge with a fixed-amount discount, by default Zuora applies as much of the credit as possible towards the original net amount (the original charge amount minus the fixed amount discount). Alternatively, Zuora also supports prorating the discount through the "Credit for Prorated Discounts (Fixed-amount Discount Charge Only)” billing rule. 

See Credit for prorated discounts for more information.

Fixed amount discount model (Prorations)

For prorated calculation, the discount amount is calculated based on the number of full months, including the prorated days. If you want to have access to the prorated behavior, submit a request at Zuora Global Support.

The proration was calculated as follows, previously:

Formula: Discount amount = amount_per_month * number_of_full_month

Example: Discount amount = (120/12) * 11

The following example shows the calculation of the discount amount using proration.

Consider the following scenario:

  1. Create a subscription with a normal recurring charge.
    Billing period: Annual, which is August 20, 2023 to August 20, 2024
  2. Add a discount charge on August 23, 2023.
    Billing period: Annual
    Amount: $120
  3. Trigger a bill run.

Billing rule is as follows:

  • Proration recurring charge: False
  • Proration date: By month first
  • Proration period: 30 days

The proration is calculated as follows:

Discount amountamount per month*(number of full months+prorated days/30 days)

which is,

($120/12)*(11+(days between August 23, 2023 and September 20, 2023)/30)

Discount balance

A discount charge, while being processed by the RBE, maintains an "open period" and a discount balance. This means that any invoice generated in the open period can use the discount before its balance runs out. Canceling an invoice will reverse the discount applied to the invoice and return the discount amount to the discount balance.

For example, if you have a $100 monthly discount at the account level, and for January, you have only applied $10 of that discount, any additional invoices created in January will be discounted until the remaining $90 of the $100 monthly discount is fully applied.

Apply discount to past billing periods

Zuora tracks the fixed amount discount balance for every recurring billing period. This allows you to take advantage of available discounts, even in past (non-open) periods. You can apply a discount for billing in a past period for add-on products that you later added as amendments.

You can apply a discount to charges of a specific type: One-time, recurring, or usage.

The service period to use for the discount is always selected based on the service period of the recurring charge to which you apply the discount.

A discount will always terminate at the end of a subscription term, even if the subscription is set to auto-renew. However, if you run an invoice after the auto-renew has been activated, the subscription term will be set to the next period.

Expectations of handling discount charges by Zuora Revenue

  • The Order to Revenue feature or the Billing - Revenue Integration feature does not support account-level discounts in Zuora Billing.
  • The Order to Revenue feature or the Billing - Revenue Integration feature only supports the billing-based revenue recognition for fixed-amount discounts due to expectations in Zuora Billing. Booking transactions must be excluded from revenue accounting. You can exclude the booking transactions by setting the exclusion flag fields in Zuora Billing.
  • Proration of fixed amount discount charges is not supported. It is because Zuora Revenue uses the RatePlanChargeTier price to calculate the fixed amount discount booking value, which does not consider the actual proration and other billing setting logic. Therefore, the booking amount might be different from the actual billing amount.
  • The Revenue Start Date and Revenue End Date of discount charges always follow the recurring charges instead of the dates specified on the discount charges.
  • When multiple discount charges overlap with the same regular charge, it will cause the variance for reconciliation between booking and billing.