The Setup
Busy delivery day. Three vendors dropping product within the same two-hour window. The receiving team was doing what they always do — checking in product, signing manifests, getting drivers out the door. Nobody had time to count every unit in every tote. The process was: sign, shelve, move on to the next truck.
Later that afternoon, the invoice arrived by email. Fifty units. Standard pricing. The total matched what they'd expect for an order that size. Under the old process, the AP person would have matched the invoice to the PO, confirmed the total looked right, and cut the check. Payment would have gone out in full by end of week.
What We Caught
The invoice said 50 units. The Metrc manifest said 42. Eight units missing. $1,140 difference.
50
units the invoice billed for
42
packages Metrc actually confirmed delivered
$1,140
caught before the check went out
We flagged it before payment went out. We pulled the manifest data, lined it up against the invoice, and showed the vendor the discrepancy. Eight package IDs on the invoice had no corresponding transfer in Metrc. The product was never delivered.
This is what cannabis accounts payable software catches — the gap between what a vendor says they delivered and what actually showed up.
How We Caught It
Metrc delivery matching. Every invoice gets cross-referenced against the Metrc transfer data before payment goes out. Package IDs, quantities, transfer dates. Not memory. Not a spreadsheet. The state tracking system.
Match the invoice to Metrc
Every invoice gets cross-referenced against the Metrc transfer data, package ID by package ID, before any payment is scheduled.
Flag the gap
The manifest showed 42 transferred packages. The invoice listed 50. The math didn't work, so the check didn't go out.
Resolve before money moves
We pulled the data, showed the vendor the discrepancy, and the corrected invoice was paid on time.
This happens on every single invoice. When the numbers match, payment goes out on schedule. When they don't, we flag it, pull the data, and resolve the discrepancy before any money moves. In this case, the manifest showed 42 transferred packages. The invoice listed 50. The math didn't work, so the check didn't go out.
We use this same Metrc matching process across all deliveries — it's the same verification layer described in our delivery dashboard case study.
Why This Gets Missed
Receiving teams are busy. Deliveries happen during peak hours. Counting 50 units takes time the driver doesn't want to wait for. The invoice arrives later by email and looks correct because nobody remembers the exact count from four hours ago.
This isn't a people problem. It's a process problem. The receiving team's job is to get product on shelves. The AP team's job is to pay invoices that look correct. Without a step in between — someone cross-referencing the invoice against what Metrc says actually transferred — the gap between "delivered" and "invoiced" goes unnoticed.
Industry-wide, we see shortages on 8-12% of deliveries. Most are small — 2-3 units. But at $30-$80 per unit, they add up to $7,000-$12,000 per year in overpayments for a typical dispensary. Most operators don't even know it's happening because the invoices always look right. The problem isn't vendors being dishonest — it's that counting errors, warehouse mistakes, and manifest mismatches happen constantly, and nobody is checking.
For more on how these overpayments accumulate, see why dispensaries overpay vendors.
The Result
$1,140 saved on one delivery. The vendor confirmed the shortage, corrected their records, and adjusted the invoice. No drama, no relationship damage — just data. The Metrc manifest said 42. The invoice said 50. We showed them the numbers, they agreed, and the corrected invoice was paid on time. Shorted deliveries are just one way dispensaries end up overpaying on accounts payable.
Annualized across all vendors, Metrc matching typically catches $7,000-$12,000 per year in shorted deliveries. That's money that would have gone out the door on invoices that looked perfectly legitimate. Not fraud — just errors that nobody was catching because nobody was checking the manifests against the invoices on every single delivery.
A correct-looking invoice and a correct invoice are not the same thing. The only way to know which one you're paying is to check it against what Metrc says actually transferred, every single time.
The invoice looked right. Metrc said otherwise. That's the difference between paying what you owe and paying what you're told.