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 everything you need to know.
With the Dutchie POS + Metrc integration, you can:
- Share certain types of information such as rooms, product catalogs, batch information, packages, and plant ID numbers.
- Report sales, voids and returns from the POS.
- Use Dutchie POS to create clone batches in Metrc.
- Dutchie | Metrc integration actions
- Send inventory adjustments to Metrc in real-time.
Table of contents
- Integration requirements
- Integration field mapping
- Integration settings
- Dutchie | Metrc integration actions
- FAQs
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
Metrc settings control your integration behavior.
| Setting | Description |
| Enabled | Allows you to enable or disable your Metrc integration by selecting Yes or No. |
| 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. Learn more. |
| API Key1 | API keys are tied to users who are granted permissions for specific licenses. When a key is assigned to a user with correct access to Metrc, the API key can be used to modify records through the Dutchie POS integration. |
| License # | Optional field to enter your dispensary license number. |
| State | State that issued your license. Should match the license holder. |
| Require individual user API Keys | If set to Yes, users must be assigned an individual API key to use the Metrc integration. |
| Prevent overselling |
If set to Yes, the Dutchie Register will display any warning received from Metrc that a sale exceeds purchase limits or allotments and automatically voids the sale in Metrc. This is not supported with Batch Mode. Contact support before enabling this setting. |
| Enable allotment check | Supports overselling settings and only available in certain states. Contact support before enabling this setting. |
| Automatically create new products on transfer | Enable this setting to automatically generate new products in the Catalog based on Metrc items. |
| Maintain rooms | When enabled, Rooms created in Dutchie POS will also be reflected in Metrc. |
| Maintain strains | When enabled, Strains created in Dutchie POS will also be reflected in Metrc. |
| Maintain items | When enabled, new products added to the Catalog will also be added as Metrc items. |
| Compare inventory rooms | Supports Rooms setting. When enabled, Dutchie POS will share inventory room assignments with Metrc. |
| Treat moisture loss as harvest waste | Allows you to record the difference between wet weight and dry weight. This is entered during harvesting. |
| Use transfer templates | When enabled, Dutchie POS will create a transfer template in Metrc when manifests are marked complete. You will still need to transfer the template out of Metrc directly. |
| Use external ID | Set to Yes by default. Controls Metrc Items and Product Catalog license mapping. |
| Prevent Metrc Package Location Moves | Prevents users from moving cannabis packages to another location without a manifest. Learn more. |
| Transfer Expiration Date |
|
The master API key for the location enables the Metrc integration. Users that have their API key tied to this field will log all actions taken in Dutchie POS and record as that user in Metrc. If we set individual API keys on each user, then those keys will log accordingly based on user actions performed. If the user has no API key set in 'User Keys' all actions taken will tie to the Master API Key.
Dutchie | Metrc 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
Go to Cultivation > Plants.
| 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.
- Check whether the product has the same name in Metrc and Dutchie POS.
- If the product doesn’t exist or the names are different, go to Products > Catalog and select the product.
- 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.
- Go to Settings > Integrations > Metrc.
- Click the Settings tab and set the Maintain Items field to Yes.
- Click Update to save the settings.
- Select the Sync tab.
- 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:
- Go to Products > Manifest.
- Click the Wholesale tab.
- Select Edit Driver from the Actions dropdown.
- 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.