A bill of materials product (BOM product) is a product that contains other products, thus enabling the customer to add a collection of products to the basket in one go.
Often BOM products consist of products that are also available for purchase separately.
Example use cases are assembly kits or bundles, where multiple products are purchased together, e.g.:
- PlayStation bundle containing extra controllers and some games
- Repair kit for a bicycle
- DIY outdoor pizza oven
- A garden table set with table and chairs
- Assortments (clothing industry)
A BOM product cannot contain other bill of materials products. A BOM product can contain variants but not products with variants.
For each product in the bill of materials contents it is possible to specify a quantity as well as a sort order specifying in what order the products contained in the bill of materials will be listed in the shop.
Note that BOM products are only available to shops using the basket API.
BOM products behave as any other product in product lists. At the product details page, the constituting products may be displayed as a list using the JSON product list service or the ProductList control (specify eSeller.DataProvider.ProductList.BomContents as the data provider).
BOM products do not allow for individual products within the bill of materials to be removed from the basket or for the quantity of individual products in the bill of materials to be altered.
When a BOM product is added to the basket, the basket counts the number of BOM products rather than the sum of products constituting the BOM products.
Price and inventory options
For each BOM product, it is possible to specify options for pricing and inventory. In some use cases it is desirable that the stock level of the products within the bill of materials is accounted for, and in other use cases it is not. This usually relates to how inventory is handled and processed - for instance whether the contents of a bill of materials products is an already-packed item, or whether the contents are picked from the inventory.
Likewise, in some cases you might want to assign a specific price for the BOM product (and not just the sum of the contained products) - e.g. assigning a lower price if the customer purchases a BOM product rather than purchasing all items in the BOM separately.
Price option: Sum
“Sum” means that the BOM product is priced as the sum of the price of the constituting products.
If a BOM product contains 1 product A (priced at DKK 100,00) and 2 product B (priced at DKK 50,00), the price of the BOM product is DKK 200,00.
If a price is specified for the BOM product itself, this price will be ignored.
Price option: Independent
“Independent” means that the BOM product has its own price, as if it were a regular product. The prices of the products constituting in bill of materials are ignored.
If a BOM product has a sales price of DKK 150,00 and contains 1 product A (priced at DKK 100,00) and 2 product B (priced at DKK 50,00), the price of the BOM product is DKK 150,00.
Inventory option: Ignore
“Ignore” facilitates selling items pre-boxed and separated from individual items on store, as stock level of the individual items are disregarded and untouched.
This option means that inventory is ignored for the products constituting the bill of materials. Thus, the BOM product with all of its assigned products is available and buyable, even if some or all of the assigned products are out of stock, and normal rules would prohibit buying and/or showing them as individual products in the shop.
Ignore also prohibits inventory update for the constituting products upon order completion – this means that stock level of the constituting products is not adjusted when a BOM product is purchased. Whether the stock level of the BOM product itself is adjusted depends on whether this product is stock bound.
Note: The BOM product itself is still controlled by its own “stock bound” flag and stock level - this is not affected by the inventory option. This means that if the BOM product is stock bound and has a stock level lower than 1, this product will only be available for purchase, if the shop is set up to allow purchase of products out of stock.
Inventory option: Check
“Check” forces products constituting the bill of materials to obey normal inventory rules, except that these are always shown as part of the bill of materials.
If one or more products in the BOM become unavailable due to inventory, the entire BOM product will not be eligible for purchase. Note that this presupposes that the shop is not allowed to sell products out of stock.