Documentation

Manifest-First Receiving

Docs / Deliveries
Deliveries

At a Glance

  • Manifest-first receiving matches every Metrc manifest to your delivery before you can receive it
  • Freshness rules key on the packaged date Metrc records on each package — not expiration dates, which cannabis transfers rarely carry
  • Default rules flag Flower and Pre-Rolls over 60 days old, Concentrates, Vapes, and Edibles over 120 — tunable by category, vendor, or SKU
  • The Confirm Physical Receipt dialog flags stale product, quantity gaps, and mismatches so you resolve them before Metrc acceptance
  • Rejected product goes back with the driver and comes off the invoice automatically; the vendor gets an itemized notice

Manifest-first receiving connects the state's Metrc record to your delivery before anything is received, so the two questions that decide whether you overpay — did the right quantity arrive, and is the product fresh enough to sell — get answered at the dock instead of after the check clears. It works for both wholesale and consignment cannabis deliveries.

Match the Metrc manifest before you receive

Before a cannabis delivery can move to Received, the platform matches its Metrc manifest to the delivery. Most matches happen automatically — off the invoice number or the products on it — the moment an inbound transfer syncs. Anything the platform can't match with confidence waits in an Incoming Metrc Manifests table under your Incoming tab, where you can Match to delivery, Create delivery from the manifest, or Ignore it.

That match is a precondition for receiving a cannabis delivery. If Metrc is down or a transfer hasn't synced yet, anyone on your team who can receive is able to override with a reason — the dock keeps moving, and the override is logged. A Metrc Status column on the deliveries list shows each delivery as In-Transit, Received, or Partially Rejected at a glance.

What the platform runs: the matching and the freshness math — automatically, off your synced Metrc data. What you own: the reject-or-keep call at the dock. The platform surfaces the facts; your team makes the decision.

Freshness rules: reject product that's too old

Cannabis is perishable, so the platform evaluates every package against a freshness rule. The rule keys on the packaged date — how long ago the product was packaged, read straight from Metrc — because expiration and sell-by fields are almost never populated on cannabis transfers. Rules resolve from most specific to least: a SKU rule beats a vendor rule, which beats a category rule, which beats your default.

Out of the box, the platform applies these recommended maximum-age limits, and you can change any of them in Deliveries → Settings:

CategoryFlag when packaged more than
Flower60 days ago
Pre-Rolls60 days ago
Concentrates120 days ago
Vapes120 days ago
Edibles120 days ago

Set a threshold to match how your shelf actually moves — tighter on fast-moving flower, looser on shelf-stable edibles — or add a rule for a specific vendor or SKU when one product needs its own standard.

Dock-time warnings in Confirm Physical Receipt

When you open the Confirm Physical Receipt dialog on a matched delivery, the platform has already compared the manifest to the invoice line by line and read the packaged date on every package. Three kinds of discrepancy are flagged right on the line, in plain English:

You resolve each one before Metrc acceptance. For stale or discrepant product, you reject the package during Metrc acceptance and it goes back with the driver — it never enters your inventory. See the receiving SOP for how the disposition step fits into your team's dock routine.

What happens to rejected product

Rejecting product at the dock adjusts the payable through the same receive-and-reconcile flow you already use — the amount you sent back comes off the invoice, so you only pay for what you kept. Nothing about the payment math changes; the rejected lines simply don't count toward it.

The vendor automatically receives an itemized notice: which product was rejected, its package tag, how old it was, the rule it missed, and the amount coming off the invoice. Because it's grounded in the shared Metrc record, the vendor conversation starts from facts, not a dispute. Every rejected package also lands in a read-only Rejected tab on your deliveries dashboard, so there's a permanent traceability record.

Know before the truck arrives

Because the platform matches manifests while they're still in transit, it can warn you ahead of time. When an inbound manifest on a matched delivery contains packages that fail your freshness rules, your admin and inventory team get a notification and an email — so your team walks up to the dock already knowing which packages to reject, instead of finding out after they've signed for them.

Wholesale and consignment

Manifest matching, the receive gate, dock-time warnings, and rejection all work the same way on consignment deliveries as on wholesale. The one difference is what happens with the vendor: because you haven't paid for consignment product up front, a rejection is a swap or a pickup rather than a credit, and the notice omits the deduction line. Either way, stale product is caught and turned away at the dock before it reaches your shelf. For the payment-time check that runs later on wholesale deliveries, see how ShelfSpace checks invoices against Metrc before you pay.

Ready to upgrade your AP? Let's talk.

Talk to Us
Free evaluation. No commitment.