Metrc Integration with Dutchie POS: Setup, Settings & Overview

Learn how to set up and manage the Metrc integration in Dutchie POS, including API key configuration, integration settings, supported inventory actions, and compliance reporting.

Dutchie POS's real-time Metrc integration increases operational stability, provides peace of mind, and helps maintain compliance by automatically reporting actions performed in Dutchie POS to Metrc. Whether you're setting up the Metrc integration for the first time or troubleshooting an existing connection, this article covers integration setup, settings, and more.

Table of contents

Integration requirements

  • Must be operating in a state that uses Metrc as its state traceability system.
  • Metrc integration enabled in Dutchie POS Backoffice.
  • Always ensure your API Key is valid and consist of 24 characters.
  • To avoid issues like blocked transactions or negative quantities in Metrc, it's essential that all cannabis products you intend to sell are properly entered and tracked in Metrc before you enable the integration in Dutchie.

Field mapping

The chart below shows how each field maps from Metrc to Dutchie. 

Dutchie POS Metrc
Strains  Strains
Catalog Items
Batch Batch
Plants Plants
External Package ID Package
Rooms Locations

Metrc integration settings

This chart reflects how settings are listed when Grouped view is enabled:

bo_settings_integrations_metc_settings_grouped view.png

Grouped view organizes related settings together in expandable sections.

Connection & Authentication

Setting  Description
Enabled Enable or disable the Metrc integration by selecting Yes or No
Require Individual User API Keys

When set to Yes, each user must have an individual user API key entered in the User keys tab. If a user has no key entered, they won’t be able to perform any action in Dutchie that reports to Metrc, such as processing transactions or completing various inventory management actions.

When disabled, individual user API keys are used when present; when not present, the master API Key below is used as a fallback.

More info: 

API Key

This API key serves as the master/primary key for your facility and should be associated with an administrator or manager who has full permissions in Metrc. 

If individual user API keys are entered in the User keys tab, actions in Dutchie POS are logged under each individual user in Metrc. If a user does not have an individual API key entered, the master key is used instead and actions are logged under the user associated with the master key.

More info: 

License # Enter your facility's state-issued license number
State Select the state that issued your license
Environment

Select Sandbox only if the location you're configuring is used only for testing.

Otherwise, select Production.

API URL This automatically populates based on your State and Environment selections.

Batch Mode

Setting  Description
Mode

Batch reports sales and inventory data to Metrc in periodic batches instead of on a constant, real-time basis. This can offer greater stability and resiliency if your connection to Metrc is disrupted.

However, some states require Real-time reporting and should not use Batch Mode. Confirm with your state regulators before enabling. Learn more about Batch Mode.

Switch to Batch Mode on Timeout Automatically switches to Batch Mode for sales when the Metrc API times out.

Sales & Reporting

