Skip to main content

Add a Product to a Subscription

Zuora

Add a Product to a Subscription

The migration to full Orders is in Limited Availability. We are actively soliciting feedback from a small set of early adopters before releasing as generally available.

This tutorial demonstrates how to add a product to a subscription by creating an order.

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

Use the Zuora application

To add a product to a subscription by creating an order in the Zuora application:

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

  2. Click the Create New Order icon CreateOrderIcon.png 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. By default, the account that owns the order will also own the subscription.

    You can enter the account by clicking either Search by Account Name or Specify complete Account Number.

    • If you click Search by 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 Specify complete Account Number, type the exact account number.
  4. Click Modify 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. 

    select-subscriptions.png

  7. In the Associated subscriptions area, click the menu icon in front of the subscription to display the operations you can perform, and then click Add Product.

    subscription-operations.png

  8. In the Order Overview area, specify appropriate dates for the following fields. For more information, see Billing Trigger Dates.

    • Contract effective

    • Service activation

    • Customer acceptance

  9. 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. The displayed products will dynamically change as you type in the Search field.

    products-and-charges.png

  10. To add the product rate plan, click the right arrow ( > ) next to the product name to display all the rate plans, and then click Add to add one rate plan.

    You can add more than one rate plan. If you add a rate plan by mistake, click Added to clear the selection.

  11. Click Continue. The selected product is added.

  12. To add more products, scroll up the top of the Associated subscriptions area and repeat Step 7 - 11.

  13. For the new order to take effect, click Activate.

Use the REST API

You can use the "Create and activate order" operation to add a product to a subscription.

Prior to the Orders feature being enabled, you would have used the "Update subscription", "Amend", or "CRUD: Create amendment" operation.

To add a product to a subscription 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.
    $ProductRPId The ID of the product rate plan to add to the subscription. For example, 2c92c0f9592a69410159432fab376d81.
    $ProductRPChargeId The ID of the product rate plan charge to use when adding the product rate plan. For example, 2c92c0f9592a6941015943308a2c6e72.
    $Today Today's date. For example, 2017-09-30.
  2. 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": "AddProduct",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": $Today
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": $Today
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": $Today
                }
              ],
              "addProduct": {
                "productRatePlanId": $ProductRPId,
                "chargeOverrides": [
                  {
                    "productRatePlanChargeId": $ProductRPChargeId,
                    "pricing": {
                      "recurringFlatFee": {
                        "listPrice": 10
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ],
      "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.

SOAP Migration Guidance

When the Orders feature is enabled in your Zuora tenant, the SOAP API is not available. You must migrate any SOAP integrations to use the REST API instead. See Migrating From the SOAP API for the SOAP equivalent of this tutorial.