Metrc Retail ID is a universal QR code affixed to product packaging on individual cannabis items by manufacturers or cultivators (Brands). These QR codes contain information about the product, its origin, and lab results. Retail ID is option in some Metrc states but required in others.
This article provides an overview of Metrc Retail ID for cultivators, manufacturers, and distributors. Dispensary/retail operators should refer to our retailer guide.
Table of contents
- How does it work?
- What's the benefit?
- Video overview
- How producers leverage Metrc Retail ID with Dutchie
- Prerequisites for using Retail ID in Dutchie
- Manage retail IDs - Print, View, and Fetch
- Use Retail IDs in inventory audits
How does it work?
- Brands set up products and packages in Metrc as usual, selecting the package for labeling with “Test Passed” results.
- Brands select their preferred option, download serialized labels, print and affix labels to each item and repackage using current transfer process.
- Distributors seamlessly move product through the supply chain without additional scanning.
- Retailers receive package(s) in Metrc, scanning each Metrc package with Retail ID codes to complete transfer and check out, syncing QR codes with Dutchie POS inventory.
- Consumers can scan QR codes for product information, certificates of analysis (COAs), ingredients, and more.
What's the benefit?
- Efficiency: QR code labeling eliminates the need for extra POS stickers. Faster product intake and verification. Reduces manual data entry errors. Speeding up transactions for a better customer experience.
- Compliance: Ensures products are legal, lab-tested, and safe for consumption. Improves compliance and increases market confidence. Validates legal product to deter illicit activity. Protects brand reputation and bottom line.
- COA visibility: Allows real-time access to item-level product data in a single scan. Builds consumer confidence with validation of lab testing.
- Product review and effects reporting: Amplifies voice of consumer data with access to direct product review and effects reporting. Improves public health with ability to track product effects directly in the app.
Video overview
How producers leverage Metrc Retail ID with Dutchie
Metrc Retail ID integrates seamlessly with the Dutchie Backoffice, where producers can import Retail IDs from Metrc and print the QR code labels.
Dutchie's Metrc integration is designed so you can manage Retail IDs entirely in Dutchie. For this reason, Dutchie users should avoid generating or printing Retail IDs in Metrc.
When to print Retail IDs by license type
Printing Retail ID labels in Dutchie automatically generates and imports Retail ID QR codes from Metrc in one step.
Only print Retail IDs for quantity-based finished goods packages that have not yet been split for retail sale or transfer and have passed lab testing.
Create packages for retail sale or transfer after generating and printing Retail IDs in Dutchie.
Cultivators (Prepack 1g, 3.5g, 7g, Pre-rolls, etc.)
Print when: Harvest is complete, tested, and repackaged into final-form SKUs.
- Example: You've harvested 5 lbs of Blue Dream, lab tested, and repackaged into final good 3.5g, 7g, Pre-roll 5-packs, and Pre-roll 12-packs.
- Why now: Child packages created from each bulk/source package downstream will inherit the same Retail ID pool without needing to be relabeled.
Manufacturers (Edibles, Concentrates, Topicals, Pre-rolls, etc.)
Print when: Production batch is complete, tested, and in final form.
- Example: You've manufactured 5,000 strawberry gummies, received the certificate of analysis (COA), and they're ready for repackaging to sell to distributors.
- Why now: These are finished goods ready for distribution. This ensures downstream partners receive pre-labeled inventory.
Distributors
Print when: You receive inventory without Retail IDs.
- Note: Most inventory you receive should already have Retail IDs from the supplier.
- Only print if: The supplier failed to label products with Retail ID QR codes, and you need to add them before retail transfer.
Examples
Scenario |
Should you generate and print retail IDs? |
Why |
|---|---|---|
Harvest flower package lab tested, but still in bulk weight/grams form |
No |
Retail IDs can only be generated and printed for packages in quantity/each form |
Harvest flower package lab tested, have created final SKU packages (1g, 3.5g, etc) |
Yes |
Child packages inherit the same Retail ID pool, so generating on the bulk packages covers all downstream variations |
Bulk, intermediary/WIP package created in weight/grams form and lab tested |
No |
Retail IDs can only be generated and printed for packages in quantity/each form |
Bulk package of final form created, sample sent to lab for testing |
No |
Can't generate and print in Dutchie without TestPassed or RetestPassed status |
Bulk package of final form (each/quantity item) created and lab tested |
Yes |
Child packages inherit the same Retail ID pool, so generating on the bulk packages covers all downstream variations |
Child package created from a bulk, lab tested, final form package |
Maybe |
Retail IDs will need to be generated and printed for each sequential child package. Generating for the bulk package eliminates further generating/printing (more labor) |
Received package that already has Retail IDs |
No |
Use existing Retail IDs - attempting to generate and print new IDs will fail |
How many Retail IDs should you print?
Metrc advises printing a few more than the quantity on hand, in case some get damaged.
However, printing Retail IDs is relatively flexible in that you can always generate and print more for the bulk, final form package.
Note, however, that you can't print Retail IDs for child packages from a source. For example, if a retailer receives a package from a supplier that has Retail IDs and some were damaged, the retailer can't generate and print more – only the supplier can.
If a retailer has damaged Retail ID labels or the QR code is unreadable, they must contact the supplier to request new ones or transfer the damaged amount back to the supplier. If a supplier receives a request for more Retail IDs, they should generate and print the requested amount, send them to the Retailer (physically or via email) and the retailer would use the Fetch QR IDs action for Dutchie to pull the new ones in.
Prerequisites for using Retail ID in Dutchie
Before you can generate and print Retail IDs, ensure the following requirements are met:
Enable Metrc Retail ID in Dutchie
- Go to Settings > Integrations > Metrc > Settings.
- Set Use Retail ID to Yes.
- Click Save.
Required permissions in Dutchie
Users must have these permissions in Dutchie to work with Retail IDs:
- In the Dutchie Backoffice, navigate to Settings > Users.
- Select a user or permission group.
- Under Inventory > Retail ID, enable the following permissions:
- Print Retail IDs – Allows user to print labels with Retail ID QR codes
- View Retail IDs – Allows user to see associated Retail IDs for packages
- Fetch Retail IDs – Allows user to manually pull Retail IDs from Metrc
Required permissions in Metrc
Users must have these permissions in Metrc to work with Retail IDs. Without these Metrc permissions, attempts to generate and print retail IDs in Dutchie will result in a 401 error.
- In Metrc, navigate to Admin > Employees.
- Select an employee responsible for managing inventory.
- Set each of the following permissions to Manage:
- Packages Page: Product Labels
- Transfers Menu: Licensed & External
- Transfers Menu: Templates
- Save changes and repeat for each additional employee who manages inventory.
- From Admin > Employees, select the employee whose API key is used as the main key for the Dutchie/Metrc integration and set the Admin Menu: Employees permission to Manage.
- Save changes.
Generate a new API key and enter it into Dutchie for each employee with updated permissions.
Dutchie label templates with Retail ID QR code field
You must have at least one label template that includes the Retail ID QR code data field:
To create or update a label template:
- Navigate to Settings > Labels.
- Create new or duplicate existing template.
- Add a QR Code element.
- Select Inventory | Retail ID QR code from the data source dropdown.
- Position and size the QR code appropriately.
- Add other required compliance fields (Product name, Package ID, Lab results, etc.).
- Save the template.
Tip: Create multiple label templates for different product types (flower labels, edible labels, concentrate labels) that all include the Retail ID field. This gives you flexibility when printing.
Package eligibility requirements
Packages must meet the following criteria to generate and print Retail IDs:
Requirement |
Details |
How to Verify |
|---|---|---|
Lab Test Status |
Must be TestPassed or RetestPassed |
View "Lab Test Status" column in inventory list, or type "TestPassed" or "RetestPassed" into the inventory search bar. |
Unit of Measure |
Must be quantity-based, not weight or volume |
Check Catalog > Product > Unit of Measure field |
Cannabis Product |
Must be marked as cannabis product |
Check Catalog > Product > Cannabis Product = Yes |
Package Exists in Metrc |
Package must have valid Metrc Package ID |
Verify External Package ID is present on package detail page |
Non-Zero Quantity |
Package must have active inventory (quantity > 0) |
Check available quantity in the inventory list |
No Existing Retail IDs (from Metrc) |
Package hasn't already had Retail IDs generated externally |
Currently limited validation—see Known Limitations below |
Manage retail IDs - Print, View, Fetch, and Set Label Source
You can print Retail ID QR code labels, view Retail IDs associated with a package, fetch Retail IDs from Metrc, or set label sources from the Manage retail IDs screen:
- Go to Products > Inventory.
- Locate a finished good package with TestPassed status. You can search for “Passed” in your inventory search bar find these packages. If you don't see this column, click the cog wheel to open your column configuration and add the Testing Status column to your view.
- Click the ellipsis (...) next to a package and select Manage retail IDs.
Or, use the checkboxes to select multiple packages, then select bulk Actions > Manage retail IDs. - You'll then see these options: Print Retail ID labels, View Retail IDs (for single packages only, not if you selected multiple), Fetch Retail IDs, and Set Label Source.
Generate and print Retail IDs
See video overview at 4:14
Previously, you had to generate Retail IDs as a separate step in Dutchie before printing labels. We've since updated the Print Retail ID labels action to automatically generate IDs and print QR labels in one step.
This means you should still verify that Retail IDs have not already been generated in Metrc, as outlined below, but there is no longer a separate "generate" action that you need to do first.
You can't generate/print Retail IDs in Dutchie if Retail IDs have already been generated in Metrc. Dutchie currently can't detect if a package already has Retail IDs generated externally in Metrc (from a sibling tag or source package).
- Impact: If you attempt to generate/print Retail IDs for a package that already has them, you'll see the error in Traceability Error Logs after submission.
- Workaround: Check Metrc directly before generating, especially for child packages.
- If Retail IDs have already been generated in Metrc, use the Fetch Retail IDs option instead.
Once you've verified in Metrc that a package does not already have Retail IDs generated:
- From the Manage Retail IDs screen, select Print Retail ID labels and click Next.
- Under Printer settings, select a Label. Make sure this is one of the label templates you created earlier with the Inventory | Retail ID QR code field.
- Select a Printer.
- Enter how many Retail IDs labels to be printed in the Qty To Print field per package
- Click Print labels.
Each Retail ID QR code label is unique. Do not reuse or rescan QR code labels on multiple units of a product. For example, if a customer buys two of the same product, the retailer must scan each one individually and can't scan the same label twice.
Once Retail IDs are successfully generated and printed, the Retail ID column on the Inventory page will show a QR icon to indicate the package has Retail IDs. Click the cog wheel to enable this column and click and drag it next to the Package ID column. This column is sortable so you can group Retail ID packages together.
You can also click the More filters button and toggle Show only packages with retail ID.
When receiving inventory, Retail ID packages will also be denoted with a QR code icon.
View Retail IDs
See video overview at 6:31
From the Manage Retail IDs screen, select View Retail IDs and click Next.
This will show all Retail IDs associated with the package that have been sold by a retailer, along with the last printed date, sold date, and receipt number (if the item's QR code was scanned to ring it up). This refers to retail sales only, not wholesale transfer.
You can only view Retail IDs for one package at a time. If you selected multiple packages from the Bulk actions menu, you won't see the View Retail IDs option.
Fetch Retail IDs
See video overview at 02:48
If Retail IDs have been generated in Metrc for a given package or several packages but you're not seeing Retail ID QR icons for them in Dutchie, fetch the Retail IDs from Metrc. Fetching Retail IDs from Metrc may also be necessary after you first enable Retail ID in Dutchie, as existing Retail IDs are not automatically fetched from Metrc upon enabling the feature. Note that packages must a Metrc package ID/external package ID assigned in order to fetch their Retail IDs.
- From the Manage Retail IDs screen, select Fetch Retail IDs and click Next.
- A confirmation message will show the number of Retail IDs successfully fetched. You can now print labels for the newly available Retail IDs.
Set Label Source
See video overview at 7:17
To correct the label source for a package or multiple packages, such as in the event of a mislabeling or "Scan failed" message in the Register due to the source package not being found:
- In the Backoffice, go to Products > Inventory and look up the package in question.
- Click the package to open its details.
- Find the Label source field and place your cursor into it.
- Scan the QR code that produced an error at the Register or paste its Retail ID URL.
- Dutchie automatically decodes the QR code or URL to set the correct label source.
- Retry scanning at the Register.
You can also set the label source from the Manage Retail IDs menu for one or multiple packages.
Use Retail IDs in inventory audits
When auditing your inventory, you can scan a Retail ID QR code to pull up the associated package ID and enter its quantity or add the package to your audit if it's not already included.