Skip to main content

Multi Subscription Quoting


Multi Subscription Quoting

The Multi-Subscription Quoting (MSQ) feature is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, please contact your Client Success Manager.


Multi-Subscription Quoting (MSQ) is a comprehensive approach to subscription management that allows you to create, amend, and renew multiple subscriptions to your customers in a seamless and efficient manner with a single quote. It goes beyond traditional single-subscription models, enabling you to tailor subscriptions based on your customer preferences, market trends, and changing needs.

Multi-Subscription Quoting can be compared to the concept of child quotes nested within a parent quote. This concept broadens to include an array of subscription plans, with each plan acting as a distinct child quote integrated into the larger context.

Using Parent and Child Quotes

A quote can have child quotes.

  • A quote that has child quotes is referred to as a parent quote. 
    • A parent quote can have multiple sub-quotes.
    • Products cannot be added to a parent quote. 
  • A child quote is referred to as a sub-quote.
    • One or more products can be added to a sub-quote.

Enable Multi Subscription Quoting

  1. Submit a request at Zuora Global Support to ask for the latest Zuora Quotes package link. Include your Salesforce Org ID and request the activation of the MSQ feature in your organization.
  2. Install the new version of Zuora Quotes. Before installing the latest version of Zuora Quotes, ensure that "Lightning Web Security" is enabled in the Session Settings.

    To enable Lightning Web Security, take the following steps:
    • In Salesforce, navigate to Setup.
    • In the Quick Find Box, enter Session Settings, and then select Session Settings.
    • Locate the Lightning Web Security in the list and tick the Use Lightning Web Security for Lightning web components and Aura components checkbox.

  3. After MSQ activation, go to Zuora Config > Quote Studio Settings > Admin Config.
  4. Click the Enable Multi-Subscription Quoting button to enable Multi-Subscription Quoting for your Salesforce org.

Lightning Web Security cannot be turned off once enabled. 

Prerequisites for using MSQ

Before utilizing MSQ, there are certain prerequisites that should be considered. These prerequisites ensure a smooth enablement and usage of MSQ within your organization. 

To use the MSQ, you must meet the following requirements:

  • You must be on or upgrade to the latest version of Zuora Quotes (See the Release Notes for the latest version).
  • Ensure you are using Zuora Quotes-Lightning to utilize MSQ functionality.
  • The Zuora 360 package must be installed in your Salesforce org. 
  • Enable Multi-Subscription Quoting under Zuora Config > Admin Config setting.
  • Set up access to the MSQ feature for profiles within the Zuora Config > Quote Studio Settings > Feature Access Config.


  1. A maximum of 15 child quotes can be created per New, Amend, or Renew quote.
  2. In Quote Studio, only up to 200 products can be added to a single child quote at a time.
  3. There is a limit of 3000 as the total order actions allowed in a single MSQ.
  4. Cancelling multiple subscriptions in one quote is not supported.
  5. Creating Pending subscriptions within MSQ is not supported.
  6. MSQ doesn't support the rules engine. Any existing rules won't be evaluated during MSQ creation.
  7. Creating Order Line Items within MSQ is not supported.
  8. Cloning existing MSQs is not supported.
  9. The "updatequote" event within the Extensibility Framework can only be used to update Parent Quotes and Active Quotes.

Additional considerations for using MSQ

If you are utilizing custom components in the Extensibility Framework, use the following approach to retrieve the product timeline from the quote state:

New WAY to get Product timelines in the Extensibility Framework:

const productTimelinesProxy = JSON.parse(JSON.stringify(this.quoteState.subscription.productTimelines));

Previously, you might have utilized the below approach to get Product timelines in the Extensibility Framework:

const productTimelinesProxy = JSON.parse(JSON.stringify(Object.values(this.quoteState.subscriptions)[0].productTimelines));

Get started with MSQ

Refer to the following documentation to learn how to configure, and use MSQ through UI