Setting  Description
Enable Returns When set to Yes, returns in Dutchie are automatically reported to Metrc.
Report Sales By Customer Type is the default setting and is used in states where recreational and medical sales can be processed on the same license. If your state requries separate licenses (and therefore separate locations in Dutchie, even if they're the same physical location) for recreational and medical sales, select License Type (Rec) or License Type (Med).

Allotment & Patient Management

Setting  Description
Prevent Overselling

When set to Yes, the Dutchie Register will display any warning received from Metrc that a sale exceeds purchase limits or allotments, prevent users from completing the sale in Dutchie, and automatically void the sale in Metrc.

This is not supported with Batch Mode.

Fetch Allotment Behavior Use Most Restrictive Allotment (Recommended) should be used in most cases.
Enable Allotment Check Before completing a sale, Dutchie will query Metrc for the patient's current allotment and will block any sale that would exceed that allotment. Only used in states that track allotments.
Use Metrc Patient Expiration Date When set to Yes, medical card expiration dates fetched from Metrc are automatically saved to patient profiles.

Inventory Management

Setting  Description
Use Retail ID

Enables Metrc Retail ID for your location. Learn more about Retail ID:

Automatically Create New Products On Transfer Automatically creates new products in your Dutchie Catalog based on Metrc Items received via transfer.
Maintain Rooms

When set to Yes, rooms created in Dutchie will automatically be created in Metrc, and when you move packages between rooms in Dutchie those moves are also reported to Metrc.

After enabling, make sure each of your rooms has a selection in the Location type field (typically Default Location Type; some states have additional options for cultivation locations).

Maintain Strains When set to Yes, strains created in Dutchie will automatically be created in Metrc.
Maintain Items When set to Yes, products created/updated in your Dutchie Catalog will automatically be created/updated accordingly as Metrc Items when the Dutchie product has the Sync to Metrc Item setting enabled on its product detail page in the Catalog.
Ignore Adjustments When set to Yes, inventory adjustments are not reported to Metrc. This should usually be set to No.
Use Relative Adjustments When set to Yes, provides the option to use relative numbers for adjustments (i.e., enter a positive number to add to a package quantity or a negative number to subtract) or absolute adjustments (i.e., enter the actual package quantity directly).
Compare Inventory Rooms When set to Yes, Dutchie will compare and validate inventory room assignments between Dutchie and Metrc. Usually used with the Maintain Rooms setting.
Prevent Metrc Package Location Moves Prevents users from moving cannabis packages to another location without a manifest. Learn more
Use Metrc Brands See: Enable the use of Metrc Brands in Dutchie POS
Prevent untested inventory sales When set to Yes, Dutchie prevents sales of cannabis inventory that hasn't passed required lab testing. This should only be used as directed by state regulators.
Check For On Hold Inventory When set to Yes, inventory with an Administrative Hold or Administrative Recall status in Metrc can't be sold in Dutchie.
Treat Moisture Loss As Harvest Waste Records the difference between wet weight and dry weight harvest waste.
Create Package Donation / Trade Sample Option When enabled, a Type selection field appears on the Create packages modal and users can choose whether a new package is a Standard, Donation, or Trade Sample type. This option is primarily used for conversions in specific states like California and Oregon. 
Use External ID Set to Yes by default. Controls Metrc Items and Product Catalog license mapping. 
Sync item approval files/fields Automatically uploads product files and fields to the corresponding Metrc Item
Use "Use by date" Enables "Use by date" fields on package detail, receive, convert, and label settings.

Manufacturing

Setting  Description
Use Processing Jobs Enables Metrc Processing Jobs API for cultivation operations, including Bills of Materials and Assemblies.

Lab Data

Setting  Description
Use Metrc Lab Data When set to Yes, lab testing data can be imported from Metrc.
Default Metrc Labs in Receive When set to Yes, the Get Metrc Lab Results option defaults to Yes when receiving a package. This means the package's lab results are automatically imported upon receive, though you can still set Get Metrc Lab Results to No for an individual package. Learn more.
Use Package Based Potency When set to Yes, Dutchie calculates non-flower item potency using batch-specific lab results, supporting Alaska’s purchase limits. Only relevant for Alaska operators. Learn more.

Transfers & Delivery

Setting  Description
Use Transfer Templates When set to Yes, Dutchie will create a transfer template in Metrc when manifests are marked Sold in Dutchie. You will still need to transfer the template out of Metrc directly. 
Use Production Batch Flag On Convert and Create Package

When set to Yes, a production batch number is only reported to Metrc when the output package is explicitly marked as a production batch. If the output package is not flagged as a production batch, no batch number is sent. When disabled, the batch number is always reported to Metrc regardless of how the output package is flagged.

This is intended for locations that use Convert Package or Create Package workflows and need precise control over when production batch data is submitted to Metrc.

Delivery Transaction Action

Controls how delivery orders are reported to Metrc. Select Metrc Sale to report delivery orders as standard sales receipts (same as in-store transactions). Select Metrc Delivery to report delivery orders using Metrc's dedicated delivery endpoint, which submits customer address, driver, vehicle, and route information — required for states that mandate delivery-specific reporting. Select None to disable Metrc reporting for delivery orders entirely.

Note: Metrc Sale is the default. Metrc Delivery is a more complex workflow and may require your state's Metrc instance to support the delivery API. Consult Metrc or your state regulators about which setting to use.

Use Reciprocal States When set to Yes, Dutchie verifies whether out-of-state medical patients are from a state with a reciprocal medical cannabis agreement before completing a sale. If reciprocity is confirmed, the patient's registration location is included in the sale reported to Metrc. If the patient is from a state with no reciprocal agreement, the sale will be blocked at the register. Enable this setting only if your state participates in a medical cannabis reciprocity program.
Transfer Expiration Date

Controls how the Expiration date field is filled in on new inventory upon receiving.

Choose from:

  • One year from current date = don't import Metrc expiration dates and instead auto-populate an expiration date one year from the inventory receiving date.
  • Expiration Date = import package-level expiration dates from Metrc. If no expiration date exists in Metrc, it must be entered manually in Dutchie.
  • Lab Test Result Expiration Date = import lab results-level (batch-level) expiration dates from Metrc. If no expiration date exists in Metrc, it must be entered manually in Dutchie.
Pass Delivery ID as Consumer ID For New Jersey only. Includes the Delivery transaction ID as the Consumer ID to meet state requirements.

Sync Log Settings

These settings are configured by your implementation specialist and should not be changed.

Integration actions

Inventory Action Pushes to Metrc? Metrc Response
Combine DOES NOT POST TO METRC - Do not use on cannabis packages that have different Metrc IDs
Adjust (Absolute) Adjusts total package quantity to the amount entered in the adjust action 
Adjust (Incremental) Adjusts package by the increment specified (i.e. “1” = adds 1 to count | “-1” subtracts 1 from the count)
Destroy Does not post to Metrc - use ADJUST and ADJUST to “0” instead
Lab Sample Not currently integrated with Metrc. Will create a lab sample package in the lab sample amount; Operators will need to do all lab sampling directly out of Metrc to specify test type and can adjust down the parent package in Dutchie with Bypass State System enabled,  or use this Lab Sample function with Bypass State System enabled to reconcile package quantities.
Sublot BioTrack-specific action; use “Create Packages” instead
Create Packages  Will split off package(s) with new Metrc tags in the amount specified in the create packages modal
Convert Creates an output product in Metrc from the inputs specified
Move If all your rooms are synced with an “External ID” all room moves will post to Metrc
Change Product Does not post to Metrc - will change product name in dutchie but not in Metrc
Transfer to Cultivation Allows an operator to intake live immature plants from another license and move to their cultivation module. Will only work when transferring as a Clone type.
Assign to Batch Does not post to Metrc - updates the batch name on the package in Dutchie only
Assign Status Does not post to Metrc  - updates the “Status in dutchie inventory only
Change Vendor Does not post to Metrc - updates Vendor assignment in Dutchie
Add to Order Adds selected package(s) to an open/uncompleted manifest
Discontinue Does not post to Metrc; This will undo the convert workflow. It must be done separately in METRC and Dutchie, and can only be done for a 24 hour window in METRC after the product is created
Remediate Metrc-specific action to initiate retesting on a product that initially failed lab testing.

Finish/Unfinish


 

Metrc-specific action; marks a package finished which blocks any further actions from being taken on the package

Cultivation actions

Cultivation Action Pushes to Metrc? Metrc Response
Add Plants to Inventory  Will create new plants in Metrc as specified on the add plants modal in Dutchie. The Strain will need to already exist in Metrc.
Move Plant If all your rooms are synced with an “External ID” all room moves will post to Metrc
Assign Room and subroom If all your rooms are synced with an “External ID” all room moves will post to Metrc
Assign/Remove Mother Does not post to Metrc. Assigns/Removes the Mother Plant tied to that plant record
Assign Mother Status Does not post to Metrc. Will denote if the plant is/is not a mother in Dutchie only.
Assign Plant Stage Posts stage change to Metrc
Assign Batch Does not post to Metrc. Changes the batch in dutchie only
Assign Plant Group Does not post to Metrc. Changes the plant group in dutchie only
Apply Additives  Will apply additives in Dutchie records only; for Metrc states that require additive tracking, this will need to be performed in Metrc directly and can be duplicated in Dutchie for record matching
Transfer to Inventory  Will work for transferring Immature Plants item type to inventory 
Retire Plant Will destroy the plant in Metrc and creates a Waste record in your Metrc portal
Convert to Plant Once this action is initiated, all the converted plants move from Immature status and then are tracked as individual mature plants in Metrc (Vegetative or Flowering)
Destroy Clone Posts to Metrc as an immature plant adjustment
Destroy Seedling Posts to Metrc as an immature plant adjustment
Harvest Plant Schedules the selected plants for Harvest
Plant Journal For record keeping inside of Dutchie
Trim Plants Will not post to Metrc
View Additive Log For record keeping inside of Dutchie 

Supported features

  • Cultivation integration
  • Inventory package integration
    • Adjust inventory
    • Covert inventory
    • Create packages
    • Move inventory
  • Inventory reconciliation
  • Receive inventory directly from Metrc via Pending Transfers.
  • Use Dutchie POS to build transfer templates in Metrc.
  • Use the Metrc sales integration to pull patient allotment details into Dutchie POS customer profiles.
  • Batch mode allows Dutchie POS to batch sales transactions together for processing later and avoid interruptions to Dutchie Register operations. 

Frequently asked questions

Why aren't my Metrc items and Dutchie POS catalog products syncing?

Metrc doesn’t allow the creation of a package when the products in the package exist in Dutchie POS, but not in Metrc. This can happen if the product names don’t match between Metrc and Dutchie POS. 

  1. Check whether the product has the same name in Metrc and Dutchie POS.
  2. If the product doesn’t exist or the names are different, go to Products > Catalog and select the product.
  3. From the Details tab, set the Sync to Metrc Item field as Yes. Only enable this setting when creating a new Catalog product in Dutchie POS that does not already exist as an item in Metrc.
  4. Go to Settings > Integrations > Metrc.
  5. Click the Settings tab and set the Maintain Items field to Yes.
  6. Click Update to save the settings.
  7. Select the Sync tab.
  8. Select Push: Inventory to send the latest Dutchie POS product settings to Metrc. This pushes the spelling, capitalization, spacing, etc. from Dutchie POS to Metrc.

Why can’t my dispensary use Batch Mode?

Batch Mode doesn’t post at the time of the transaction, so operators in states that require real-time sales reporting can’t use the feature. 

Why didn’t my delivery driver information carry over to Metrc?

If your driver information is incomplete in Dutchie POS it won’t sync to Metrc. To edit driver information:

  1. Go to Products > Manifest.
  2. Click the Wholesale tab.
  3. Select Edit Driver from the Actions dropdown.
  4. Add driver information as needed.  

I created a Metrc manifest to virtually transfer some product back to the cultivation facility. They accepted the manifest, but the inventory is still showing in Backoffice. It's already pulled out of my inventory on the Metrc side.

After checking the recent manifests created in Backoffice, there is no Dutchie manifest to reflect the deduction of product associated with the transfer that was built in Metrc.

You will need to create a manifest for the products that you returned to your cultivation facility to reflect the proper inventory quantities for the packages associated. In the future, it is best practice to always create the manifest in Dutchie first and Metrc will sync via the API. Any actions taken in Metrc first will not sync to Dutchie.

I am integrating to Metrc, do I need to create my Catalog and Inventory items that are currently in Dutchie, in Metrc?

All cannabis packages that are available in Dutchie POS should also reflect in your Metrc state traceability. If there are discrepancies in package IDs, quantities, or any variance between systems, it is recommended that you reconcile these prior to integration so that sales can track and process correctly between systems. 

Some products are ringing up with an allotment that is too low. For example, 1/8 and 1/4 of flower show up with an allotment of less than 1 gram.

Check if your shop has "Use Package Based Potency" - (for use in Alaska only) enabled. This calculates the flower equivalent on packages when lab data is entered. To resolve this, disable the Metrc Integration Setting "Use Packaged Based Potency" - (for use in Alaska only),  and the allotment pulled from the Flower Equivalency entered in the inventory.

You will need to update items with the incorrect flower equivalency. If you have a large number of items to correct, contact support to assist you with a bulk upload to wipe any inventory items with incorrect flower equivalencies.

Note: The "Use Package Based Potency" setting should only be used by Alaska operators. If you do not operate in Alaska, you should not turn on this setting.

There is one physical unit. Dutchie's inventory and metric shows one unit, but the integration audit shows two units.

If you have already tried to adjust quantities up and down, you can unallocate the unit showing on the sales floor, and then sync levels with Metrc.

Related articles

Was this article helpful?