Update a Product in a Subscription
This tutorial demonstrates how to update a product in a subscription by creating an order. See Which product fields can I update? for the product fields you can update.
In this tutorial, you will set the following dates to today's date:
- The date when the order is signed
- The contract effective date of the product update
- The service activation date of the product update
- The customer acceptance date of the product update
Use the Zuora application
To update a product to a subscription 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.
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.
-
Choose what you want to do by clicking Amend Subscription.
-
In the Select an existing subscription area, locate the target subscription to which you are to add products by using the Search field.
-
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 fields for the operation. For more information, see Billing Trigger Dates.
-
In the Products and charges area, locate the charge to be updated, and then make the changes in the fields.
-
After all the desired changes are done, click Continue to review the order.
-
Click Activate to activate the order.
Use the REST API
You can use the "Create order" operation to update a product in a subscription. Before the Orders feature is enabled, you have to use the "Update subscription", "Amend", or "CRUD: Create amendment" operation.
To update a product in a subscription 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, 2017-09-30
. -
Use the "Create 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, "chargeUpdates": [ { "chargeNumber": $ChargeNum, "pricing": { "recurringVolume": { "quantity": 50 } } } ] } } ] } ], "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.