• Often business needs to sell, maintain, manage and track different individual stock keeping units (sku’s) packed together. Such sku’s are termed as bundle sku’s on the catalog.
  • This is done considering set of products on similar physical characteristics, selling patterns, consumer buying preferences, fulfillment constraints, etc.
  • The objective of this article is to bring out considerations on managing bundle sku’s as part of order management system and the Sterling OMS capabilities around the same.

Concept of a Bundle SKU

  • A bundle sku is a group of products sold, procured or assembled together
  • All these sellable inventory sku’s will be associated as child sku’s of a logical bundle parent sku. For example, Dining Furniture is Bundle parent sku (logical sku) and child sku’s (inventory sku) are Dining Chairs, Dining Table and Dining Cloth
  • Every child sku is managed with a ratio (kit ratio) associated to parent which depicts the number of child units needed for qualifying a complete bundle parent sku.
  • For example, Bundle Parent SKU – Dining Furniture
    * Child sku 1- 4 dining chairs (1:4),
    * Child sku 2 – 1 dining table (1:1)
    * Child sku 3 – 2 dining cloth (1:2)

  • A child sku can be part of multiple bundle parent
  • It is important for a seller to offer end-customers the sellable bundle parent sku’s from the points of view of inventory availability, serviceability to a customer zip code, fulfillment constraints, etc. by rolling up data from individual child sku’s.

Catalog Management

A child sku, which can be either a product or a service or another bundle sku, is often referred as component sku.
For example, Dining Set, which has 4 Plates, 4 spoons and 4 forks, could be bundle sku under Dining Furniture bundle sku.
Similarly, Dining Furniture Bundle can have Carpentry installation services as a child sku

For bundle fulfillment, there are 3 modes, called as bundle fulfillment mode (BFM), set up in the catalog:

  • Ship Independent (00) – Individual component sku’s can be shipped and delivered at different dates from different fulfillment locations
  • Ship Together (01) – Component sku’s must be shipped together, hence delivered together, on same date from same fulfillment location
  • Deliver Together (02) – Component sku’s must be delivered together on same date but may get shipped from different fulfillment locations

Inventory Management

Inventory sync for both full and delta sync will have updates for component sku’s only. System determines inventory in the context of bundle parent. That is, when added to cart, the kit ratios are resolved to determine order promising capabilities of bundle parent based on BFM. Similarly, when publishing inventory cache for front end channels, kit ratios are resolved to determine bundle parent availability based on BFM.

Because a component sku can be part of multiple selling bundle sku’s, real-time availability monitor (RTAM) processes them as below:

  • Inventory activity on every component
  • All bundles which have the component sku for which inventory position has changed
  • Trigger relevant updates to selling channels for bundle and component sku availability
  • Since that component of bundle can be sold as a standalone sku outside the bundle, it’s important to publish component inventory
  • For Ship Independent, publish only component sku availability
  • For Ship Together and Deliver Together, publish both bundle parent and component sku availability

Pricing Management

Pricing bundles vary from regular sku pricing to carry information such as unit price, shipping Charges, applicable taxes. Below are bundle pricing strategies:

  1. Parent
    • Pricing related information is maintained at bundle parent line only.
    • This strategy is preferred when bundle fulfillment mode is Ship Together or Deliver Together
    • Attribute LinePriceForInformationOnly will be set as Y on all component lines
    • Component lines can have unit price as either ‘0’ or a weighted average value
  2. Component
    • Pricing related information is maintained at each component line only
    • No pricing data is managed on bundle parent line
    • This strategy is typically preferred when BFM is Ship Independent
    • Attribute LinePriceForInformationOnly will be set as Y on only parent line
  3. All/Mixed
    • Pricing related information is maintained at both bundle parent and individual component line.
    • Order total will be summation of bundle parent and all component line’s unit price, charges and taxes
    • This strategy is preferred when BFM is Ship Independent
    • Attribute LinePriceForInformationOnly will not be set as Y on either parent or component lines

ATP and Reservation for Bundle SKU

Availability and Reservation determined based on BFM and kit ratio.
Partial availability of any unit of any of child sku will result in whole bundle sku not available. The findInventory and reserveAvailableInventory API’s expect only bundle parent orderline to be passed as a promise line which internally explodes the parent orderline into multiple orderlines by adding child orderlines. In the suggested options –

  • BFM as Ship Independent – ShipNode, ExpectedShipmentDate and ExpectedDeliveryDate values could potentially be different on for child lines
  • BFM as Ship Together – ShipNode, ExpectedShipmentDate and ExpectedDeliveryDate values will be same for child sku lines
  • BFM as Deliver Together -ExpectedDeliveryDate value will be same for all child sku lines, but, ShipNode and ExpectedShipmentDate values can potentially be different

