Table of Contents
Bill of Materials
Updated by Kevin
ShipStream's Bill of Materials (BOM) feature is a powerful system for establishing relationships between products and streamlining operations for those products using that information. Some capabilities of the Bill of Materials system include:
- Create a product that is a "kit" which can be either stocked and picked or if out of stock may be automatically picked as components on demand.
- Create a Work Order to pick components and assemble them into pre-kitted products.
- Optimize storage and handling of products by relating two or more SKUs as different units of measure of one another (referred to as Quantity-type BOMs).
- Create complex product relations with nested BOMs and multiple parent/child associations.
- Each BOM component is a fully-featured product so they all can have precise dimensions, customs information, packaging features, etc.
This article will explain how to work with BOMs in general and specifically Kit-type BOMs. See Quantity-type BOMs for more information about BOMs which describe different units of measure of the same product.
Use Cases
There are many different ways to use BOMs, but the common building blocks are:
- A "virtual" product that is composed of one or more "component" products of varying quantities
- A "virtual" product that is composed of one product but which yields a different quantity (splitting or disassembly)
- A product that is ordered as arbitrarily-sized packs of the singles or portions or multiples of a case
- A product that when it runs out should be substituted by the same quantity of another product on the fly
Using these patterns you can effectively address some common scenarios:
- A complex kit or assembly of components such that a customer may order one item but receive any number of different items.
- Products as different quantities of each other, i.e. a case of 12, a "virtual" 4-pack and the singles. Stock them in bulk packaging but break them down and pick the parts on demand.
- Substitute products so that one SKU or BOM can pull from multiple other SKUs if not in stock or if different warehouses have different suppliers.
Key Facts
- A Product can have multiple BOMs.
- BOMs can be assigned priorities which determine the order for substitutions.
- A product will not be substituted with a BOM if it is already itself in-stock.
- A BOM can have component products that also themselves can be composed from BOMs (nested BOMs).
- BOMs are uni-directional. If you want to disassemble a kit into components and assemble components into a kit you must specify each BOM separately.
- Assembly Instructions can be provided for use when assembling the BOM in a Work Order which uses an assembly-line like barcode-driven interface.
Permissions
Add the following Role Resources to allow users access to manage BOMs:
- Catalog > Bill of Materials
- System > Configuration > Bill of Materials
Preparing
Before creating a BOM be sure to first create the Products and any "virtual" products that might be needed. A "virtual" product is one that you may not intend to actually stock and does not have a unique barcode. E.g.: "A desk with a Hardwood desktop and Black legs" may be composed of one "hardwood desktop", a box of "black legs" and one "bag of desk parts" which are picked and shipped as separate components on demand.
Creating a Bill of Material
Creating a new BOM is done from a Product's view > Bill of Materials tab.
BOM Configuration
Name
The name of the BOM; it helps to be descriptive, to describe the relation, which helps when reading BOM graphs and looking at the info about a BOM. e.g.:
- Pack Crafting Kit
- Build Crafting Kit 2A
- Split Canned Air Case(24) into Singles
- Split Canned Air Case(24) into 6 packs of 4
- Build a 4 pack of Canned Air from Singles
- Pick Mini DC Motor Mfr. ACME Inc.
- Pick Type 130 Mini DC Motor Model: EK1894
- Make a 4 pack of Flashlights from Singles
● The parent is going to be built
● The parent needs component(s) to make itself
● The parent will do this to make multiples of itself
Yields Quantity
The resulting quantity when this BOM is fulfilled; also determines if this is a Quantity-type. i.e.:
- Splitting a Case of 50 would yield 50 Singles — Yields Quantity: 50
- Kitting a Craft Kit — Yields Quantity:1
So the Yields quantity determines the terminology used:
- A Kit-type BOM will have a Yields Quantity of one
- A Quantity-type BOM will have a Yields Quantity that is greater than one
Kit On Demand
Determines if this BOM can be picked on demand when needed to fill an order.
- When set to Yes and the parent product is not in stock, orders for this product will be picked as the set of BOM components to fulfill the order. If one or more components are not in stock the full order item will be backordered until the actual product or the components are in stock
- When set to No then orders for this product will not use the BOM to fill the order so items will be backordered if the product is not in stock and there is no other BOM to satisfy the demand
Kit To Stock
Determines if this BOM can be pre-kitted by creating Work Orders to kit this BOM together.
Assembly Scans
Determines what scans are needed as each component is assembled. Used when assembling Work Order items.
- Each Component — Each component will be scanned as the BOM is kitted together
Assembly Instructions
User can provide instructions for assembling these particular components together during a Work Order.
Priority
The priority that this BOM will have in relation to other BOMs on this same Product. Zero is the default value. The larger the number the lower the priority will be. i.e. Use to prefer one manufacture's component over another when both can equally be used to fulfill the yielded BOM Product.
Adding Components
Components are the individual Products needed for this BOM to fulfill this Product. This can be as simple as adding one Product at one quantity or as complex as adding multiple Products with varying quantities.
When adding components you will see a list of Products for this Merchant. From this list you can select the items and quantity needed for this BOM to fulfill this Product. Once a Product has been selected it can be added to the BOM.
Once a Product has been added to the BOM, the Product(s) can be removed or have their quantity updated. Additional Products can still be added to the BOM.
Once the BOM is configured and the Components have been selected the BOM will be ready to save.
Editing a Bill of Material
A BOM can be edited from a Product's view > Bill of Materials tab and from Catalog > Bill of Materials grid.
Editing a BOM will allow you to edit certain parts of the BOM configuration. The components section will now show you the quantity used and a link to go directly to the component Product.
Delete and Edit Bill of Materials
Bill of Materials (BOMs) can be edited or deleted even after they have been used by Orders and Work Orders.
To perform these actions it is required to first cancel or complete Orders and Work Orders which are being processed before making material changes to BOMs to prevent situations that are impossible to resolve. Material changes such as yield, quantities, components, removal, deletion, etc.
When creating an RMA from a Shipment the RMA will contain the stocked items if the BOM used is still active, or the picked and packed items if the BOM used is no longer active.
Viewing Bill of Materials Details
A BOM can be viewed from a Product's view > Bill of Materials tab and from the Catalog > Bill of Materials grid.
Bill of Materials tab
The Bill of Materials tab contains two sections. The first section is a graph and the second section displays the details of each BOM on the Product.
BOM Connections
Once a BOM has been created you will see a graph showing how the BOM relates to its components and any other BOMs using some of the same Products.
A Product's BOMs
An information block is shown for each BOM on the Product. The info shows the details of the BOM's configuration settings and the components selected for the BOM.
Bill of Materials Grid
BOMs can also be viewed and exported from the Bill of Materials Grid. This grid is located at Catalog > Bill of Materials.
On this page you can view all the BOMs and filter and export BOMs as desired. When looking at the Components column if you see a product with bold lettering, that indicates that that Product also has a BOM.
Clicking on a BOM row will allow you to edit that BOM.
Using Bill of Materials
Kit-type BOMs won't change much of anything when working with Deliveries. However Quantity-type BOMs will change several aspects. You can read about the major differences when working with Quantity-type BOMs in the Quantity-types article.
The following is on how BOMs in general and Kit-types particularly behave within ShipStream.
Deliveries
Deliveries should be made for the components needed to fulfill or return the Product the BOM is on. Deliveries will behave like normal Deliveries.
Inventory
Since Kit-type BOMs are composed of their component Products, the Product with the BOM may often contain zero inventory. When a Product with the BOM is Ordered, the System will tell the user to Pick the component Products to fulfill the Order. Stock can be pre-kitted through Work Orders to allow a BOM Product to have stock. The Merchant could also deliver the Product already kitted and some delivered as components.
Orders
An Order for a Product with BOMs, when working out how to fulfill the order, will first look at the stock on the Product then at the BOMs. The BOMs will then be looked at from highest priority to lowest to find the best solution to fulfill this Product. The strategy for fulfilling an order will be determined and then persisted when the Shipment is created.
Batching & Picking
Since batching and picking is done on Shipments which already have determined the precise items to be picked the process of batching shipments and picking is largely transparent to the fact that BOMs are used.
Packing
Packing a BOM will show the original product ordered and the components will be indented underneath the ordered product, similar to a tree view.
Viewing BOM Information
Orders
The items ordered will continue to show exactly what was ordered.
Shipments
Shipments will however, show the component Products that make up the Product with a BOM.
Packages
Packages will also only show what was scanned into the package, which are the component Products.
Merchants and BOMs
By default Merchants cannot create BOMs. If it is desired to give a Merchant permission, the settings can be found in System > Configuration. Select the Merchant's Scope then in the Clients > Catalog tab is the Bill of Material sections that allows the Merchants to create BOMs.