Skip to main content

Remove a Product on Subscription with Future-dated Removes

Zuora

Remove a Product on Subscription with Future-dated Removes

Orders is now generally available as of Zuora Billing Release 284 (August 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.

You can create a Remove Product order action even if there is already a future-dated Remove Product order action on the subscription. The feature is supported through the Orders UI and REST API. The effective date of the Remove Product order action must be earlier than the effective date of any existing future-dated Remove Product order action. The system will ignore it if you try to remove a product on a date after the effective date of a future-dated removal.

For example:

  • A customer subscribes to your monthly service for one year starting on January 1, 2022.
  • In March, the customer wants to remove the service on a future date, July 1, 2022. So you create a future-dated Remove Product amendment by setting the effective date to July 1, 2022.
  • In April, the customer wants to remove the service starting on May 1, 2022. So you create a Remove Product amendment by setting the removal date to May 1, 2022. 

The following table lists the order actions your customer has applied:

Order Action Effective Date and End Date

Create Subscription

January 1, 2022 - December 31, 2022

Remove Product before a future-dated Remove Product

May 1, 2022 - June 30, 2022

Remove Product

July 1, 2022 - December 31, 2022

Use the Zuora application

You can use the Zuora UI to remove a product even when future-dated Remove Product order actions already exist on the subscription.

  1. Follow the steps 1 - 8 in Remove a Product in a Subscription to remove the product starting on July 1, 2022. 

    RemoveProduct.png

  2. On the Included Products tab of the Review Order page, click the Display Removed Products toggle button to display the previously removed product.
  3. Click Remove under the target product so that you can remove it from a date that is earlier than the future-dated removal date - July 1, 2022.

    RemoveBeforeRemove.png

  4. In the remove rate plan dialog box, set the dates in the Contract effectiveService activation, and Customer acceptance fields to be May 1, 2022.
  5. Click Continue.
  6. Click Activate to the order.

Use the REST API

You can use the "Create order" operation to remove a product from a subscription even if there is a future-dated removal.

To remove a product from a subscription future-dated removal 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.
    $RPId The ID of the rate plan to remove from the subscription. For example, 402892c42ce80787012ce80ea2310019.
    $Future-dated_removal_date The future-dated removal date, 2021-07-01.
    $Removal_date The current removal date,2021-05-01.
  2. Use the "Create order" operation to create an order under an existing account:

    Request POST /v1/orders/
    Request Body
    {
      "orderDate": "$Removal_date",
      "existingAccountNumber": "$AccountNum",
      "subscriptions": [
        {
          "subscriptionNumber": "$SubscriptionNum",
          "orderActions": [
            {
              "type": "RemoveProduct",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": "$Future-dated_removal_date"
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": "$Future-dated_removal_date"
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": "$Future-dated_removal_date"
                }
              ],
              "removeProduct": {
                "ratePlanId": "$RPId"
              },
            },
            {
              "type": "RemoveProduct",
              "triggerDates": [
                {
                  "name": "ContractEffective",
                  "triggerDate": "$Removal_date"
                },
                {
                  "name": "ServiceActivation",
                  "triggerDate": "$Removal_date"
                },
                {
                  "name": "CustomerAcceptance",
                  "triggerDate": "$Removal_date"
                }
              ],
              "removeProduct": {
                "ratePlanId": "$RPId"
              },
            } 
          ]
        }
      ],
      "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 subscription, use the "Preview order" operation.