Product Bundle
Overview on the product bundle in RevCent.
Overview
The product bundle feature in RevCent allows you sell a product which contains a bundle of products. This feature was created due to the need for notifying fulfillment of products contained in a bundle, rather than just the bundle product sold.
RevCent can unbundle the products when creating the sale, or only unbundle when notifying a fulfillment center. In either case, the fulfillment center will be notified of all unbundled products, and not the single bundle product.
In the case of subscription or trial products, they themselves can be a bundle, which notifies fulfillment of their bundled products when the subscription renews or trial expires.
Why Set A Product As A Bundle?
- Sell a single product and RevCent will convert it into multiple products at time of sale and/or shipment.
- RevCent takes care of the bundle, shipping and customer email logic internally.
- You can ship a bundle of products in separate shipments if fulfillment center’s differ amongst bundled products.
- Sell trial and subscription products within a bundle.
- Have a subscription or trial product be a bundle, which notifies fulfillment of bundled products when subscription renews or trial expires.
Terminology
- Bundle Product: The product which contains a bundle of products. I.e. the parent product.
- Bundled Product(s): The product(s) contained within a bundle product. I.e. the child product(s).
How It Works
You create a product and set it as a bundle, with bundled products contained within. A sale request is sent to RevCent containing a bundle product. RevCent checks the bundle product settings, specifically the unbundle method. The unbundle method determines whether:
(a) RevCent immediately unbundles the bundle product at time of sale, replacing the bundle product and selling the products contained within.
(b) RevCent proceeds as usual, selling the bundle product itself and only unbundles when notifying fulfillment.
In either case, the fulfillment center(s) will receive the unbundled products as the items to ship. You simply have the option to unbundle immediately at sale or not.
Read more about the difference between unbundle methods.
Selecting Bundled Products
When setting a product as a bundle, you must select its child bundled products. It is important to note that you must specify the quantity and price of each bundled product. The total amount of all bundled products, when price and quantity of each are summed, must equal the parent bundle products’ price.

Why Must Bundled Total Equal Bundle Price?
The total amount of all child bundled products must equal the parent bundle product price due to:
- The need to notify fulfillment center(s) of the price of each child product. RevCent needs to know the correct amount and quantity for each unbundled product, even if reduced due to bundling.
- Any discounts or difference in parent bundle price will also be reflected in the individual bundled products’ price. RevCent calculates the percentage of each bundled product compared to the total bundle product price.
- The total amount must be the same as we do not want the customer to be charged a different amount. Unbundle At Sale only
- Refunds will be properly itemized according to child product refunded. Unbundle At Sale only
Unbundle Methods
The unbundle method is the most important part of setting up a product bundle. It affects when unbundling occurs, fulfillment notification and differences in metrics reporting.
Unbundle At Fulfillment Only
Let’s say you are selling a bundle product on your store, and you want RevCent to notify the fulfillment center with the products contained within the bundle. However, you do not want RevCent to unbundle the products until notifying fulfillment. This is the most common unbundle method. A subscription product or trial product can themselves be a bundle, which will unbundle at fulfillment when subscription renews or trial expires.

- When a sale request is received, the bundle product is not unbundled yet, and is instead processed as a single product.
- The fulfillment center selected in the bundle products’ Shipping tab determines where all bundled products will be sent.
- Each bundled product and it’s respective quantity will be provided to the lone fulfillment center.
Cons
You may not want to unbundle at fulfillment only for the following reasons:
- Subscription or trial products contained within a parent bundle product sold will not create a subscription or trial at time of sale, as they are only unbundled when notifying fulfillment.
- You cannot bundle products which ship from multiple fulfillment centers. The fulfillment center selected in the parent bundle product will be the only one to receive bundles items to be shipped.
- Metrics reporting will aggregate the bundle product purchased, and not bundled products contained within.
Unbundle At Sale
This is an advanced method. Think of unbundling at sale as selling an alias product (bundle product), which when received by RevCent during sale creation, immediately turns into the actual products bundled within. This is the recommended method if selling bundle products containing trial products, bundle products containing subscription products or bundle products containing products from separate fulfillment centers.
Important: This option only applies to selling a bundle product during an initial sale. If you want to sell a subscription and/or trial product which itself is a bundle, then use the fulfillment only method when applying bundle settings at the subscription or trial parent product.