The out of the box (OOB) behavior is to first attempt ShipTogether, then DeliverTogether and then ShipIndependent, considering fulfillment constraints.

Order Capture

Component Details
Bundle sku explode
  • Selling SKU being bundle parent SKU, createOrder and changeOrder API’s expect only parent sku to be passed as an orderline.
  • OMS OOB explodes the bundle parent order line into multiple order lines for each child sku associated in the catalog.
Child sku attributes
  • Once component lines with child sku are created due to explosion of bundle parent, OMS OOB provides template to select/deselect attributes which will get propagated from parent to child sku upon createOrder and changeOrder API calls
Order Processing
  • Address verification is done at bundle parent level since all component lines have the same address
  • Payment and fraud processing is at order header level
  • Holds (if any) can be designed at bundle parent or component line level
  • Customer email and SMS are based on parent status updates and visibility
  • Alerts for business users can be designed at parent or component line based on the level of action

Order Fulfillment

Component Details
Order Notification to fulfillment locations
  • Bundle and component lines are released to fulfillment centers
  • Release component lines regardless of another component line’s status/allocation/schedule if BFM is Ship Independent
  • Release component lines to same fulfillment location and hence backorder entire bundle if all components cannot be sourced from single node if BFM is Ship Together
  • Release component lines only if system determines same date delivery, else backorder entire bundle if BFM is Deliver Together
Shipment Updates
  • Each component line receives ship updates and lines move to shipped status
  • Bundle line moves to shipped status only after all components are shipped
  • Overage is not accepted on components since it violates kit ratio
  • Email notification to customer after complete shipment of bundle (Exception: BFM as Ship Independent)
  • Invoicing is on bundle line after complete shipment of bundle (Exception: BFM as Ship Independent)
Partial-Pick, No-Pick and Cancellation
  • Shortages or cancellation (from a fulfillment center) of any one of component lines will result in
  • * Complete no-pick/cancellation of the entire bundle if BFM is Ship Together
    * Consolidation Hub returning the components back to fulfillment locations and each location forcing backorder/cancellation updates if BFM is Deliver Together
    * Backorder/cancel only that component line if BFM is Ship Independent

  • An item is reshipped when a customer reports that the item has not been delivered or the delivery has an issue. The reported item could be a component, or bundle itself. If the reported item is a component which is sold separately, it is reshipped, else, bundle is reshipped preferably with the initiation of the return of the originally delivered components.

Order Amendments

Modification Type Details
Cancel- full and partial
  • Customer initiated modifications should be at bundle parent line
  • Parent cancellation will cancel all component lines of bundle
  • Partial cancellation of bundle will reduce the quantity of components in-line with kit ratio
  • Refund amount calculation for cancellation will be based on bundle pricing strategy
#Fulfillment Type
  • Address change or LOS change will be applicable only at bundle parent line and will be propagated to all
  • The modifications could potentially result in re-sourcing the whole bundle
  • Re-price the whole bundle if the modification impacts pricing
  • If required, re-calculate weighted average cost on component lines

Returns & Exchanges

Feature Details
  • By principle, bundle sku returns is enforced for customers to return entire bundle inclusive of all components for Ship Together and Deliver Together BFM.
  • If BFM is Ship Independent, create return as if single standalone return sku.
  • Refund amount calculation for returned units will be based on bundle pricing strategy to copy pricing information such as unit price, charges and taxes from sales order lines to return order lines
  • Receipt updates only for component lines because only component lines are inventory sku’s
  • All types of exchange Regular, Advanced and Pre-paid are supported for bundles and regardless of BFM
  • Transfer_in and Transfer_out will be managed based on bundle pricing strategy

This article was co-authored by Raghuveer P Nagar.

2 comments on"IBM OMS Bundle SKU Management"

  1. Nice one..Very well explained!

  2. Geetha Sathyamurthy April 25, 2018

    Wow!! this is really an useful information. Thanks for sharing SKU management in a precised manner as a whole. Only experts can articulate this. Thanks Jagdish and Raghuveer

Join The Discussion

Your email address will not be published. Required fields are marked *