Welcome to Zuora Product Documentation

Explore our rich library of product information

Remove a Product from a Subscription (API versions 24.0 and earlier)

Use SOAP API calls to create an amendment, add a rate plan, and update the amendment to remove a product from a subscription.

To remove a product from a subscription:

  1. Create a new amendment.
  2. Create a new RatePlan.
  3. Update the new amendment, setting the status to Completed.

Use the create() call to create the new amendment. Set the following fields:

  • Set the Type to RemoveProduct.

  • Set the EffectiveDate. This should correspond to the value of ContractEffectiveDate.

  • Specify a name for the amendment.

  • Specify the ID of the Subscription object.

  • Set the Status to Draft. This is important, because the amendment is not completed until you add the new product.

The SOAP call envelope payload should look like the following:

<ns1:create> 
  <ns1:zObjects xsi:type="ns2:Amendment">   
    <ns2:EffectiveDate>2009-08-01</ns2:EffectiveDate>   
    <ns2:Name>Remove a Product</ns2:Name>   
    <ns2:Status>Draft</ns2:Status>   
    <ns2:SubscriptionId>4028e69922c95b270122cd80a82f30c0</ns2:SubscriptionId>   
    <ns2:Type>RemoveProduct</ns2:Type> 
  </ns1:zObjects>
</ns1:create>

Set the following fields:

  • Set the new AmendmentId to the new Amendment ID returned in your previous query.

  • Set the AmendmentType to RemoveProduct.

  • Set the AmendmentSubscriptionRatePlanId to the rate plan ID returned from querying the RatePlan object. The rate plan should belong to the subscription that you specified in your previous query.

Zuora will create RatePlanCharges and RatePlanChargeTiers in the background.

The SOAP call envelope payload should look like the following:

<ns1:create> 
  <ns1:zObjects xsi:type="ns2:RatePlan">   
    <ns2:AmendmentId>4028e69922ece21e0122f110b43332f5</ns2:AmendmentId>   
    <ns2:AmendmentSubscriptionRatePlanId>4028e69922c95b270122cd80a8d830db
    </ns2:AmendmentSubscriptionRatePlanId>
    <ns2:AmendmentType>RemoveProduct</ns2:AmendmentType> 
  </ns1:zObjects>
</ns1:create>

Set the following fields:

  • Set the Id field to the Amendment ID returned in the initial query.

  • Set the ContractEffectiveDate to a date and time in the future.

  • If Require Customer Acceptance of Orders? is set to "Yes" on the Z-Billing Admin Default Subscription Settings page, then you must specify the ContractAcceptanceDate.

  • If Require Service Activation? is set to "Yes" on the Z-Billing Admin Default Subscription Settings page, then you must specify the ServiceActivationDate.

  • Set the Status to Completed.

The SOAP call envelope payload should look like the following:

<ns1:update>
 <ns1:zObjects xsi:type="ns2:Amendment">
   <ns2:Id>4028e69922ece21e0122f110b43332f5</ns2:Id>
   <ns2:ContractEffectiveDate>2009-08-01</ns2:ContractEffectiveDate>
   <ns2:Status>Completed</ns2:Status> </ns1:zObjects>
</ns1:update>