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. |
|
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:
Type of applied charges
|
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:
- 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.
- 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
- If the discount charges have the same model type, order by the discount level: Rate Plan Level > Subscription Level > Account Level
- 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 |
---|---|---|---|
Stacked |
$100 * (5%+10%+15%) | $30 | $(100-30)=$70 |
Non-stacked (sequentially ) |
|
$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:
- List subscriptions by account key
- Retrieve a subscription by key
- Retrieve a subscription by key and version
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 |
Discount class and stacked discounts
A billing rule called Should the stacked percentage discount ignore or follow discount class determines whether to ignore the discount class when applying stacked percentage discounts.
By default, the system ignores the discount class order when applying stacked discounts. When the Follow discount class option is selected, the stacked discounts are applied in the following manner:
- The system applies stacked discounts in the discount class order and applies the stacked discount to the remaining amount after the previous discount class is processed.
- Within the same discount class, stacked discounts should be added and then applied together first, followed by non-stacked discount charges.
- If there are stacked discounts not specified with any discount class, they are applied last.
The following example explains the discounting logic of stacked discounts with discount classes.
Suppose a regular charge amount is $10000, and there are several discounts to apply to this regular charge, as illustrated in the following diagram.
The discounts in Discount Class 1 are applied first, among which the percentage discount is applied first, followed by the fixed amount discount. Therefore, after applying Discount Class 1, the remaining amount of the regular charge is 10000(1-8%)-500=$8700.
The discounts in Discount Class 2 are then applied, among which the two stacked percentage discounts are added and applied first, followed by the non-stacked discount. Also, in Discount Class 2, the remaining amount after Class 1 is taken as input for stacked discounts. Therefore, after applying the two stacked discounts in Class 2, the remaining amount of the regular charge is 8700*[1-(10%+5%)]=$7395. After applying the 3rd discount (the non-stacked one), the remaining amount of the regular charge is 7395*(1-5%)=$7025.25.
The discounts without discount class are applied last, among which the two stacked percentage discounts are added and applied first, followed by the fixed amount discount. Also, the remaining amount after Class 2 is taken as input for stacked discounts. Therefore, after applying the two stacked discounts without discount class, the remaining amount of the regular charge is 7025.25-7025.25*(20%+30%)=7025.25-3512.63=$3512.62. After applying the fixed amount discount, the remaining amount of the regular charge is 3512.62-1000=$2512.62.
The table below describes how the discounts will be applied:
Discount Order |
Discount Class |
Discount |
Base Amount |
Total Discount Amount |
Amount Due (Sub Total) |
1 |
1 |
8% |
$10000 |
$800 |
$9200 |
2 |
1 |
$500 |
$9200 |
$500 |
$8700 |
3 |
2 |
10%+5% |
$8700 |
$1305 |
$7395 |
4 |
2 |
5% |
$7395 |
$369.75 |
$7025.25 |
5 |
No discount class |
20%+30% |
$7025.25 |
$3512.63 |
$3512.62 |
6 |
No discount class |
$1000 |
$3512.62 |
$1000 |
$2512.62 |
Total Discounts: $7487.38 |
|||||
Total Amount Due After Discounts: $2512.62 |
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:
- Create a subscription with a normal recurring charge.
Billing period: Annual, which is August 20, 2023 to August 20, 2024 - Add a discount charge on August 23, 2023.
Billing period: Annual
Amount: $120 - 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 amount = amount 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
- For fixed-amount discounts, the Billing - Revenue Integration feature only supports the billing-based revenue recognition. Booking transactions must be excluded from revenue accounting. You can exclude the booking transactions by setting the exclusion flag fields in Zuora Billing.
- For fixed-amount discounts, the Order to Revenue feature supports several configuration options. See Configure interface settings.
- The Order to Revenue feature or the Billing - Revenue Integration feature does not support account-level discounts 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.