---
schema_version: "1"
id: c98f030b4559d81bd5d85245fbca4069046d2bd51af6ccdd0e4ebb3ca20234a6
title: Product Bundles and Cardinality in EPC
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_product_bundles_and_cardinality_in_epc.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_product_bundles_and_cardinality_in_epc.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 26be097497dec23d10a16eb31330145d3c60d59db55f29160f9e0faceaa5aff2
description: A product bundle is a set of products sold together. Products are bundled using a “Has-A” Containment relationship as either a child or a realization. A product can have one or more product child items (or PCIs), and you can define cardinality for each. PCIs can be a single product or a product bundle, which allows you to create product bundles within product bundles.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Product Bundles and Cardinality in EPC

A product bundle is a set of products sold together. Products are bundled using a “Has-A” Containment relationship as either a child or a realization. A product can have one or more product child items (or PCIs), and you can define cardinality for each. PCIs can be a single product or a product bundle, which allows you to create product bundles within product bundles.

## Types of Product Line Items in a Bundle

There are two key types of product line items in a bundle hierarchy:

- Root product line item is the top-level line item. Root does not have a parent, therefore the ParentItemId is always empty.
- Product Child Item (PCI) defines the relationship between a parent product and its children.

## Product Cardinality

Product cardinality defines the default, minimum and maximum quantities of the product that are allowed in the product bundle. Most order line items have a minimum and maximum value allowed, which Industries Cart enforces in the Quantity field for each line item. In the EPC database, the product data model defines the cardinality of product child items, which are displayed as order line items in the Cart. Cardinality is like a rule that ensures you specify the right quantities in the cart: not too many, and not too few.

For example, a business account may be allowed to purchase up to two Complete TV products, with the purchase of the product optional. In this case, the underlying the EPC data model defines the following cardinality for the Complete TV product, where the minimum cardinality is 0 and the maximum is 1. With this cardinality defined, if you try to specify a quantity of "3", the cart notifies you that you can only add up to "2" Complete TV products.

You can override the cardinality of product bundles when they are included within another product bundle.

As a product manager, you can define two types of cardinality:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" rowspan="3" style="vertical-align:top;" id="d20506e76">
              <p>PCI cardinality</p>
              <p style="margin-bottom:0;">(quantities of the product
                that are allowed in the product bundle)</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d20506e85">
              <p style="margin-bottom:0;">Min Quantity: The sum of the quantities of the instances of a PCI
                cannot be less than the value defined in Min Quantity.</p>
            </th>
          </tr>
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d20506e94">&nbsp;</th>
          </tr>
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d20506e99">&nbsp;</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" rowspan="3" style="vertical-align:top;" headers="d20506e76 ">&nbsp;</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d20506e85 d20506e94 d20506e99 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d20506e85 d20506e94 d20506e99 ">
              <p style="margin-bottom:0;">Max Quantity: The sum of the quantities of the instances of a PCI
                cannot be greater than the value defined in the Max
                Quantity.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d20506e85 d20506e94 d20506e99 ">
              <p style="margin-bottom:0;">Default Quantity: The value of the Quantity field when a PCI is
                added as a Line Item.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="" class="slds-cell-wrap" rowspan="2" style="vertical-align:top;" headers="d20506e76 ">
              <p>Group cardinality</p>
              <p style="margin-bottom:0;">(defines the minimum and
                maximum allowable quantities across an item’s immediate
                children)</p>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d20506e85 d20506e94 d20506e99 ">
              <p style="margin-bottom:0;">Min Children Quantity: The sum of the quantities of an item's
                children cannot be less than the value defined in Min Children
                Quantity.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d20506e85 d20506e94 d20506e99 ">
              <p style="margin-bottom:0;">Max Children Quantity: The sum of the quantities of an item's
                children cannot be more than the value defined in Max Children
                Quantity.</p>
            </td>

          </tr>
        </tbody>
      </table>

## Cardinality Overrides

You can override product cardinality in a bundle. Cardinality overrides must be equal or greater than the minimum and maximum limits set by the original cardinality. For example, if the minimum original quantity is 2, you cannot create a minimum override quantity of 1; the override must be greater than or equal to 2.

- **[Create a Product Bundle in the Product Console](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_product_bundle_in_the_product_console.htm&release=264.0.0&type=5)**  
    Creating a product bundle as an offer involves creating the structure of the bundle, including the main product and the product child items that comprise the bundle offer.
- **[Override the Cardinality of the Child Product Bundle in the Product Console](https://help.salesforce.com/s/articleView?id=ind.comms_override_the_cardinality_of_the_child_product_bundle_in_the_product_console.htm&release=264.0.0&type=5)**  
    You can override product cardinality in a bundle. Cardinality overrides must be equal to or greater than the minimum and maximum limits set by the original cardinality.
- **[Override Product Attributes in the Product Console](https://help.salesforce.com/s/articleView?id=ind.comms_override_product_attributes_in_the_product_console.htm&release=264.0.0&type=5)**  
    With EPC, you create attributes one time and assign them to an object type, which products inherit. Within a bundle, you can override attributes for a product.
- **[Create a Price List Entry for a Product Bundle in the Product Console](https://help.salesforce.com/s/articleView?id=ind.comms_create_a_price_list_entry_for_a_product_bundle_in_the_product_console.htm&release=264.0.0&type=5)**  
    You can add a price list entry to your new product bundle so that it rolls up prices for the child products when it’s displayed in the Industries Cart.
- **[Add an Attachment or an Image to a Product in the Product Console](https://help.salesforce.com/s/articleView?id=ind.comms_add_an_attachment_or_an_image_to_a_product_in_the_product_console.htm&release=264.0.0&type=5)**  
    The Product Console provides the ability to upload various types of attachments, including images and documents. On the Attachments tab, you indicate the product image to show across different channels.
- **[Refresh the Product Hierarchy Cache](https://help.salesforce.com/s/articleView?id=ind.comms_refresh_the_product_hierarchy_cache.htm&release=264.0.0&type=5)**  
    After you create a product bundle, you must update the product hierarchy cache, or the new product bundle doesn't display properly in the Industries Cart.