METRC · 3 min read
The METRC Reconciliation Workbook
A reconciliation workbook should make a mismatch traceable, not make the systems agree automatically. Keep each export intact, join records on identifiers that refer to the same package or receipt, and send uncertain matches to a person for review.
Preserve the source exports
Keep separate, dated tabs or files for Metrc package history, sales receipts, transfers, physical counts, and POS records. Do not normalize values in the source copy. Add cleaned fields in a separate comparison sheet so a reviewer can return to the original value and export time.
Match packages before products
Use the package label or other stable package identifier when both systems expose it. A SKU or product name identifies a catalog item, not a specific package; one product can have multiple packages and histories. If there is no shared identifier, create a candidate match from fields such as date/time, product, quantity, and receipt total, then mark it for review rather than treating it as a confirmed join.
Build an exception queue
- Package check: package ID, status, room/location, and quantity by unit.
- Receipt check: receipt/transaction ID, sale time, line, package, and quantity.
- Transfer check: manifest ID, package, sent quantity, and receiver state.
- Count check: physical count, counter, date, and recount result.
- Action log: discrepancy class, evidence, owner, correction record, and verification time.
Review before changing records
Use formulas to flag missing IDs, duplicate IDs, unit differences, and unmatched events. Do not let a spreadsheet post adjustments or choose a correction automatically. The authorized user should review package history and the source transaction, use the workflow that matches the error, and compare the updated records afterward.
Sources:
- Metrc Oregon Wiki: Sales — receipt fields and sales-history actions.
- Metrc Oregon Wiki: Frequently Asked Questions — POS API and date/time-format troubleshooting.
- Metrc Oregon Wiki: Correcting Errors — package adjustment reasons.