Bills of materials and Assemblies in Dutchie POS

Bills of materials (BOMs) and Assemblies in Dutchie POS allow manufacturers, cultivators, and distributors to create templates for output products, define the required inputs, and understand the associated costs of goods and labor.

Use cases include processing raw bulk flower into concentrated oil, filling vape carts with cannabis oil, creating infused prerolls, etc.

Bills of materials and Assemblies in are different from Recipes in a few key ways:

  • You can create Bills of materials and Assemblies for specific products or for more general product categories. This makes them more versatile than Recipes, which require unique configurations for each flavor, dose, and variant in a product line.
  • Improved user experience with fewer steps than Recipes.
  • Tracking for indirect costs like labor rate and production hours.
  • Compatibility with Metrc Processing Jobs.

Things to know

  • These features apply only to manufacturing locations.
  • Manufacturers in Metrc states should enable Metrc Processing Jobs before using these features. Find these in Settings > Integrations > Metrc > Settings tab.
  • Accessing these features requires the following permissions in the Inventory section.
    • View a Bill of Materials
    • Edit a Bill of Materials
    • View an Assembly
    • Edit an Assembly

Table of contents

Bill of materials Assemblies
Integration with traceability Troubleshooting

Reporting


Bill of materials

A Bill of materials (BOM) is a comprehensive list of raw materials and components required to manufacture and package a product. It outlines the quantities and relationships between each part involved in the production process. By specifying exactly how products are made, Bills of materials help manufacturers in the cannabis industry implement standardization and consistency while meeting traceability requirements.

  1. Go to Manufacturing > Bill of materials and click the Create button.
  2. On the Details tab, enter a Name.
  3. As needed, fill in the optional fields:
    • Labor rate - the hourly wage for employees to produce products from the BOM
    • Labor hours - how long the assembly process will take
      • Note: Labor rate and hours are not included in the final output cost.
    • A Description of what is produced
    • An Image of what is being produced

Create new BOM form interface.

Outputs

Outputs are the product(s) you’re creating, the expected quantity, and unit of measure. They can be for a product category, such as vape cartridges, or a specific product, such as a specific strain/variety and size of vape cartridge.

  1. Click Add output and select either:
    • Add by product, then select the specific product from your Catalog.
    • Add by category, then select a product category.
      Outputs section with no items added.
      Checkbox selection interface for product categories.
  2. Enter the output Quantity. This should be the minimum amount that you expect per batch. When you execute an assembly for this bill of materials, the system will require at least this quantity but will allow you to exceed it. If you’re not sure what output quantity you expect or your production runs vary, you can enter a quantity of 1.

    CNC-Live Resin output settings interface.

  3. Select a unit of measure. This will narrow down the list of available inputs in the next steps based on which inputs have the same unit of measure. To select from all inputs, select None for the unit of measure.
  4. Repeat the above steps for each output.

Inputs

Inputs are the ingredients and other supplies needed to create each output.

  1. Click Add input and select either:
    • Add by product, then select the specific product from your Catalog.
    • Add by category, then select a product category.
      Empty stringAdd inputs by category interface for flowers.
  2. Enter the input Quantity and select a unit of measure.
  3. Repeat the above steps for each input.
    Inputs and outputs for resin production process.
  4. Click Save.

If you’re creating multiple outputs, each output requires its own set of inputs. If multiple outputs have the same inputs, you can Copy inputs from one output to another.

Documents

When viewing or creating a bill of materials, select the Documents tab and then click Add to upload relevant files such as SOPs, packaging guides, quality control documents, or links to external documents.

Create new BOM interface with no documents added.

Add document interface with file upload option.

Supported file types include .png, .jpg, .pdf, .doc, .docx, .xls, .xlsx, and .csv. Links can include Google Drive or SharePoint folders/documents or other URLs that help employees perform the production process.

Processing jobs (select states only)

If your state uses Metrc processing jobs, go to Settings > Integrations > Metrc > Settings tab and make sure Use Processing Jobs is set to Yes.

bo_settings_integrations_metrc_use processing jobs.png

This adds a Processing jobs tab to your bills of materials with the following settings:

Processing job form for vapes and cannabinoids.

  • Toggle for Use as processing job type. Turning this on will create a new processing job type in Metrc the first time you start an assembly with this bill of materials. Completing assemblies will create processing jobs in Metrc with this same job type.
  • A Name, which will also be used for the processing job type in Metrc.
  • A Category dropdown, i.e., Extraction of cannabinoids or Infusion of cannabinoids.
  • Description and Processing Steps fields
  • A selection of relevant Attributes for your state.
    Empty string

