This guide is designed to help dispensary operators understand two essential Metrc integration modes—Batch Mode and Real-Time Mode. This guide highlights key features, compliance, and how you can use each at your store. Each of these modes serves a unique purpose, and understanding how they work is important for compliance and operational efficiency.
Table of contents
- What is real-time?
- What is batch mode?
- Key differences
- Real-time mode overview
- Batch mode overview
- Additional real-time and batch mode information
- Related articles
Thing to consider
- You must have the Edit Metrc Integration permission to enable Batch Mode.
- Batch Mode applies only to Register Sales. Delivery workflows always require Real-Time reporting.
What is real-time mode?
Real-Time Mode is a Metrc setting that allows you to post transactions to Metrc immediately as they occur, ensuring real time compliance reporting for your store.
What is batch mode?
Batch Mode is a Metrc setting that processes sales transactions in batches, posting them to Metrc later. This setup helps prevent disruptions in instances where the Metrc API experiences downtime.
Key differences
The primary differences between Batch Mode and Real-Time Mode lie in their processing workflows and error-handling methods:
- Processing Workflow:
- Batch Mode processes transactions in batches and uses retry logic to manage failures.
- Real-Time Mode posts transactions instantly upon sale completion.
- Error Handling:
- Batch Mode logs errors for manual resolution, offering options to Requeue or Reconcile.
- Real-Time Mode requires immediate resolution of errors, as retries are not built into its workflow.
Understanding these differences will help you choose the most effective mode for your business needs.
Real-time mode overview
Real-Time Mode posts transactions directly to Metrc immediately after a sale is completed. This mode provides live error feedback, allowing operators to resolve issues as they occur. Real-Time Mode is mandatory in several states, including:
- Maryland
- Colorado (Medical)
- Oklahoma
- Montana
- Missouri
- Massachusetts (Medical)
- Michigan (Medical)
- Washington DC
- Minnesota
- West Virginia
If you operate in any of these states, Real-Time Mode is the only compliant option.
Real-time use cases
The important thing to remember about operating in real-time mode is that certain states are required to operate in Real-time to remain compliant.
Real-time troubleshooting
Most errors that happen in real-time mode are related to missing customer data. Below are some scenarios that may cause errors:
- Missing customer profile data: "PhoneNo is invalid", "You must select a gender," "You must select the date of birth”
- Ensure the missing fields are completed or adjust their requirement settings, if applicable.
- “Customer MMJID missing or expired.”
- Update the MMJID details to resolve the issue.
- “You will need to re-add the items to the cart because the customer type has been changed.”
- This occurs when the customer’s type changes mid-transaction. Correct the customer type and re-add the items to the cart.
Batch mode overview
Batch Mode in Dutchie POS is designed to ensure seamless operations even during Metrc service interruptions. Batch Mode groups or “batches” sales transactions together and posts them to Metrc later, typically within five minutes. If the Metrc API is unavailable, Batch Mode uses retry logic to resubmit transactions up to three times. In cases where transactions fail, Batch Mode Logs allow users to review and manually reprocess these transactions.
Here are some key features of Batch Mode:
- Retry Logic: Batch Mode can be configured to “Attempt Once” or “Attempt up to 3 Times.”
- Batch Logs: Batch Logs provide a detailed status of transactions, including:
- Dutchie Receipt ID
- Customer MMJID
- Status indicators such as Queued, Processing, or Error
- Metrc Receipt ID
- Manual Requeue and Reconcile Options:
- Select "Requeue" to retry posting a failed transaction. Avoid requeuing transactions that already have a Metrc receipt ID.
- Use this feature for connectivity-related issues, such as errors labeled "Timeout," "The operation has timed out," or "Metrc Service Unavailable."
- The Reconcile option is used when external adjustments are required in Metrc before transactions can be resubmitted.
Batch mode use cases
Batch Mode provides significant advantages. For example, it minimizes disruptions during Metrc outages, allows error reviews before posting, and ensures uninterrupted front-of-house operations.
Batch Mode is especially ideal for high transaction volumes during peak hours or during Metrc API downtime. However, always confirm with your local regulatory agency whether Batch Mode complies with your state’s regulations.
Batch mode troubleshooting
There are times where you may experience errors when operating in Batch Mode. Some common ones and their resolutions include:
- “METRC Bad Request-Timeout Expired.”
- This typically indicates a temporary connectivity issue. Select "Requeue" to retry the transaction.
- “METRC Unauthorized - Authorization has been denied for this request.”
- This error often relates to a failing Metrc key. Check whether the cashier’s or the master key needs to be regenerated.
- “Patient Number is required, but was not specified.”
- Update the transaction with the correct patient ID and requeue it. If the ID cannot be recovered, notify Metrc and your state regulator for further assistance.
Additional real-time and batch mode information
Best practices
To get the most out of Batch Mode and Real-Time Mode, we recommend keeping these best practices in mind:
- Stay compliant by confirming your state’s reporting requirements.
- Conduct routine audits to identify and address discrepancies early.
- If you are in batch mode, train your staff to monitor integration logs regularly, address errors promptly, and configure summary emails for nightly reports.
- The recommended option is “Attempt up to 3 Times,” with retries occurring within minutes, after one hour, and once more after another hour.