Skip to main content

Create a Subscription

Zuora

Create 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 create a subscription by creating an order. You will set the duration of the first term to be 12 months. You will also set the duration of the renewal term to be 12 months.

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 subscription
  • The service activation date of the subscription
  • The customer acceptance date of the subscription
  • The start date of the first term of the subscription

Use the Zuora application

To create 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.pngat the top right. The Create New Order page opens.

  3. In the Account field, enter the name of the account that owns the order. By default, the account that owns the order will also own the subscription. If you want to set a different account as the subscription owner, you can do it in Step 6.

    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. In the Order date field, enter the order date you are to assign to the order.

  5. Click Create New Subscription.

  6. In the Create New Subscription area, complete the following steps:

    1. To set another account as the subscription owner, specify the account in the Subscription owner field. 

    2. In the Terms and Conditions section, enter 12 in the Initial term and Renewal term fields.

    3. In the Triggering dates section, specify the appropriate dates in the Contract effective, Service activation, and Customer acceptance fields for the subscription. For more information, see Billing Trigger Dates.

  7. Click Continue.

  8. 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

  9. 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.

  10. At the bottom of the page, click Add Product.

  11. (Optional): To modify the charges in the selected rate plan, click More details below the charge name.

  12. Click Continue. An order overview is displayed.

  13. To change the subscription name, complete the following steps:

    1. In the Associated Subscriptions area, click the menu icon next to the new subscription name and then click Edit subscription name.

      change-subscription-name.png

    2. In the Subscription name field, enter the subscription name and then click Save.

  14. Click Activate to activate the subscription.

Use the REST API

You can use the "Create order" operation to create a subscription.

Prior to the Orders feature being enabled, you would have used the "Create subscription", "Subscribe", or "Create account" operation.

To create a subscription by creating an order:

  1. Determine the values of the following variables:

    Variable Description
    $AccountNum The number of the account that will own the order and the subscription. For example, A00000001.
    $ProductRPId The ID of the product rate plan to subscribe to. For example, 2c92c0f85e5019d7015e513826e650f7.
    $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": [
        {
          "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"
                    }
                  ]
                },
                "subscribeToRatePlans": [
                  {
                    "productRatePlanId": "$ProductRPId"
                  }
                ]
              }
            }
          ]
        }
      ],
      "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 new 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.