Skip to main content

Renew a Subscription and Upgrade a Product

Zuora

Renew a Subscription and Upgrade a Product

Orders is now generally available as of Zuora Billing Release 284 (August 2019). You can access all the new capabilities in the Sandbox environment starting August 31, 2020. The Production deployment is September 10, 2020.

If you are an existing Zuora Subscribe and Amend customer and want to adopt Orders, see What is Orders Harmonization and join the Orders Harmonization community group for more information. If you want to enable Orders, submit a request at Zuora Global Support.

This tutorial demonstrates how to renew a subscription and upgrade a product by creating an order. To upgrade the product, you will remove the product then add a replacement product on the same date.

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 renewal
  • The service activation date of the renewal
  • The customer acceptance date of the renewal

You will set the following dates to a specific upgrade date:

  • The contract effective date of the product upgrade (addition and removal)
  • The service activation date of the product upgrade (addition and removal)
  • The customer acceptance date of the product upgrade (addition and removal)

Use the Zuora application

To renew a subscription and upgrade a product by creating an order in the Zuora application:

  1. Navigate to Customers > Orders. The Orders page opens.

  2. Click Create New Order at the top right. The Create New Order page opens.

  3. 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.
  4. Choose what you want to do by clicking Amend an Existing Subscription.

  5. In the Select an existing subscription area, locate the target subscription to which you are to add products by using the Search field.

  6. On the target subscription line, click Select in the ACTION column. 

  7. To renew the subscription, complete the following steps:

    1. In the Associated subscriptions area, click Renew Subscription, which is displayed to the right of the subscription number.

      renew-subscription.png

      The Renew Subscription option is not available for an evergreen subscription or if the renewal term is set to 0. 

    2. In the Renew subscription window, specify appropriate dates in the Contract effectiveService activation, and Customer acceptance fields. For more information, see Billing Trigger Dates

    3. Click Continue to close the window.

  8. To remove the product, complete the following steps:

    1. In the Included Products tab of the Associated subscriptions area, locate the product to be removed, click Remove below the rate plan name. The Remove rate plan charge window opens.

      remove-product.png

    2. Specify appropriate dates in the Contract effectiveService activation, and Customer acceptance fields for the removal.

    3. Click Continue to close the window.

  9. To add the replacement product, complete the following steps:

    1. In the Associated subscriptions area, click Add Product, which is displayed to the right of the subscription number. 

    2. Scroll up to the top of the page, and specify appropriate dates in the Contract EffectiveService Activation, and Customer Acceptance fields for the operation.

    3. In the Products and charges area, search and locate the product to be added. You can choose to search by product name or by product SKU by using the drop-down list. The displayed products will dynamically change as you type in the Search field.

      SearchProduct.png

    4. To add a rate plan, click the right arrow ( > ) next to the product name to expand all its rate plans, and then select the checkbox in front of the rate plan to be added.

      SelectRatePlan.png

      You can select more than one rate plan in multiple products. To remove a rate plan from your selection, clear the checkbox in front of the rate plan. The number of the selected rate plan is also indicated in the UI.

    5. Click Add Product in the bottom right corner to continue. 

    6. (Optional): Update the charges for the selected rate plan if necessary.

    7. Click Review Order to continue. The included products are all displayed for the selected subscription.

  10. (Optional): To preview billing information for the subscription, click Preview Billing. Specify the preview settings and click Update Preview to see the preview invoices. After you are finished, click Done to return to the previous page.

  11. Click Activate to activate the order.

Use the REST API

You can use the "Create order" operation to renew a subscription and upgrade a product. Before the Orders feature is enabled, you have to use the "Renew subscription", "Amend", or "CRUD: Create amendment" operation.

To renew a subscription and upgrade a product by creating an order:

  1. 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.
    $RPIdRemove The ID of the rate plan to remove from the subscription. For example, 8a8081085e0d4b70015e4b844495058d.
    $ProductRPId The ID of the product rate plan to add to the subscription. For example, 8a8081085d834928015d9ce60ef41acf.
    $ProductRPChargeId The ID of the product rate plan charge to use when adding the product rate plan. For example, 8a8081085d834928015d9ce6ae821ad1.
    $Today Today's date. For example, 2017-09-30.
    $UpgradeDate The date to upgrade the product in the subscription. For example, 2018-01-01.
  2. 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": "RenewSubscription",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": "$Today"
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": "$Today"
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": "$Today"
                }
              ]
            },
            {
              "type": "RemoveProduct",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": "$UpgradeDate"
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": "$UpgradeDate"
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": "$UpgradeDate"
                }
              ],
              "removeProduct": {
                "ratePlanId": "$RPIdRemove"
              }
            },
            {
              "type": "AddProduct",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": "$UpgradeDate"
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": "$UpgradeDate"
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": "$UpgradeDate"
                }
              ],
              "addProduct": {
                "productRatePlanId": "$ProductRPId",
                "chargeOverrides": [
                  {
                    "productRatePlanChargeId": "$ProductRPChargeId",
                    "pricing": {
                      "recurringVolume": {
                        "quantity": 20
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ],
      "processingOptions": {
        "runBilling": false,
        "collectPayment": false
      }
    }
    

    To create the order under a new account instead of an existing account, specify the newAccount field instead of the existingAccountNumber field.

To preview invoices for the updated subscription, use the "Preview order" operation.