Manage Enhanced Discount
Through the Enhanced Discount feature, you can apply a discount to charges according to the discount duration more accurately. You can also define the discount duration more flexibly by adopting the new start date policy and end date policy of a discount and specify the apply-to scope of the discount, when adding a discount through the Create an order API operation.
This feature is only available to the Orders Harmonization and Orders tenants.
You can perform the following tasks to create enhanced discounts starting from the product catalog.
Task 1: Create and apply enhanced discounts through Zuora UI
You can create a discount charge and enable the discount charge as an enhanced discount in the product catalog. For how to create a discount charge, see Manage discount charges. If you checked the Allow apply to billing period partially checkbox when creating the discount charge, the discount charge is enabled as an enhanced discount.
The charge model of the discount charge can be Discount-Fixed Amount or Discount-Percentage.
Discount-Fixed Amount
When configuring the Charge Amount section for the fixed amount charge, refer to the following table.
Field | Description |
---|---|
Charge Model |
Discount-Fixed Amount |
Discount Amount | Enter the discount amount for the billing period of the fixed amount discount. |
Apply Discount To | Select one of the following:
|
Allow apply to billing period partially | You must check this checkbox to change your current discounts to enhanced discounts. |
Select one of the following charge types:
|
|
Discount-Percentage
When configuring the Charge Amount section for the percentage charge, refer to the following table.
Field | Description |
---|---|
Charge Model |
Select Discount-Percentage. |
Discount Percentage | Enter the discount percentage. |
Apply Discount To | Select one of the following:
The charges to be applied with the enhanced discount must not be prepayment and drawdown, or discount charges. |
Allow apply to billing period partially | You must check this checkbox to change your current discounts to enhanced discounts. |
Select one of the following charge types:
|
|
Stacked |
If you want to configure a percentage discount charge as the enhanced discount, you must select this checkbox. |
If you apply percentage discounts to delivery pricing charges, you must also set other fields. For more information, see Delivery-based Billing standard use case.
Task 2: Apply enhanced discounts and specify discount durations through API
Depending on the value you set for the Apply Discount To field during discount creation in product catalog, you may perform one of the following tasks through API:
- If you have set the field to All charges in the subscription and selected specific regular charges to be applied with enhanced discounts, you need to use the Create an order API operation to specify your discount duration with the
startDatePolicy
andendDatePolicy
fields. - If you have set the field to All charges in the rate plan, or set the field to All charges in the subscription but haven’t selected specific regular charges to be applied with enhanced discounts, you need to apply the enhanced discount to subscription charges through the
createSubscription
oraddProduct
order actions of the Create an order API operation and specify the discount duration with thestartDatePolicy
andendDatePolicy
fields.
References for specifying discount duration for enhanced discounts
Before specifying the discount duration, we recommend you read the Enhanced discount use cases first. When setting the startDatePolicy
and endDatePolicy
fields through the Create an order API operation, you also need to set other required fields.
The following table lists the values of the startDatePolicy
field and additional required fields.
startDatePolicy values | Required fields |
---|---|
|
N/A |
EndOfLastInvoicePeriodOfApplyToCharge |
N/A |
SpecificDate |
specificTriggerDate |
FixedPeriodAfterApplyToChargeStartDate |
|
The following table lists the values of the endDatePolicy
field and additional required fields.
endDatePolicy values | Required fields |
---|---|
|
N/A |
|
|
|
|
API example 1: Apply percentage discount charges to regular charges
Apply a subscription level percentage discount charge RPC002 in rate plan RP002 to a regular recurring charge RPC001 in rate plan RP001. The discount charge RPC002 starts 2 weeks after the regular charge RPC001 starts and lasts for 3 months. The percentage discount charge RPC002 has been configured as an enhanced discount in the product catalog.
Request | POST /v1/orders/ |
---|---|
Request Body |
{ "orderDate": "$Today", "existingAccountNumber": "$AccountNum", "subscriptions": [ { "orderActions": [ { "type": "CreateSubscription", "triggerDates": [ { "name": "ContractEffective", "triggerDate": "$Today" }, { "name": "ServiceActivation", "triggerDate": "$Today" }, { "name": "CustomerAcceptance", "triggerDate": "$Today" } ], "createSubscription": { "terms": { "initialTerm": { "startDate": "$Today", "period": 12, "periodType": "Month", "termType": "TERMED" }, "renewalSetting": "RENEW_WITH_SPECIFIC_TERM", "renewalTerms": [ { "period": 12, "periodType": "Month" } ] }, "subscribeToProducts": [ { "productRatePlanId": "RP001" }, { "productRatePlanId":"RP002", "chargeOverrides":[{ "productRatePlanChargeId":"RPC002", "startDate": { "startDatePolicy": "FixedPeriodAfterApplyToChargeStartDate", "startPeriodsType": "Weeks", "periodsAfterChargeStart": 2 }, "endDate": { "endDatePolicy": "FixedPeriod", "upToPeriodsType": "Months", "upToPeriods": "3" }, "pricing": { "discount": { "discountPercentage": 10, "applyDiscountTo": "RECURRING", "applyToBillingPeriodPartially": true, "discountLevel": "subscription", "discountApplyDetails": [ { "productRatePlanId": "RP001”, "productRatePlanChargeId": "RPC001" } ] } } }] }] } } ] } ], "processingOptions": { "runBilling": false, "collectPayment": false } } |
API example 2: Apply fixed amount discount charges to regular charges
Apply a subscription level fixed amount discount charge RPC002 in rate plan RP002 to a regular one-time charge RPC001 in rate plan RP001 that starts from 2023-01-01. The fixed amount discount charge RPC002 has been configured as an enhanced discount in the product catalog.
Request | POST /v1/orders/ |
---|---|
Request Body |
{ "orderDate": "$Today", "existingAccountNumber": "$AccountNum", "subscriptions": [ { "orderActions": [ { "type": "CreateSubscription", "triggerDates": [ { "name": "ContractEffective", "triggerDate": "$Today" }, { "name": "ServiceActivation", "triggerDate": "$Today" }, { "name": "CustomerAcceptance", "triggerDate": "$Today" } ], "createSubscription": { "terms": { "initialTerm": { "startDate": "$Today", "period": 12, "periodType": "Month", "termType": "TERMED" }, "renewalSetting": "RENEW_WITH_SPECIFIC_TERM", "renewalTerms": [ { "period": 12, "periodType": "Month" } ] }, "subscribeToProducts": [ { "productRatePlanId": "RP001" }, { "productRatePlanId":"RP002", "chargeOverrides":[{ "productRatePlanChargeId":"RPC002", "startDate": { "startDatePolicy": "AlignToApplyToCharge" }, "endDate": { "endDatePolicy": "FixedPeriod", "upToPeriodsType": "2023-02-01", "upToPeriods": }, "pricing": { "discount": { "discountAmount": 5.0, "applyDiscountTo": "ONETIME", "applyToBillingPeriodPartially": true, "discountLevel": "subscription", "discountApplyDetails": [ { "productRatePlanId": "RP001", "productRatePlanChargeId": "RPC001" } ] } }, "billing": { "billingPeriod": "Month" } }] }] ] } } ] } ], "processingOptions": { "runBilling": false, "collectPayment": false } } |
Limitations
When applying the enhanced discounts, consider the following limitations:
- If the enhanced discount and regular charge belong to different rate plans, you must place the rate plan containing the regular charge before the rate plan containing the enhanced discount in Orders API. Refer to the rate plan sequence in the above API examples.
- If an enhanced discount has been applied to a regular charge in a subscription, you cannot add the same regular charge to the same subscription before the end date of the discount duration.