Bundles

Overview

Bundles are a powerful tool that will enhance your product offering and drive customer satisfaction. With bundles, you can effortlessly group multiple items together and offer them as a single package to your customers.

Bundles seamlessly integrate with OneStock's orchestration, delivery promise, and stock management features. This means that when a customer places an order for a bundle, OneStock will automatically manage the allocation of stock, orchestration of the order, and provide accurate delivery promises. You can continue to manage your inventory and orders as usual, with the added benefit of offering attractive bundles to your customers.

Benefits of Item Bundles

  • Increase customer satisfaction by offering unique product combinations

  • Drive sales and revenue by providing irresistible bundles.

  • Streamline your workflow with seamless integration into OneStock's features.

  • Eliminate stock discrepancies and fulfillment issues with dynamic stock calculation.

 

This documentation will guide you through the process of creating and managing bundles in OneStock, ensuring a seamless integration into your existing workflow.

Use cases

Bundles may be used in multiple ways.

Sell a combination of products that can be bought separately as well

  • You can promote this combination of products

  • The customer gets a discount when buying product altogether

The bundle and its components are available to sell. OneStock automatically the stock of the bundle depending on the stock of the components.

You can allow to ship the components of the bundle from multiple places.

Prepare a basket of products packed together to make a gift

  • You can propose a brand new product based on existing components. A nice way to differentiate from competitors and propose added value to your customers!

The bundle and its components are available to sell.

You will configure the bundle to be always fulfilled from a single location. OneStock will take that into account to automatically calculate the stock of the bundle depending on the stock of the components in each location.

 

If you have products that are compounded of multiple parts stored separately (for example: multiple cartons to assemble a table) and if you manage these parts rather than the actual in your warehouse, you can design it as a bundle.

  • It allows you to manage your stocks at the most granular level in your warehouse management system and your ERP, while still selling the actual products on your sales channels. OneStock will do the translation!

  • Even if you don’t want to sell the components separately, you can still allow to sell a component or ship it for free via your customer service or via specific sales channels. You don’t need to ship all the components to a client when just one of them has been received broken.

In this case, the bundle is available to sell, but not its components. But you can still allow to sell the components on specific sales channels.

Creating Bundles

Bundles are a special type of item which is composed by a group of regular items (non-bundles). To create one, you just need to proceed as you would for creating regular items. Bundles have some specials fields that need to be declared for them to work, more info in the example.

The same components can be used in multiple bundles.

Bundles cannot be compounded of other bundles.

Bundles are declared as splittable or non-splittable. A splittable bundle can be sourced from multiple points of stock, ensuring fulfilment even if the bundles is divided between multiple stock locations. A non-splittable bundle is sourced by only one stock location, ensuring a single delivery origins.

Bundle Item Structure
{ "_id": "table", "bundle": { "components": [ { "item_id": "table_plate", "quantity": 1 }, { "item_id": "table_legs", "quantity": 4 } ], "splittable": false }, ... // fields of regular items }

Dynamic Stock Calculation

OneStock's intelligent system automatically calculates the stock availability of bundles based on the inventory of its components. This ensures that you can confidently offer bundles without worrying about stock discrepancies or fulfillment issues. The stock availability of each bundle will be dynamically updated in real-time, providing accurate information to both you and your customers.

You must not import stock for bundles. They are calculated automatically by OneStock based on its components.

Stocks of splittable or not-splittable bundles

The calculation of the available stock of the bundles takes into account if it is splittable or not. If it is not splittable, the quantity of bundles is calculated at the stock location level and then aggregated. If it is splittable, the stocks of components are aggregated and then the quantity of bundles is calculated.

Stock reservation of bundles

When exporting stock, bundle stock is calculated according to the stock of its components. When exporting unified stock, the stock depends on whether the bundle is splittable or not.

For example, considering a bundle table compounded of 4 legs and 1 plate: if there are 2 plates and 5 legs in 4 stock locations, we will have a unified stock of 4 tables if the bundle is non-splittable (1 bundle in each stock location), OR a unified stock of 5 if the bundle is splittable.

For this reason, stock reservations, dispositions and buffers must be applied to components and not to bundles. However, it is possible to set global buffers on bundles, which will be added to the component buffers.

You can have multiple bundles using the same components. In this case, reserving a bundle may have impact on the stock of the other bundle.

When you export both the stock of a bundle and the stock of its components, the results are uncorrelated: you don't subtract the stock used by the bundle from the stock of the components. For example, if the stock exported indicates that there is 1 plate, 4 legs and 1 table in a store, there is 1 plate and 4 legs that are physically present in this store and this stock allows us to make 1 table (but we don't have 1 table + 1 plate+ 4 legs).

The same goes for bundles using the same components. If I have a table with a green plate and one with a red plate that use the same legs, if my export tells me that there's 1 green table and 1 red table, I might have 4 legs and I could only make 1 table (but maybe not).

Future stocks for bundles

Future stocks are supported as well with bundles. They are calculated based on the future stocks of the components.

For example, considering a bundle table compounded of 4 legs and 1 plate: if there are 2 legs available on_hand, 1 plate in_transit arriving tomorrow and 2 legs in_transit arriving the day after tomorrow, then there is 1 table in_transit arriving the day after tomorrow.

Orchestration

Orchestration with bundles in OneStock is a straightforward process. When it comes to orchestrating orders that contain bundles, there are no special considerations to keep in mind. The orchestration of a bundle will depend on its setup, specifically whether it is set to accept splits or not.

For non-splittable bundles, the orchestration will only take place if there are candidates available that can fulfill all the items within the bundle. If there are no candidates that meet this requirement, the bundle will not be orchestrated.

On the other hand, splittable bundles will be orchestrated based on the same rules and filters as orchestrating a basket that contains the components of the bundle. However, if any of the components within the bundle are removed or deemed unfulfillable, the entire bundle will be considered unfulfillable. This means that partial fulfillment is not possible for bundles.

Bundles can not be partially fulfilled.

If one of the components of a bundle is removed, the bundle as a whole is removed.