- When a sale request is received, the bundle product is immediately unbundled and replaced by each product contained in the bundle.
- The products within the bundle are processed as individual items in the sale. Metadata is attached to each unbundled product indicating the parent bundle product.
- Each bundled product and it’s respective quantity will be provided to the respective bundled products’ fulfillment center.
Important caveats when unbundling at sale:
- If selling a parent bundle product which contains a subscription product, the subscription price will be the price indicated in the bundle settings of the parent bundle product and not the price in the bundled subscription product.
- If selling a parent bundle product which contains a trial product, the trial expiration price will be the price indicated in the bundle settings of the parent bundle product and not the price in the bundled trial product itself.
Cons
You may not want to unbundle at sale for the following reasons:
- Metrics reporting will aggregate the bundled products, with the ability to show parent bundle product purchased via filtering.
- Customer service representatives will need to identify when products were the result of a bundle. For example, a customer may call and ask about their Y bundle product purchase. For the customer service representative, the sale will appear to show that the customer purchased X products, when in fact the customer purchased Y product that unbundled into X products. Visual indicators are displayed in the web app when bundles are involved.
View Bundled Products
There are several ways to view bundled products in the web app.
Details Pages
When viewing a details page, such as sale details, you will see a list of Products Bundled underneath the Products Sold table. This indicates that a product purchased (Products Sold) was a bundle, and the Products Bundled list shows the bundled products contained within.

List Pages
When viewing a list of items on a list page, you will notice a brown package icon. This indicates that the product is a bundle containing child products.

Click the brown package icon to view details on what the parent bundle product contains.

View Bundle Products
There are several ways to view the originating parent bundle product in the web app. Note: this would only occur if using the Unbundle At Sale method.
Details Pages
When viewing a details page, such as sale details, you will see a list of Bundle Products underneath the Products Sold table. This indicates that a product purchased (Products Sold) was part of a parent bundle. The Bundle Products list shows the originating parent product along with its unbundled products.

List Pages
When viewing a list of items on a list page, you will notice a green package icon. This indicates that the product was a child product unbundled at sale.

Click the green package icon to view details on where the unbundled product originated from, i.e. its parent product.

Subscription & Trial Bundle Products
You can sell a subscription or trial product in an initial sale, which when it renews and/or expires, RevCent will notify the fulfillment of the bundled products within. Useful when you want to sell bundle products on a recurring basis.
The process is the same as unbundle at fulfillment. When the bundle product renews or expires, RevCent notifies fulfillment of bundled products to ship, and any customer emails will contain the bundle product and not the products bundled.

