METRC: Understanding and Resolving Failed Sales
When a sale fails to report to METRC, POSaBIT records the error and gives you tools to view, diagnose, and resubmit. This article explains what each error means and what steps to take to resolve it.
In this article:
- How to view and resubmit failed METRC sales
- Errors you can fix yourself
- Errors that resolve automatically
- When a sale needs to be voided and recreated
How to View and Resubmit Failed METRC Sales
You can view all failed METRC sales from the Sales History page in your POSaBIT portal.
- Go to Sales → Sales History.
- Click View Failed METRC Sales. This filters the list to show only sales with a failed METRC status.
- To see the specific error on a sale, open it — the METRC Error field will show the message returned by METRC.
- Once you've resolved the underlying issue, click Resubmit to METRC on the individual sale, or click Resubmit All Failed METRC Sales to retry all failed sales at once.
Errors You Can Fix Yourself
METRC Credentials Are Invalid
Error messages: "Invalid STS Credentials" · "Authorization has been denied for this request" · "API Key is valid, however license number XXXXXX is not associated with this Metrc API Key"
This means POSaBIT is unable to connect to METRC on your behalf because your API key is expired, revoked, or not authorized for your license number.
- Log into your METRC account and confirm your API key is active. If it has expired, generate a new one.
- In POSaBIT, go to Settings → Integrations → METRC and update the API key.
- Save. Once your credentials are valid, click Resubmit All Failed METRC Sales to reprocess the failed sales.
API Key Not Authorized for Sales
Error messages: "API Key Not Authorized for Sales Receipts" · "Invalid license, trace key or insufficient permissions"
Your API key connects to METRC successfully, but it doesn't have permission to submit sales receipts. This is a permissions setting in METRC, not in POSaBIT.
- In METRC, go to Admin → API Keys and edit the key you use with POSaBIT.
- Ensure Sales Receipts is checked under permissions.
- Save in METRC, then click Resubmit All Failed METRC Sales in POSaBIT.
Customer Is Missing a Medical Card Number
Error messages: "Patient Number is required, but was not specified" · "Identification Method is required but was not specified"
The sale was recorded as a Medical sale, but the customer's profile doesn't have a medical card number on file. METRC requires a patient license number for all medical sales.
- Open the customer's profile in POSaBIT and add their medical card number.
- Once saved, click Resubmit to METRC on the failed sale — POSaBIT will use the updated information.
Package Is Part of an Active Transfer
Error messages: "Package [TAG] is in Transit and cannot have its contents sold" · "Package [TAG] cannot be adjusted because it is part of an existing Transfer"
The package was locked in an active or in-transit transfer in METRC at the time of the sale.
- In METRC, locate the active transfer and void it if it was created in error.
- Once the package is no longer in a transfer, click Resubmit to METRC in POSaBIT.
Package Has Been Finished in METRC
Error messages: "Contents from package [TAG] cannot be sold because it has been Finished" · "Package [TAG] has been discontinued"
The package was marked as finished (zero quantity, closed out) in METRC before the sale could be reported. The package needs to be reopened and quantity restored before the sale can submit.
- Log into METRC and go to the METRC admin tools.
- You can manually unfinish the package under Admin → Packages, create an inventory adjustment to restore the quantity.
- Then click Resubmit to METRC in POSaBIT.
Transaction Quantity Exceeds Available Quantity
Error messages: "Transaction quantity [X] in Package [TAG] is greater than available quantity [Y]"
The quantity POSaBIT is trying to report is more than what METRC currently shows as available in that package. This is a discrepancy between your METRC and POSaBIT inventory records.
- Create a manual inventory adjustment in METRC (under Packages → Adjust, reason: Inventory Audit) to increase the package quantity.
- Then click Resubmit to METRC.
Package Does Not Exist in Your Facility
Error messages: "Contents from Package [TAG] cannot be sold because it does not exist in the current Facility" · "Package [TAG] does not exist in the current Facility"
The package tag on this sale isn't showing up in your METRC facility's inventory. This can happen if the package was transferred out of your facility before the sale was reported, or if there's a license mismatch.
There are two resolutions depending on why this error occurred:
- If it was the wrong package sold in the sale, then you need to void and re-ring it up with the correct package.
- If it's the correct package and it should exist in their facility, you will need to receive it in METRC, which will require you reaching out to Metrc to help.
Errors That Resolve Automatically
The following errors are caused by temporary connectivity or capacity issues on METRC's side. POSaBIT will automatically retry these — no action is needed on your part:
- Rate limit errors (429): POSaBIT sent too many requests to METRC in a short window. These are automatically retried.
- METRC server errors (500, 503, 504): METRC's servers were temporarily unavailable or returned an error. These are automatically retried.
- Timeouts and connection errors: Error messages containing "timeout," "deadlock," "socket hang up," "ECONNRESET," or "ETIMEDOUT." These are automatically retried within 2 days.
- "No result": METRC returned an empty response. Automatically retried.
When a Sale Needs to Be Voided and Recreated
Some errors cannot be fixed by resubmitting — the underlying data on the sale itself is incorrect. In these cases, you'll need to void the sale and ring it up again correctly.
- Wrong customer type (Medical vs. Recreational): If a sale was recorded as Medical when it should have been Recreational (or vice versa), the sale type cannot be changed after the fact.
- Wrong unit of measure on a product: If METRC rejects the sale because the unit of measure doesn't match (e.g., "each" vs. "grams"), the product configuration will need to be corrected and the sale will need to be voided and re-rung.
- Wrong package sold: If the package tag on the sale doesn't exist in METRC and the package cannot be recovered, the sale was rung against the wrong inventory item.
Still Need Help?
If you're not sure which category your error falls into, or if a sale has been stuck in a failed state for more than 2 days, please reach out to POSaBIT Support with the sale number and the error message shown on the sale. We're happy to help investigate and get it resolved.