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.

  1. Go to Sales → Sales History.
  2. Click View Failed METRC Sales. This filters the list to show only sales with a failed METRC status.
  3. To see the specific error on a sale, open it — the METRC Error field will show the message returned by METRC.
  4. 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.
Automatic daily retry: POSaBIT automatically retries eligible failed sales everynight. Errors caused by temporary connectivity or METRC server issues will often clear on their own without any action on your part.

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.

  1. Log into your METRC account and confirm your API key is active. If it has expired, generate a new one.
  2. In POSaBIT, go to Settings → Integrations → METRC and update the API key.
  3. Save. Once your credentials are valid, click Resubmit All Failed METRC Sales to reprocess the failed sales.
If the error mentions a license number mismatch: Your API key may not have your license number linked. In METRC, go to Admin → API Keys, edit the key, and confirm the correct license is associated.

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.

  1. In METRC, go to Admin → API Keys and edit the key you use with POSaBIT.
  2. Ensure Sales Receipts is checked under permissions.
  3. 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.

  1. Open the customer's profile in POSaBIT and add their medical card number.
  2. Once saved, click Resubmit to METRC on the failed sale — POSaBIT will use the updated information.
If the sale should have been Recreational: If the customer type was set incorrectly at time of sale, the sale will need to be voided and recreated under the correct customer type. Resubmitting will not change the sale type.

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.

  1. In METRC, locate the active transfer and void it if it was created in error.
  2. Once the package is no longer in a transfer, click Resubmit to METRC in POSaBIT.
If the transfer was legitimate: If the product was genuinely transferred out, this sale was likely rung against product you no longer had. The sale will need to be voided.

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.

  1. Log into METRC and go to the METRC admin tools.
  2. You can manually unfinish the package under Admin → Packages, create an inventory adjustment to restore the quantity.
  3. 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.

  1. Create a manual inventory adjustment in METRC (under Packages → Adjust, reason: Inventory Audit) to increase the package quantity.
  2. 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.
Already submitted: Occasionally a sale shows as failed in POSaBIT but was actually received by METRC. When you click Resubmit, POSaBIT checks for this and will update the status to success automatically — no duplicate sale is created in METRC.

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.


How did we do?

Powered by HelpDocs (opens in a new tab)

Powered by HelpDocs (opens in a new tab)