A read-only Processing jobs tab also appears on Assemblies for reference. Processing job settings can only be edited from a bill of materials. See below for more details about Dutchie's integration with Metrc processing jobs.

Assemblies

An Assembly is an execution of a bill of materials. It represents a specific production run of converting input materials into output products according to the specifications defined in a bill of materials. The process consists of:

  1. Creating the assembly based on a bill of materials.
  2. Starting the assembly, which pulls input materials from inventory.
  3. Completing the assembly, which adds output packages to inventory.

Create an Assembly

  1. Go to Manufacturing > Assemblies and click the Create assembly button.
  2. On the Details tab, enter a Name.
  3. Select a start date for production.
  4. Select a saved Bill of Materials to follow. The outputs and inputs from the selected bill of materials autopopulate below.

    New assembly form with details and outputs section.

Outputs

Output details are optional at this point in the process, but will be required to complete an assembly. If you're not sure what your outputs will be at this point, skip to Inputs below.

  1. Select the Product to which the output package should be assigned.
    • If you defined a specific output product (as opposed to a category) in the bill of materials, this is pre-populated and non-editable.
    • If you defined an output product category in the bill of materials, this dropdown allows you to choose from all products in that category.
  2. Select an existing Batch or click New batch to create one.
  3. Package date defaults to today’s date but can be edited.
  4. Expiration date may autopopulate based on the Package date and the selected product’s Expiration days field in the Catalog (if specified). This date can also be edited.
  5. Assign the outputted package to a Room.
  6. As needed, select an Inventory status and Tags for the outputted package.
  7. Assign a Vendor.
  8. Quantity autopopulates based on the output quantity from the bill of materials. This can be edited for each assembly.
  9. Assign or Generate a Package ID and (if applicable) an External package ID. If you have a barcode scanner connected to your device, you can place your cursor in these fields and populate them by scanning.
  10. Cost defaults to the unit cost of the selected Product (if specified), or you can select Calculated, which is based on the combined cost of your inputs, or select Other to manually enter a cost.
    Vape cart inventory details and specifications.

Inputs

Inputs are required before starting an assembly.

  1. For each input defined in the bill of materials, select at least one package and specify the quantity you’re using from each package.
  2. The total quantity for each input must be at least as much as the quantity defined in the bill of materials.
  3. If an input doesn't apply to this particular assembly, you can check Skip input. For example, if you have different but interchangeable versions of an input, such as a flavoring that you source from different vendors, you could include both versions on your bill of materials and skip whichever one isn't being used for a given assembly.
    Inputs for bulk and production materials.
  4. Click Save. The assembly now appears with an Incomplete status on the Assemblies page.
    Assemblies interface with project details displayed.

Start an Assembly

When you’re ready to begin physical production, click Start. The Start button becomes available once all input details are filled in.

Manufacturing assembly details interface.

Starting an assembly pulls the input quantities from your Dutchie inventory and changes the assembly’s status to In progress.

Assemblies management interface with status details.

Once started, you can select Undo changes to revert the assembly back to Incomplete status. This will also replace the inputs back into your inventory.

Manufacturing assembly details interface.

With Metrc processing jobs enabled, when you click Start, Dutchie also queries Metrc to see if a processing job type with the configured name already exists in Metrc. If not, it creates a new job type but does not report any further details to Metrc at this point.

Complete an assembly

Once the physical production is finished, return to the assembly in the Backoffice and fill in your Output details if you haven't already. Once all required output fields are filled in, Save the outputs and then click Complete to finish the process. This will:

  • Change the assembly’s status to Complete in Dutchie POS.
  • Add the output packages to your Dutchie inventory and to Metrc or BioTrack (if applicable).
  • Create and complete a processing job in Metrc (if applicable) and prompt you to record waste quantities in count, volume, or weight units, which will also be reported to Metrc.
    bo_manufacturing_assemblies_complete assembly modal.png
  • Create entries in the Dutchie Product journal and Package history. Note that multiple inputs will appear as separate package history entries.

Integration with traceability

Metrc states that use processing jobs