Bundle FAQ
Common questions about product bundles in RevCent. As always, feel free to contact us if you have any questions.
Which Unbundle Method Should I Pick?
If you are unsure, pick Unbundle At Fulfillment Only.
What will be in the customer email?
Regardless of unbundle method, when a bundle product is sold, the products listed for the customer sale and shipping email(s) will be the parent bundle product purchased, and not the child bundled products. This is to avoid confusion for the customer, as they purchased the parent bundle product and not the child bundled products. We don’t want the customer to purchase a bundle product, then get an email purporting that they purchased something else.
Advanced: you are able to access bundle products using custom_data in emails if Unbundle At Sale was the sales’ unbundle method.
Can A Subscription Product Be A Bundle?
Yes. A subscription product can contain child bundled products. When the subscription renews, the fulfillment center will be notified to ship the child bundled products.
Can A Trial Product Be A Bundle?
Yes. A trial product can contain child bundled products. When the trial expires, the fulfillment center will be notified to ship the child bundled products.
Can I Sell Multiple Bundle Products In A Single Sale?
Yes. Multiple parent bundle products in a sale will unbundle according to bundle settings for each.
Event Data
If you are using functions, flows, account events or custom_data in emails for post sale processing, it is important to note the item_details data. The item_details data contained will differ based on unbundle method.
Unbundle At Fulfillment - Event Data
For an unbundle method of Unbundle At Fulfillment, the products_detailed property will contain the parent bundle product purchased. If the product is a parent bundle as indicated by is_bundle: true, you will see the bundle_settings object, showing the child bundled products within.
In the example below, the customer purchased the Bundle Product, which is a parent product. The is_bundle: true indicates that there are child products (Laptop X400 and USB HDD) contained in the Bundle Product. We can access the child products via the bundle_settings.product array.
{
...,
"products_detailed": [
{
"id": "o1Od420avZsM1Klzvl8E",
"price": 199.99,
"quantity": 1,
"name": "Bundle Product",
"description": "Bundle Product.",
"total_amount": 199.99,
"discount_amount": 5,
"is_subscription": false,
"is_trial": false,
"internal_id": "bundle_internal_id",
"sku": "bundle_sku",
"uuid": "63b316c1-6391-4e29-9732-b1041539eabd",
"url": "",
"images": [],
"is_bundle": true,
"bundle_settings": {
"products": [
{
"quantity": 1,
"price": 99.99,
"product": {
"id": "qZd0dL5WL4fEGJKK824m",
"name": "Laptop X400",
"sku": "laptop_x400_sku",
"internal_id": "laptop_x400",
"is_trial": false,
"is_subscription": false,
"is_shippable": true
}
},
{
"quantity": 1,
"price": 100,
"product": {
"id": "k6EXjKzd7PHOpgvdYjXG",
"name": "USB HDD",
"sku": "usb_hdd_sku",
"internal_id": "usb_hdd",
"is_trial": false,
"is_subscription": false,
"is_shippable": true
}
}
]
}
],
...
}Unbundle At Sale - Event Data
For an unbundle method of Unbundle At Sale, the products_detailed property will contain the child bundled products. This is because the parent bundle product was unbundled at time of sale, and the child bundled products were ultimately purchased.
There will also be a bundle_products array, which lists the original bundle product that was extracted into the bundled products listed in products_detailed. The bundle_products array allows you to match parent bundle product with child bundled product in products_detailed, using the bundled_product_uuids array and uuid property respectively. Matching is especially useful if selling multiple parent bundle products in the same sale.
{
...,
"bundle_products": [
{
"bundled_product_ids": [
"6r8O5MLbw2t6n4v1lGqK",
"k6EXjKzd7PHOpgvdYjXG"
],
"bundled_product_uuids": [
"91bd5cf3-8a52-4106-98ab-8a8f500c7abb", // match with products_detailed[i].uuid
"85f2a414-bc16-485e-ae63-f1dd8bf2c6cd"
],
"description": "Bundle Product.",
"discount_amount": 5,
"id": "o1Od420avZsM1Klzvl8E",
"images": [
{
"id": "2tbo12yWYrARXM6Kg4QV",
"featured": true,
"file_name": "2tbo12yWYrARXM6Kg4QV",
"file_ext": "jpg",
"image_width": 612,
"image_height": 612,
"mimetype": "image/jpeg",
"base_url": "https://productimg.revcent.com",
"full_url": "https://productimg.revcent.com/2tbo12yWYrARXM6Kg4QV.jpg",
"compressed_extensions": [
"_resize_300",
"_resize_600",
"_resize_150"
]
}
],
"internal_id": "bundle_internal_id",
"is_subscription": false,
"is_trial": false,
"name": "Bundle Product",
"price": 199.99,
"quantity": 1,
"sku": "bundle_sku",
"total_amount": 199.99,
"url": ""
}
],
"products_detailed": [
{
"id": "k6EXjKzd7PHOpgvdYjXG",
"price": 100,
"quantity": 1,
"name": "USB HDD",
"description": "Great USB for data storage.",
"total_amount": 100,
"discount_amount": 2.5,
"is_subscription": false,
"is_trial": false,
"internal_id": "usb_hdd",
"sku": "usb_hdd_sku",
"uuid": "85f2a414-bc16-485e-ae63-f1dd8bf2c6cd", // match with bundle_products.bundled_product_uuids array
"url": "",
"images": []
},
{
"id": "6r8O5MLbw2t6n4v1lGqK",
"price": 99.99,
"quantity": 1,
"name": "AV 2017",
"description": "test",
"total_amount": 99.99,
"discount_amount": 2.5,
"is_subscription": true,
"is_trial": false,
"internal_id": "av_2017",
"sku": "av_2017_sku",
"uuid": "91bd5cf3-8a52-4106-98ab-8a8f500c7abb",
"url": "",
"images": []
}
],
...
}