---
sourceDocument: Australia Sales Customer Relationship Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/order-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Sales Customer Relationship Management

ft:clusterId :

    - omgmt

bundleId :

    - omgmt

workflow :

    - Customer and Industry


---

# Nested bundling in Salesforce CPQ

# Nested bundling in Salesforce CPQ {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Nested bundling in Salesforce CPQ

Nested bundling in Salesforce CPQ enables support for complex product hierarchies and configurations by allowing a nested bundle structure to be sent from ServiceNow CPQ and reflected in the Salesforce CPQ Quote Line Editor (QLE).
This integration leverages the bill of materials (BOM) hierarchy defined in ServiceNow CPQ, enhancing configurability and visibility of product bundles within Salesforce CPQ.
Show full answer Show less  

## Setup in Salesforce CPQ

* Requires Salesforce CPQ package version 242 (Spring 2023) or later.
* Enable **Nested Bundles for External Configurator** in Salesforce CPQ Package settings under Additional Settings.
* Mark products that may have nested products as **ServiceNow CPQ Enabled** in the Product2 record to support configurability.
* Ensure products have pricebook entries in the quote's pricebook to be created as quote lines.

## Setup in ServiceNow CPQ

* After Salesforce CPQ configuration, submit a support case via the ServiceNow Support portal to enable nested bundling in your ServiceNow CPQ instance.
* Define the BOM hierarchy using the **parentProduct** and **uniqueIdentifier** fields on bill of materials items to reflect the nested structure in Salesforce CPQ QLE.
* Test the configuration in a development or test environment before deploying to production.

## Limitations

* Nested bundles support up to four levels total, including the top-level parent (three nested levels inside ServiceNow CPQ configurations).
* Adding the same product to two different dynamic nested bundles via external configurator in Salesforce CPQ causes an "Attempt to de-reference a null object" error. This occurs when the same product is nested under multiple dynamic features within the same parent feature.

## Practical Value for ServiceNow Customers

By enabling nested bundling, ServiceNow CPQ customers can create and manage complex product bundles with hierarchical relationships that seamlessly synchronize with Salesforce CPQ. This improves quoting accuracy and configuration transparency across both platforms, streamlining sales processes that involve intricate product structures.  
Enable nested bundling in Salesforce CPQ to support complex product hierarchies and configurations.

With some additional configuration, ServiceNow CPQ now supports sending back a nested bundle structure from ServiceNow CPQ to Salesforce CPQ. This allows you to take advantage of the BOM hierarchy built in ServiceNow CPQ and have it reflected in the Salesforce CPQ Quote Line Editor (QLE).

## Setup in Salesforce {#cpq-nested-bundling-in-salesforce-cpq__section_y5x_tzt_rgc}

To enable support for nested bundles, additional setup steps must be completed in the Salesforce CPQ Package settings. These steps require Salesforce CPQ package version 242 (Spring 2023) or later.  
1. Navigate to Setup \> Installed Packages \> Salesforce CPQ, and then click Configure.

2. On the Additional Settings tab, check the box to enable Nested Bundles for External Configurator.
3. Click Save to save the changes.
{#cpq-nested-bundling-in-salesforce-cpq__ol_crt_l15_rgc}

Products that may have other products below them in the BOM hierarchy should be marked as ServiceNow CPQ Enabled in the Product2 record in Salesforce. This is the same as setting up configurable products to work with ServiceNow CPQ. The products also need to have a pricebook entry in the pricebook used for the quote if they are going to be created as quote lines.

The following video explains setting up nested bundle structures in ServiceNow CPQ and Salesforce CPQ:

[Nested Bundles Demo](https://www.youtube.com/watch?v=3EBOPNW_Gds)

## Setup in ServiceNow CPQ {#cpq-nested-bundling-in-salesforce-cpq__section_xzn_5zt_rgc}

After completing the Salesforce CPQ package setting steps, log a support case to enable nested bundling in your ServiceNow CPQ instance.  
Note:  
Create a support case by using the [ServiceNow Support portal](https://support.servicenow.com). For step-by-step instructions, see [Create a case on Now Support for CPQ Customers](https://support.servicenow.com/kb?sys_kb_id=d67d3e71475d7a90f64de825126d4326&id=kb_article_view).

As with any larger change, the recommendation would be to start in a dev or test environment and validate that it is working as expected before enabling it in production.

In ServiceNow CPQ, the BOM hierarchy is defined through the parentProduct and uniqueIdentifier fields on items in the bill of materials. This hierarchy in the product list is reflected in the Salesforce CPQ quote line
editor.

## Limitations {#cpq-nested-bundling-in-salesforce-cpq__section_yqp_kb5_rgc}

Nested bundles from external configurators are limited to four levels, including the topmost parent. This means you can nest products up to three levels deep inside a ServiceNow CPQ configuration.  
Note:  
Trying to add the same product to two dynamic nested bundles via an external configurator in Salesforce CPQ results in an "Attempt to de-reference a null object" error.

For example, suppose Product X is nested inside both the
Nested Child 1 dynamic feature and the Nested Child 2 dynamic feature, when both are children of the Parent dynamic feature. This configuration results in the error.

