Create prepayment charge with rollover
Prepaid with Drawdown Rollover enables you to transfer the accumulative carryover of your customers’ prepaid balance funds to the following validity period when using Prepaid with Drawdown.
Suppose you run a software company and have configured the following prepayment charge and drawdown charge in your product catalog:
Prepayment charge | Drawdown charge |
---|---|
|
|
Your customer is interested in subscribing to your monthly plan for three months. You can create a quarter's subscription for the customer through the Zuora UI or REST API.
Use the Zuora UI
Follow the steps described in Create prepayment charge to create the following prepayment charges to sell your service:
- Monthly Plan (Apply Rollover Fund First): $1, 1000 units per month
- Monthly Plan (Apply Rollover Fund Last): $1, 1000 units per month
When you create the Monthly Plan (Apply Rollover Fund First) charge, you want to enable Rollover, set the maximum rollover validity periods to 2, and apply the rollover fund first. Perform the following steps:
- Switch on the Rollover toggle. Complete the following fields:
- Rollover Periods: 2
- Rollover Application Option: Apply First
- Follow the steps described in Create drawdown charge to create the drawdown charges in the same rate plan.
When you create the Monthly Plan (Apply Rollover Fund Last) charge, you want to enable Rollover, set the maximum rollover validity periods to 2, and apply the rollover fund last. Perform the following steps:
- Switch on the Rollover toggle. Complete the following fields:
- Rollover Periods: 2
- Rollover Application Option: Apply Last
- Follow the steps described in Create drawdown charge to create the drawdown charges in the same rate plan.
After creating the prepayment and drawdown charges, you can start selling your product to customers by creating subscriptions through Orders. For example, create a new subscription with three months (01/01/2022—04/01/2022).
On the subscription details page, you can see the three validity periods from the dropdown list in the upper right of the Prepayment Balance section.
Select 01/01/2022 ~ 02/01/2022 from the Validity Period list, you can see the following table:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,000.00 | 0.00 | 1,000.00 |
1. Upload usage records. For example, upload an 800-unit usage record in the first service period. Go back to the subscription details page, you can see the preceding table has been changed to:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,000.00 | 800.00 | 200.00 |
2. Create bill runs. In this case, the bill run is triggered on Feb 1 2022 so that the units from the first validity period can be rolled over to the next validity period. After the bill run is created and posted, you can see the generated invoice listed on the bill run details page.
Go back to the subscription details page, and select 02/01/2022 ~ 03/01/2022 from the Validity Period list, you can see the following table:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,200.00 | 0.00 | 1,200.00 |
If you select 01/01/2022 ~ 02/01/2022 from the Validity Period list, you can see the following table:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,000.00 | 1,000.00 | 0.00 |
Click Transaction Records, you can see the displayed table has a Rolled Over type with -200 units and a Rollover type with 200 units.
3. Upload another usage record. For example, upload a 700-unit usage record in the second service period. Go back to the subscription details page, and select 02/01/2022 ~ 03/01/2022 from the Validity Period list, you can see the following table:
- If you set Rollover Application Option to Apply First:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,000.00 | 500.00 | 500.00 |
- If you set Rollover Application Option to Apply Last:
Total Prepaid Units | Total Drawdown Units | Remaining Units |
---|---|---|
1,000.00 | 700.00 | 300.00 |
Example 2
Prepayment charge |
Drawdown charge |
---|---|
|
|
Follow the steps described in Create prepayment charge to create the following prepayment charges to sell your service:
- Switch on the Rollover toggle. Complete the following fields:
- Rollover Periods: 1
- Rollover Application Option: Apply First
- Rollover Period Length: 5 months
Use the Rollover Period Length field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the Rollover Periods field to 1. The preceding example defines the rollover fund's period length as 5 months, shorter than the prepayment charge's validity period: a year.
-
Create a new subscription containing the above two charges with the subscription term length of 24 Months, Term start date and Subscription start date as 01/01/2023. And you can create two funds,
-
Fund 1: 1/1/2023-1/1/2024
-
Fund 2: 1/1/2024-1/1/2025
-
- Upload usage records. For example, upload an 800-unit usage record in the first service period.
For the fund 1,
Total Prepaid Units |
Total Drawdown Units |
Remaining Units |
1,000.00 |
800.00 |
200.00 |
- Create bill runs. In this case, the bill run is triggered on Jan 1, 2024, so the remaining units from the first validity period(Fund 1) can be rolled over to the next validity period and create a new fund(Fund1). The Fund1's rollover fund period is Jan 1, 2024, to Jun 1, 2024, as the rollover period is 5 months.
Use REST API
You can use REST API to create a prepayment charge with rollover. Note that WSDL version 114+ is required for the X-Zuora-WSDL-Version
header parameter. Determine the following mandatory fields specific to a prepayment charge:
Field name | Type | Description |
---|---|---|
isRollover | boolean | The value is either "True" or "False". It determines whether the rollover fields are needed. |
rolloverApply | string |
This field defines the priority of rollover, which is either first or last. Enum:ApplyFirst , ApplyLast |
rolloverPeriods | number | This field defines the number of rollover periods, it is restricted to 3. |
rolloverPeriodLength | integer | Use this field when you want to set the rollover fund's period length shorter than the prepayment charge's validity period. In this case, you must set the rolloverPeriods field to 1. |
Notes and limitations
- Rollback is not supported yet. In other words, when the balanced funds have been rolled over, you can not withdraw the rollover funds.
- Each validity period in which you get your rollover balance has to complete the bill run first. If a bill run has triggered multiple validity periods to be rolled over, only the latest validity period will be rolled over, not one after the other.
- Rollover will only happen if a minimum of two validity periods exist.
- The last validity period cannot be rolled over.