> 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/how-to-set-up-virtual-bundles.md).

# How to set up Virtual Bundles

Create a marketplace-only bundle, configure its stock and product data, and publish it through your marketplace channels.

Use a virtual bundle to sell existing products together on marketplaces. The bundle doesn't create a product in your eCommerce platform.

{% 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 %}

### <i class="fa-memo-circle-check">:memo-circle-check:</i> Before you start

**You'll need**

* A Channable project with imported child products and stock data.
* A [GS1-registered GTIN/EAN](#before-you-start) for the bundle. Channable doesn't generate this for you.
* A marketplace channel that supports virtual bundles.
* Any [permissions the marketplace requires](/list-advertise/sell-on-marketplaces/virtual-bundles/marketplace-requirements-for-virtual-bundles.md), such as written permission from brand owners.
* An[ order connection](/list-advertise/orders/order-connections.md), so bundle orders reach your eCommerce platform as individual component products.
  * [Test the connection](/list-advertise/orders/processing-orders-returns-and-cancellations/test-orders-and-test-returns.md) before you activate a bundle to confirm that your eCommerce platform receives every component product in the expected quantity.

**Good to know**

* Channable works out how many bundles each component's stock can supply, and uses the lowest number. For example, a bundle needs 1 mouse and 1 keyboard. If you have 20 mice and 8 keyboards, you can sell 8 bundles.
* If any component runs out of stock or is removed from your feed, Channable sets the bundle's stock to 0.
* You can't fulfill virtual bundles through marketplace fulfillment programs, such as **Fulfillment by Amazon** (FBA) or **Logistiek via bol** (LVB).

{% hint style="info" %}
For more about stock, pricing, and orders, see [Virtual Bundles](/list-advertise/sell-on-marketplaces/virtual-bundles.md).
{% endhint %}

***

{% stepper %}
{% step %}

### Create a virtual bundle

1. In your project, go to **Channels**.
2. Select the channel where you want to create and send a virtual bundle.
3. In the sidebar, click **Virtual bundles**.
4. Click **Create first bundle**.
   {% endstep %}

{% step %}

### Map source fields

If this is your first bundle in this channel, map the project fields Channable uses for bundle data. You only do this once per channel.

1. For **Price field**, select the number field Channable holds your item prices. We'll use this to calculate bundle prices.
2. For **Currency**, select the currency of that price field.
3. For **Stock field**, select the number field that holds stock information for your items. We'll use it to calculate bundle availability.
4. For **GTIN/EAN field**, select the field containing the GTINs/EANs for your items.
5. For **Main image field**, select an image field for your main bundle images.
6. For **Extra image field**, select an image field for additional bundle images.
7. For **Title field**, select the project field to store your bundle titles.
8. For **Description field**, select a field to store your bundle descriptions.
9. Click **Save & continue**.
   {% endstep %}

{% step %}

### Build a bundle

1. Click **Select bundle items**.
2. In the dialog, select the checkbox next to each item to include in the bundle.

{% hint style="info" %}

#### Note

A bundle can contain up to 10 component products by default. Some marketplaces set a lower limit. For example, bol allows up to 4 different EANs.

See [Marketplace requirements for virtual bundles](/list-advertise/sell-on-marketplaces/virtual-bundles/marketplace-requirements-for-virtual-bundles.md).
{% endhint %}

3. Choose a pricing option:
   * For **Fixed price discount (%)**, enter a number to set a percentage discount to apply to the bundle price. If component prices change, Channable recalculates the percentage to keep the bundle price the same.
   * For **Fixed bundle price**, enter an exact bundle price. This price stays the same when item prices change. This option overrides any discount percentage.

{% hint style="warning" %}

#### Important

With either option, the bundle price doesn't follow component prices. If you lower a component's price, check that the bundle still meets the marketplace's pricing rules.
{% endhint %}

3. For **Bundle GTIN/EAN**, enter the unique, GS1-registered GTIN/EAN for your bundle. Generate and approve this GTIN/EAN for this specific bundle. Channable doesn't generate GTIN/EANs.
4. For **Bundle title**, enter a clear, search-friendly title. Follow the marketplace's listing best practices.
5. For **Bundle description**, describe the component items and their value as a bundle.
6. For **Bundle main image**, enter the URL of the image for this bundle. Use an image that clearly displays each bundled item.

{% hint style="info" %}
Core Pro lets you [create bundle images with AI](#before-you-start).
{% endhint %}

3. For **Additional image URL**, enter the URL of another image, such as a different angle or a close-up of one component.
4. Click **Save setup**.

All fields except **Additional image URL** are required to save the bundle. You can edit every field after saving.

Channable saves the bundle as inactive.
{% endstep %}

{% step %}

### Activate your bundle

Before you activate, make sure you've [tested your order connection](/list-advertise/orders/processing-orders-returns-and-cancellations/test-orders-and-test-returns.md).

1. On the **Virtual bundles** overview page, click **Activate** for the bundle you want to send. We'll check the bundle's BTIN/EAN to validate it.
   1. If the GTIN/EAN isn't valid, Channable shows an error. If you see this error, update the GTIN/EAN, then activate the bundle again.
2. Wait for the next scheduled channel sync, when Channable sends the bundle to the marketplace. To send it sooner, click **Run now** for your channel.
   {% endstep %}
   {% endstepper %}

### Handle bundle orders

When a customer orders a bundle, your order connection sends the order to your eCommerce platform as individual component products, so your fulfillment system can pick each one.

* **Shipping:** Ship all component products of a bundle in one package. The marketplace treats the bundle as one item, and Channable sends one shipment update for it.
* **Cancellations:** If you can't ship one of the component products, cancel the whole bundle. You can't cancel individual components. Other products in the same order aren't affected.

### Related articles

{% content-ref url="/pages/DdMjnUnPqAO4BF3hnfAX" %}
[Virtual Bundles](/list-advertise/sell-on-marketplaces/virtual-bundles.md)
{% endcontent-ref %}

{% content-ref url="/pages/LOUUORAhLX66IZ3d4mf3" %}
[Marketplace requirements for Virtual bundles](/list-advertise/sell-on-marketplaces/virtual-bundles/marketplace-requirements-for-virtual-bundles.md)
{% endcontent-ref %}

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


---

# 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/how-to-set-up-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.
