Overview
The BOM uploader allows you to create or update BOMs for output products in bulk. When uploading, you must provide all necessary details for each BOM, grouped by product. Any errors during upload will generate a downloadable error CSV for correction.
Steps to Upload a BOM
Export Existing BOMs or Download the Template. This ensures your CSV format meets system requirements
To Export
Navigate to Settings > Export Data > Export Bill of Materials
To start from a blank template
Navigate to Settings > Import Data > Import Bill of Materials.
Fill Out the Template
Populate each row with the required fields or make edits to existing rows.
Group rows by Output Product Name for BOMs associated with the same product.
đ ALL INGREDIENTS FOR THE BOM MUST BE INCLUDED HERE! Ingredients on a pre-existing BOM that are left out of the upload will be deleted from the BOM. We highly recommend exporting to edit existing BOMs
Upload the CSV
Return to the BOM uploader, select your file, and initiate the upload.
Review Error CSV (if applicable)
If errors occur, download the error CSV for troubleshooting.
Correct the issues and re-upload the updated file.
CSV Formatting Requirements
Mandatory Columns
Output Product Name: The exact name of the product (Must match an existing product).
Ingredients: Each row must have either an Ingredient Product Name, Ingredient Product Filter(s), or a Cost Type.
Ingredient Product Name: The exact product name of the ingredient (Must match an existing product)
Ingredient Product Filter: The filters used to create a dynamic BOM ingredient (Where only products included in the filter can be used to fulfill the BOM)
Ingredient Product Category Filter: Product Categories that the ingredient may belong to
Can list multiple, separated by commas
Ingredient Product Subcategory Filter: Product Subcategories that the ingredient may belong to
Must list the parent category in brackets next to the subcategory. Can list multiple separated by commas
Example: AAA [Bulk Flower], AAA [Shake]
Ingredient Product Tag Filter: Product Tags on products that the ingredient could be
Can list multiple, separated by commas
Ingredient Product Group Filter: Product Groups that the ingredient product may belong to
Can list multiple, separated by commas
Cost Type: The exact name of the Additional Cost required to produce the output product
Quantity: The amount of the ingredient required.
Only required if an Ingredient Product Name or Ingredient Product Filter is listed for the row.
Unit Type: The unit of measurement for the quantity
Must match the ingredient product's unit type if a Ingredient Product Name is specified.
Only required if an Ingredient Product Name or Ingredient Product Filter is listed for the row.
Cost Type Quantity: Amount of the associated Cost Type required
Only required if a Cost Type is listed for the row.
Optional Columns
BOM Name: Must be the same across all rows for a single output product.
Description: Must be the same across all rows for a single output product.
Cost Description: Describe the Cost Type associated with the row
Example: Cost Type - Labor, Cost Type Quantity - 1, Cost Description - Hours of production technician labor
Validation Rules
Completeness of BOM Data (VERY IMPORTANT)
A BOM upload must include all ingredients for a product.
If a CSV includes only part of an existing BOM, existing BOMs will be overwritten entirely by the new upload.
Unit Type Validation
The Unit Type of the ingredient in the CSV must match the unit type associated with the Ingredient Product Name.
Mismatches will result in the error:
âUnit Type Mismatchâ
Filter and Category Validation
Filters like Category, Subcategory, Group, or Tag must reference existing records.
If a filter does not exist, the row will fail with the error:
âFilter Type [Insert Name] Does Not Existâ
Subcategories require their parent category in brackets (e.g.,
Subcategory [Category]
).
Ambiguous Subcategories
If subcategories with the same name exist in multiple categories, and no clear association is provided, the upload will fail with the error:
âAmbiguous Subcategoryâ
Data Integrity Checks
Rows with Ingredient Product Name cannot also include ingredient filters.
Costs and Ingredients must be in separate rows.
Error CSV Details
If your upload fails, the system will generate an error CSV containing an error message of what must be corrected. You can use this CSV to make your corrections and re-upload or return to your original to make the corrections
Best Practice
Export Existing BOMs: Use the Export BOMs option to generate a pre-filled template for updates. This will reduce the possibility of accidentally deleting ingredients that existing in the app but not on the upload CSV