Table of Contents
How Retail Returns Sync to METRC
Retail returns sync to METRC in different ways depending on whether the return is partial or full. This distinction is important because METRC handles sale updates and sale deletions very differently…
Retail returns sync to METRC in different ways depending on whether the return is partial or full. This distinction is important because METRC handles sale updates and sale deletions very differently.
This article explains both scenarios step by step and outlines what happens to package quantities in each case.
Key Definitions
- Partial return
Only some of the quantities from the original sale are returned. - Full return
All quantities from all order lines on the original sale are returned.
Case 1: Partial Return
(Some quantities from the original sale are returned)
What Flourish does
- Flourish updates the existing sale in METRC.
- The updated sale includes only the packages and quantities that should still be considered sold after the return.
- Any package that was part of the original sale but is not included in the updated sale is implicitly treated as returned.
What METRC does
- METRC automatically detects that the package is no longer part of the sale.
- METRC unfinishes the package and restores the applicable quantity as part of its internal sale-update behavior.
Important notes
- Flourish does not explicitly unfinish packages in this scenario.
- Quantity restoration is handled entirely by METRC.
Summary
For partial returns, Flourish updates the sale and relies on METRC’s native behavior to restore returned quantities.
Case 2: Full Return
(All quantities from all order lines are returned)
Why is this case different
METRC does not support updating a sale to represent a complete return. When everything is returned, the sale must be removed instead.
What Flourish does
- Flourish deletes the original sale in METRC.
- As part of this automated deletion process, Flourish evaluates which packages may need to be unfinished.
How package unfinishing is determined
- For each package involved in the original sale, Flourish checks the package’s remaining quantity.
- Flourish applies the same conservative safety logic used when finishing packages, but in reverse:
- If the remaining quantity is 1 unit or less, the package is added to a list of packages to possibly be unfinished.
- If the remaining quantity is greater than 1 unit, the package is skipped and left unchanged.
Why this safeguard exists
- Packages with more than 1 unit remaining clearly still represent active inventory.
- Automatically unfinishing those packages could result in incorrect inventory states.
- This logic ensures that only packages that appear effectively depleted are considered for unfinishing.
Summary
For full returns, Flourish deletes the sale and then conditionally unfinishes packages using automated, conservative rules designed to protect inventory integrity.
Why Partial and Full Returns Behave Differently
This behavior is driven by METRC’s API constraints and how it interprets sales data.
Scenario | How METRC Is Updated | How Quantities Are Restored |
Partial return | The sale is updated | METRC restores quantities automatically |
Full return | The sale is deleted | Flourish conditionally unfinishes packages |
Final Notes
- All return handling is automatic—no manual steps are required.
- Partial returns rely on METRC’s implicit behavior when a sale is updated.
- Full returns require sale deletion and additional automated logic to determine whether packages should be unfinished.
This approach ensures retail returns remain compliant while protecting package and inventory integrity in METRC.
Warm regards
How did we do?
Seed Technology Integration
Set Default Printers in POS