Add product mid-interval updates on ramp deals
This tutorial demonstrates how to update a product on a ramp deal by creating an order. Specifically, this sample demonstrates how to add a product mid-interval update on a ramp deal. See Which product fields can I update? for the product fields you can update.
In this tutorial, you will update a 3-year ramp deal that contains an annual recurring rate plan charge with different a price for each of its three Ramp Intervals.
- Interval 1 start date: 2020/07/01, end date: 2021/06/30, charge price: $1000/year
- Interval 2 start date: 2021/07/01, end date: 2022/06/30, charge price: $1200/year
- Interval 3 start date: 2022/07/01, end date: 2023/06/30, charge price: $1400/year
You will update the product price to $1300/year from the middle of the second Interval (2022/01/01) to the end of the second Interval (2022/06/30).
Use the Zuora application
To create a ramp deal by creating an order in the Zuora application:
-
Navigate to Customers > Orders. The Orders page opens.
-
Click Create New Order at the top right. The Create New Order page opens.
-
In the Account field, enter the name of the account that owns the subscription. By default, the account that owns the order will also own the subscription.
You can enter the account by clicking either Account Name or Account Number.
- If you click Account Name, type part of the account name in the Account field and the filtered accounts can be dynamically listed for your selection.
- If you click Account Number, type the complete account number.
-
In the Order date field, enter the order date you are to assign to the order.
-
Click Amend an Existing Subscription at the bottom of the page. The Create Subscription page opens.
-
On the target subscription line, click Select in the ACTION column.
-
In the Included Products tab of the Associated subscriptions area, find the product to be updated, and then click Update below the rate plan name.
-
Scroll up to the top, and specify appropriate dates in the Contract Effective, Service Activation, and Customer Acceptance date fields for the operation. For more information, see Billing Trigger Dates.
-
Select the Make this update before a future date change toggle button, as this is a price update for the second half-year in Interval 2, which is before Interval 3. In the displayed Specific update date field, enter or select the date of 2022/01/01.
-
In the Products and charges area, locate the charge to be updated, and then change the price to 1300.
-
At the bottom of the page, click Continue.
-
In the Included Products tab, the price displayed in the product and charge table is the price of the last charge segment in each charge. In this tutorial, the price of $1400 for the second half of Interval 3 is displayed in the PRICE column. You can view the price changes along the subscription term by clicking the down arrow next to the price value in the product and charge table.
-
To view the Interval start and end dates for each Interval in the Ramp, go to the Terms tab and identify to the Ramp section.
-
To view the Ramp Metrics for each Interval, go to the Ramp Metrics tab.
-
To activate the Order, click Activate.
Use the REST API
You can use the "Create order" operation to update a product in a ramp deal.
To update a product in a ramp deal by creating an order:
-
Determine the values of the following variables:
Variable Description $SubscriptionNum
The number of the subscription to update. For example, A-S00000001
.$AccountNum
The number of the account that will own the order. For example, A00000001
.$RPId
The ID of the rate plan to update in the subscription. For example, 2c92c0f85d7d53d3015dac494dfc5cbf
.$ChargeNum
The number of the charge to update in the rate plan. For example, C-00000020
.$Today
Today's date. For example, 2020-07-01
.$SpecificUpdateDate
The specific date to make an update before a future date change. For example, 2022-01-01
. -
Use the "Create and activate order" operation to create an order under an existing account:
Request POST /v1/orders/
Request Body { "orderDate": $Today, "existingAccountNumber": $AccountNum, "subscriptions": [ { "subscriptionNumber": $SubscriptionNum, "orderActions": [ { "type": "UpdateProduct", "triggerDates": [ { "name": "ContractEffective", "triggerDate": $Today }, { "name": "ServiceActivation", "triggerDate": $Today }, { "name": "CustomerAcceptance", "triggerDate": $Today } ], "updateProduct": { "ratePlanId": $RPId, "specificUpdateDate": $SpecificUpdateDate, "chargeUpdates": [ { "chargeNumber": $ChargeNum, "effectiveDate": { "triggerEvent": "ContractEffective" }, "pricing": { "recurringFlatFee": { "listPrice": 1300 } } } ] } } ] } ], "processingOptions": { "runBilling": false, "collectPayment": false } }
To create the order under a new account instead of an existing account, specify the
newAccount
field instead of theexistingAccountNumber
field.
To preview invoices for the updated subscription, use the "Preview order" operation.