POS Systems and Store Operations
Dutchie METRC integration setup for cannabis dispensaries

Powered by StealthAgents
POS Systems and Store Operations

Dutchie is one of the most widely deployed point-of-sale systems in cannabis retail, and its METRC integration is a core reason dispensary operators choose it. When the integration is set up correctly and monitored consistently, your retail sales push to METRC in real time without any additional staff action at the register.
Setting it up incorrectly, or leaving it unmonitored, creates a different problem: silent sync failures that look like compliant operations until a state inspector checks your records.
This guide covers how to connect Dutchie to your state METRC instance, what to verify after setup, and how to manage the integration day to day.
Before you begin, you need three things from your state cannabis regulator: your METRC API key, your METRC software user credentials for the Dutchie integration account, and confirmation of which state instance you are connecting to. METRC API credentials are state-specific. A credential set issued for Colorado will not work for a Michigan location.
Request your API key through the METRC state portal or by contacting your state METRC administrator directly. Processing times vary by state from a few days to a couple of weeks, so start this step early rather than waiting until you are ready to configure Dutchie.
You will also need administrator-level access to your Dutchie account and the company-level settings panel. If you manage multiple locations, Dutchie connects each location's METRC license separately, so you will repeat the credential step for each facility.
Log into Dutchie with your administrator account and navigate to Company Settings, then Integrations, then METRC. The state selector lets you choose your state cannabis program. Selecting the correct state is required before the credential fields populate, because the field labels and validation rules differ by state.
Enter your METRC API key in the designated field. This key is long and case-sensitive, so paste it rather than typing it. Enter your METRC software user credentials in the username and password fields. These are the credentials for the integration-specific METRC user account, not your personal METRC login.
After saving, Dutchie runs a validation call to METRC to confirm the credentials are active and associated with the correct license number. If the validation fails, the most common causes are an expired API key, credentials linked to the wrong facility license, or a state instance that is currently in maintenance. Wait 10 minutes and retry before escalating to Dutchie support.
Once your credentials are connected, review your sync settings. The most important setting is whether Dutchie is configured to push sales to METRC in real time or on a schedule. Real-time sync is the preferred configuration for compliance purposes. Scheduled sync creates a window during which your POS and METRC records are out of alignment, which creates a reporting gap on any record pulled during that window.
Package mapping tells Dutchie which METRC package tag corresponds to each product in your inventory. If your dispensary receives product through the Dutchie intake flow, package tags are typically captured during receiving and linked automatically. If you use a different receiving process, you will need to map METRC tags to Dutchie products manually through the inventory settings panel.
Verify that every active product in your Dutchie inventory has a METRC package tag linked to it before your next retail session opens. A product sold without a mapped METRC tag will complete in your POS but generate a sync error, and that error will require manual correction in METRC.
Run a test transaction before using the integration in a live retail session. Create a test sale in Dutchie using a low-value product with a METRC tag mapped. Complete the transaction, then log into your METRC state portal and verify that the sale appears in your package activity within two to three minutes.
If the sale does not appear in METRC within five minutes, check the Dutchie integration error log. Navigate to Company Settings, Integrations, METRC, and look for a failed sync event. The error log shows the specific transaction, the error code, and the time of the failed call.
Common test failures include missing package mappings, an API key that was saved with extra whitespace characters, and state instances that require a specific format for the time field on transactions. Each of these has a straightforward fix once you identify which one is causing the error.
An active Dutchie METRC integration requires daily monitoring even when everything appears to be working. API calls fail occasionally due to METRC maintenance windows, temporary network issues, and state portal updates that change field requirements.
Check the Dutchie integration error log at the end of every business day. Any failed call appears there with enough detail to identify the affected transaction. Failed calls do not self-resolve. Each one requires a manual correction entry in METRC for the specific transaction.
Assign the daily error log review to a single person as part of their closing responsibilities. Leaving it unassigned means it will not be checked consistently, and unchecked errors from the previous day will compound into the current day's reconciliation.
If your floor staff report that the METRC integration is showing errors during a live retail session, pause and assess before continuing to process sales. Every sale completed while the sync is failing will require a manual METRC correction entry after the integration is restored.
Identify whether the failure is affecting a single product, a single register, or all transactions. A single-product failure usually points to a missing or incorrect package mapping. A single-register failure may indicate a network issue at that station. A failure across all transactions typically indicates a METRC portal outage or an expired API credential.
Check the METRC state portal directly to confirm whether it is accessible. If the portal is up, the issue is on the Dutchie configuration side. Contact Dutchie support with the specific error messages from the integration log rather than a general description of the problem.
METRC state portals update their API requirements periodically. These updates sometimes change field formats, add required fields, or deprecate existing calls. Dutchie typically releases integration updates in advance of known API changes, but applying those updates is the operator's responsibility.
Check your Dutchie software update notifications regularly and apply integration-related updates promptly. Running an outdated integration version against a current METRC API is a common source of silent failures that look like the integration is working until you check the error log.
METRC API certification is issued per state and details are published on the METRC state portal for each licensed state. For a broader view of how Dutchie compares to other cannabis POS platforms on METRC integration quality, state coverage, and operational fit, the dispensary POS systems comparison covers the field in detail. For dedicated POS support tailored to your state integration, see our dispensary POS support service.
Q: Does Dutchie support METRC integration in every state?
A: Dutchie has METRC integrations for many METRC states, but coverage is not universal across all state instances. Before signing a Dutchie contract, confirm that their integration is certified for your specific state cannabis program. METRC API certification is issued state by state, and a POS certified for one state is not automatically certified for another.
Q: What happens to a sale if METRC is down when my customer checks out?
A: Dutchie queues the METRC sync call and retries it when the portal is accessible again. The sale completes in your POS normally. Check your error log after any known METRC downtime to confirm that queued calls cleared successfully.
Q: Can I have multiple licenses on the same Dutchie account?
A: Yes. Dutchie supports multi-location configurations where each location has its own METRC license connected separately. Inventory, transactions, and METRC sync operate at the location level, so a sync failure at one location does not affect others.
Q: How do I update my METRC API key in Dutchie if my state rotates credentials?
A: Navigate to Company Settings, Integrations, METRC, and replace the API key field with your new credential. Save the change, and Dutchie will run a validation call immediately. Do this promptly when you receive a credential rotation notice from your state, since operating with an expired key generates failed syncs that accumulate until the key is updated.
Q: My Dutchie integration shows a package tag mismatch error. What does that mean?
A: A tag mismatch error means the METRC package tag that Dutchie is trying to record a sale against is not in your METRC active inventory at that location. The most common cause is a product that was transferred out of your facility in METRC but not removed from your active Dutchie inventory, or a package tag that was entered incorrectly during receiving. Locate the correct active tag for that product in your METRC portal and update the mapping in Dutchie inventory settings.