Skip to main content
Bill of Materials

Tracking recipes for creating products and planning resources

Antonio MalvaGomes avatar
Written by Antonio MalvaGomes
Updated over a month ago

What is a Bill of Materials?

Bill of materials (BOMs) is a well-known concept in manufacturing that lists all materials and ingredients needed to manufacture a product. Think of it as a recipe for making your product, making it easy for anyone in the production process to know ingredients should be used.

Benefits of BOMs

1. Faster assemblies with fewer clicks: When creating assemblies, choosing an output product with BOMs auto-populates the ingredients and quantities based on the recipe.

2. Possible quantities for production planning: Now you'll be able to determine how many units of a product you can produce based on your inventory on hand.

How to use it

How to Create BOMs

Edit Product

  1. Navigate to the product for which you want to create a BOM

  2. Click the 3-dot menu for that product and select Edit Info

  3. Click on the tab at the top of the form that says "Bill of Materials"

Add Ingredients

This is where you specify which ingredients are used to create a single unit of the product. Start by clicking the + Add Ingredient button

Specific Product - This adds an ingredient which must be a specific SKU from your product list.

  1. Select a product on the new ingredient line

  2. Specify a quantity to use to make a single unit of the output product

NEW! πŸŽ‰ Dynamic Product - This adds an ingredient which can be ANY SKU from within the filters that you set

  1. Specify a quantity to use, and a unit type (The unit type will help define what types of products can be used. For example, if you require a weight-based unit type, then volume-based products will not be considered a possible ingredient)

  2. Add a filter. Click the Choose Type button and select a filter type for which products will be applicable for this ingredient. You can select more than one! Adding more than one type of filter means a product must match all filters to be used as an ingredient

  3. Specify which parameters within that filter a product should match up with. For example, if you selected Category as a filter, you then need to specify which categories a useable product would come from. You can select more than one. Selecting more than one category means a product must match at least one of the parameters.

  4. You can see how many products fit into the filter set at the top of the ingredient line

πŸ’‘ Pro Tip: If you've already created a BOM for a similar product, use the Copy From Existing Product button to duplicate the BOM, and then replace a few ingredients instead of starting from scratch

Creating New Assemblies

When creating an assembly via the Quick Create menu or from a package directly, follow these steps

Select the license to create this assembly in and fill in Assembly Info

This will specify where ingredients can come from for cannabis inventory, however non-cannabis inventory can still come from a location in any license for this assembly. Filling in the Estimated Start Date and Work Hours will allow this assembly to appear on the Calendar for production planning!

Select an output product and fill in output details

When selecting an output product, you'll see an icon next to the products that have a BOM associated. Selecting one of those products will auto-populate the ingredients section with lines for what is listed in the BOM. Fill in the other required fields for submitting to Metrc if integrated, as well as batch and expiration date.

Specify output quantity

Modifying the output quantity will automatically update the quantity needed for each ingredient line based on the BOM ratio

Specify Ingredients

If any of the ingredients are dynamic ingredients, you'll need to select a product to use for each line. The product selection dropdown will be filtered to only show products that meet the filter parameters

πŸŽ‰ NEW: If you are using Multi-Output Assemblies, your ingredient section will now be partitioned by the outputs. This allows you to specify how much of an ingredient is used for each output, even if they share the same ingredient.

Lock Ingredients

This is only necessary if you want to adjust the output quantity WITHOUT modifying the ingredient quantities used in the assembly. For example, if you used 100g of sugar when attempting to make 100 gummy bears, but only came out with 98 gummy bears, you can lock the ingredients so that you can change the output quantity to 98 without modifying the sugar amount.

Initiate Assembly

You can either choose to only Initiate the assembly, which would reserve all of the ingredient quantities and available package tags that are going to be used for the assembly, or if you're ready to send the assembly to Metrc go ahead and choose Initiate and Complete

Possible Quantities

Once a BOM has been established for a product, you can start planning your resources by viewing the possible quantity that can be made.

Navigate to the product detail page, and click on the Possible Quantity tab

Here you can see the total quantity you can make for the product, and the breakdown of available inventory for each ingredient filtered by location.

You can adjust the desired output quantity, and watch the ingredient bars react to show you how much of your available quantity you would be consuming

If any ingredients are dynamic, you can click on the dropdown to see which products have available quantity to be used

If you want to initiate an assembly for the product you're looking at, simply make sure you have a location selected and click Create Assembly, then follow the steps in the Creating New Assemblies section above!

πŸ’‘Pro Tip: You can see the total possible quantity for each of your products from the Products Table by clicking on the Customize Columns button. Easily compare possible quantities across different products to plan your production from here without having to drill into each product

Give us a shout in chat if you have any questions or issues! We're here to help! :)

Did this answer your question?