> For the complete documentation index, see [llms.txt](https://helpcenter.channable.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/virtual-bundles.md).

# Virtual Bundles

Create marketplace-specific product bundles while keeping your source catalog unchanged.

{% hint style="warning" icon="vial" %}

#### This feature is in beta

This is a new feature exclusive to [marketplace channels](https://www.channable.com/integrations?category=marketplaces\&sort=featured). To join the beta, contact our product team via [diana.gencer@channable.com](mailto:@diana.gencer@channable.com).
{% endhint %}

Virtual bundles let you sell several items from your catalog as one marketplace listing, with its own title, description, images, price, and GTIN.

The bundle exists only in Channable, so your eCommerce platform, ERP, and warehouse catalog stay unchanged.

{% columns %}
{% column width="41.66666666666667%" %}
**Use virtual bundles to:**

* Pair a bestseller with complementary items that sell more slowly to sell more stock.
* Test seasonal kits or short-term offers without changing your source data.
* Set a bundle price, directly or as a percentage discount, that stays the same when component prices change.
  {% endcolumn %}

{% column width="58.33333333333333%" %}
![](https://3067532480-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FF8GepmoSonQRG6RnHOxJ%2Fuploads%2FGyIC7r1SEMxBPOO6MsUr%2FVaration2_Virtual%20bundle.png?alt=media\&token=5abd0485-2c30-4752-b520-1b3a62fbd80f)
{% endcolumn %}
{% endcolumns %}

{% hint style="info" icon="lightbulb" %}

#### Example

Create a 'Home-office starter set' with an ergonomic mouse and keyboard, or a Mother's Day gift set with shampoo, a candle, and perfume.
{% endhint %}

### How virtual bundles work

Each virtual bundle is its own item in your marketplace channel, built from component items in your catalog.

<details>

<summary>Listing data</summary>

You set the bundle's title, description, images, price, and GTIN in Channable. The data for the component products in your source catalog doesn't change.

</details>

<details>

<summary>Pricing</summary>

You can choose from a [**Fixed price discount (%)**](#user-content-fn-1)[^1], or [**Fixed bundle price**](#user-content-fn-2)[^2].

With either option, the bundle price stays the same when component prices change. With a percentage discount, Channable recalculates the percentage to keep the price.

{% hint style="warning" %}

#### Important

Because the bundle price doesn't follow component prices, lowering a component's price can make the bundle cost more than its components bought separately. When you lower a component's price, check the bundles that contain it.
{% endhint %}

</details>

<details>

<summary>Stock</summary>

A bundle's stock equals the stock of its component with the lowest availability.

{% hint style="info" %}

#### Example

A bundle needs 1 mouse and 1 keyboard.

If you have 20 mice and 8 keyboards, you can sell **8 bundles**.
{% endhint %}

If a bundle contains more than one unit of an item, Channable divides that item's stock by the quantity you set.

{% hint style="info" %}

#### Example

A bundle has 2 white cotton shirts (size M) and 1 pair of jeans.

With 9 shirts and 10 jeans in stock, you can sell 4 bundles.
{% endhint %}

When any component runs out, Channable sets the bundle's stock to 0. The bundle keeps exporting at zero stock, like any other out-of-stock product in your channel, so the marketplace can't take orders you can't fulfill.

If you exclude or delete a component from your feed, the bundle stays active and shows the missing component in Channable. Channable sets the bundle's stock to 0, so it isn't for sale on the marketplace.

Components share stock with their own listings and with any other bundle that contains them. A component with low stock can sell out quickly if it's in several bundles or sold on several channels.

</details>

<details>

<summary>Orders and fulfillment</summary>

**How orders are registered**

When a customer orders a bundle, your order connection splits the order into its component products before it reaches your eCommerce platform. Your platform then processes each component as a separate order line.

**Test bundles**

You can test a bundle order to confirm that Channable splits the bundle into its component items. You can then check the items in Channable and in your eCommerce platform.

{% hint style="warning" %}

#### Activate your channel first

This test only works when the channel API is active (**\[your channel] > Settings > Activate API**).
{% endhint %}

{% stepper %}
{% step %}

#### Send a test order

1. In Channable, go to the channel where you created the bundle > **Order connections**.
2. Select **Settings** for the order connection you want to use.
3. Click **Send test > Send test order**.
4. For **Product item ID**, fill in the bundle ID.
5. Click **Test order**.
   {% endstep %}

{% step %}

#### Review results

1. In the sidebar, go to **Orders**.
2. If the test was successful, the test order should appear in the **All orders** tab.
   {% endstep %}
   {% endstepper %}

**Stock and shipping**

* You fulfill bundles from your own stock.
* You can't use marketplace fulfillment programs, such as **Fulfillment by Amazon** (FBA) or **Logistiek via bol** (LVB), because those warehouses only stock physical products.
  * To sell a bundle through FBA, you'll need to create and manage it as a physical bundle in Seller Central.
* Ship all components of a bundle in one package. The marketplace treats the bundle as one item, and Channable sends one shipment update for it.
  * If you can't ship one of the components, cancel the whole bundle. You can't cancel individual components. Other products in the same order aren't affected, so you can still ship those.

</details>

<details>

<summary>Returns</summary>

Channable doesn't set your return policy.

Before you publish a bundle, decide what happens when a customer returns only part of it. For example, you might refund the returned component's share of the bundle price, or accept returns of the complete bundle only, within what the marketplace allows.

</details>

{% hint style="warning" %}

#### Important

Use virtual bundles only with an [order connection](/list-advertise/orders/order-connections.md) for that marketplace.

Virtual bundles exist only in Channable. Your eCommerce platform doesn't recognize them, and the marketplace treats each bundle as if it were a standard listing.&#x20;

The order connection splits bundle orders into their component products, so your eCommerce platform can then process them.

Without an order connection, track orders in the marketplace, check their contents in Channable, and fulfill them manually. Other integrators and order automation tools don't recognize virtual bundles either.

<a href="/list-advertise/orders/order-connections.md" class="button secondary medium" data-icon="up-right-from-square">Learn more about order connections</a>
{% endhint %}

{% content-ref url="/spaces/F8GepmoSonQRG6RnHOxJ/pages/f31f42c2162deccd4b82f1b77038a14f268f4a8c" %}
[How to set up an order connection](/list-advertise/orders/order-connections/how-to-set-up-an-order-connection.md)
{% endcontent-ref %}

### How to set them up

{% stepper %}
{% step %}

#### Map source fields

When setting up bundles in a channel for the first time, you need to choose the project fields Channable uses for bundle prices, stock, GTIN/EANs, images, and content.
{% endstep %}

{% step %}

#### Select items

Select the items for your bundle, and their quantities.

{% hint style="info" %}

#### Note

Some marketplaces limit the number of items in a bundle. They might require proof, such as a Letter of Authorization, if you don't own the brand.
{% endhint %}
{% endstep %}

{% step %}

#### Configure the bundle

Choose your pricing option, fill in the bundle's GTIN, and add titles, descriptions, and images. You can edit these settings later.
{% endstep %}

{% step %}

#### Activate

Activate a bundle when you're ready to send it. Once activated, it will be treated as if it were a normal product sent by your channel - so any rules there would apply to your bundle too.
{% endstep %}
{% endstepper %}

<a href="/list-advertise/sell-on-marketplaces/virtual-bundles/how-to-set-up-virtual-bundles.md" class="button primary" data-icon="up-right-from-square">View full instructions</a>

### Marketplace requirements

Each marketplace sets its own bundle rules, such as item limits, pricing caps, and brand permission. Marketplaces can reject or remove bundles that break them, and some penalize your account.

Before you create a bundle, see [Marketplace requirements for virtual bundles](/list-advertise/sell-on-marketplaces/virtual-bundles/marketplace-requirements-for-virtual-bundles.md).

### FAQ

<details>

<summary>Is this the same as Amazon Virtual bundles?</summary>

No. Amazon's Virtual Bundles tool is only available to brand owners in Brand Registry, groups existing ASINs without a new GTIN, and ships from FBA stock. A Channable virtual bundle has its own GTIN and listing, and you fulfill it yourself.

</details>

<details>

<summary>Do I need a new GTIN for each bundle?</summary>

Yes. Each bundle needs its own GS1-registered GTIN/EAN. You can't use the GTIN of one of its components.

</details>

<details>

<summary>Can I use FBA or LVB for virtual bundles?</summary>

No. Marketplace warehouses only stock physical products, so you fulfill virtual bundles from your own stock.

</details>

<details>

<summary>Can I change a bundle after it's live?</summary>

Yes, you can edit a bundle's settings in Channable. On bol, changing which items a bundle contains requires a new EAN, so create a new bundle instead.

</details>

<details>

<summary>Does the bundle price change when component prices change?</summary>

No. With both pricing options, the bundle price stays the same. If you lower a component's price, check that its bundles still cost less than their components, especially on bol.

</details>

<details>

<summary>What happens if I remove a component product from my feed?</summary>

While the component is missing, Channable sets the bundle's stock to 0, so the bundle isn't for sale on the marketplace.

</details>

<details>

<summary>Can a customer cancel part of a bundle?</summary>

No. A cancellation applies to the whole bundle. If the order contains other products, you can still ship those.

</details>

[^1]: You can specify a percentage discount that Channable applies to the combined price of the component products to set the bundle price.

[^2]: You can set an exact bundle price. This will stay the same, even if component item prices change.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://helpcenter.channable.com/list-advertise/sell-on-marketplaces/virtual-bundles.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