In Settings > Integrations > Metrc > Settings tab, make sure Use Processing Jobs is set to Yes. This allows Dutchie POS to create and update Processing Job Types and Processing Jobs in Metrc:

  • Processing Job Types in Metrc correspond to the Processing jobs tab on a bill of materials in Dutchie POS. Each assembly that you complete with that bill of materials will have the corresponding job type.
  • Processing Jobs in Metrc correspond to Assemblies in Dutchie POS.
When you do this in Dutchie POS: Dutchie POS does this in Metrc:
Create a bill of materials with Use as processing job type enabled Nothing
Create an assembly with the above bill of materials Nothing
Start the assembly

Dutchie POS looks for a processing job type that matches the Name field on the Processing jobs tab in Dutchie POS. 

If a matching job type already exists, it creates a new processing job under that type with the same name as the assembly.

If not, it creates a new job type with that name and then creates the assembly.

Complete an assembly

Creates output packages based on the assembly/processing job, with input packages listed as ingredients.

Completes the processing job with any waste quantities recorded.

 

Metrc states that don’t use processing jobs

In states that don't use Metrc processing jobs, creating and starting an assembly results in no action in Metrc.

Only when completing an assembly are output packages created in Metrc, with input packages listed as ingredients for the output package. Production batch settings are applied as configured in the assembly.

BioTrack

Creating and starting an assembly results in no action in BioTrack.

When completing an assembly:

  • For each output in the assembly, the system calls BioTrack's conversion endpoint
  • The system processes each cannabis output that doesn't already have a serial number
  • The assembly input packages are mapped to BioTrack conversion inputs
  • The assembly output items are mapped to BioTrack conversion outputs
  • Upon successful conversion, the output item's serial number is updated

This integration leverages BioTrack's conversion endpoint to process assemblies, translating Dutchie's assembly workflow into BioTrack's conversion workflow.

Troubleshooting

Cannot create a bill of materials:

  • Verify you have the required permissions in the Inventory section:
    • View a Bill of Materials
    • Edit a Bill of Materials
    • View an Assembly
    • Edit an Assembly
  • Confirm all required fields are completed.
  • Confirm that at least one output has been defined.

Cannot start an assembly:

  • Verify all required output details are filled out.
    • Note that Cost is a required field; if using Catalog or Calculated cost, the Cost field may be blank due to missing cost values for either the output or input products.
    • You can select Other and manually enter a Cost value if needed.
  • Ensure sufficient input inventory is available
  • Check that Metrc tags have been assigned if required

Cannot complete an assembly:

  • Verify the assembly has been started
  • Ensure all output details are correctly configured
  • Check that there are no ongoing Metrc or BioTrack sync issues

Cannot find products for category-level outputs or packages for category-level inputs:

Check the unit(s) of measure on the bill of materials. The product and package selections are filtered based on unit of measure.

Metrc integration issues

Processing job not created:

  • Verify Use Processing Jobs is enabled
  • Check Metrc API connectivity
  • Ensure the processing job details in the bill of materials are in

Package creation failures:

  • Verify Metrc tags are valid and not already in use
  • Ensure the output item settings match Metrc requirements
  • Check that the input packages are still active in Metrc

Waste recording issues:

  • Ensure waste quantities are entered in appropriate units
  • Verify waste quantities don't exceed input quantities

BioTrack integration issues

Conversion failures:

  • Check BioTrack API connectivity
  • Verify input packages exist in BioTrack
  • Ensure output configurations are valid for BioTrack conversions
  • Ensure external categories for the inputs and outputs are aligned. For example, you can create concentrates from flower but not hash from edibles.

Inventory discrepancies

Missing input inventory after starting an assembly:

  • Check if the assembly was started correctly
  • Verify no inventory adjustments occurred after starting
  • Consider using the Undo Start function and restarting

Missing output inventory after completing an assembly:

  • Verify the assembly shows as Completed
  • Check room assignments for the output products
  • Ensure there were no Metrc or BioTrack errors during completion

Reporting

The Bill of Materials & Assemblies Report (under Reports > Operations) includes the following data for all locations in your LSP:

  • Assembly details, such as assembly IDs, names, statuses, when it was completed, and by which user.

  • The bill of materials used for each assembly, including names and IDs,

  • Output details, such as the product name, SKU, and package ID, and external package ID (if applicable).

  • Cost analysis, such as package calculated cost and cost per unit.

  • Labor rate and hours

Assembly activity is also reflected in the Inventory Adjustments - All and Inventory Adjustments - Convert reports.

Was this article helpful?