Compliance ops playbook
State traceability reconciliation — the daily, weekly, monthly discipline
Every state with legal cannabis runs a seed-to-sale traceability system — METRC across most legal states, WA-LCB Traceability (formerly Leaf Data Systems) in Washington. Your POS records sales. Your manifest-receiving records intake. The state’s system records what it BELIEVES you have. Reconciliation between those three views is where most operators eat preventable WSLCB write-ups, $1,000-5,000 fines, or — in the bad cases — a license-renewal hold. The reconciliation cadence we run at Green Life + SCC and how it surfaces inside CannAgent so a manager catches drift in hours instead of weeks.
By CannAgent7 min read
The three views and why they drift
| View | Source of truth for | How it drifts |
|---|---|---|
| POS | What sold to a customer + at what price + when | Wrong package selected at register; void recorded but not reflected in physical pull; manual quantity adjustments |
| Physical inventory | What actually sits in the vault + on the floor | Theft (employee or customer); damage; misplaced packages; receiving-count variance vs manifest |
| State system (METRC / LCB Traceability) | What the state THINKS you have | Stale because of POS-sync delay; stale because of unposted manifests; stale because of accepted-receipt-but-not-finalized statuses |
The daily cadence (15-30 min, end of every operating day)
- **Verify POS-to-state sync.** Did every sale ring at the register make it into the state system today? Most platforms have a "sync status" page. Anything stuck = investigate before next-day open.
- **Process today’s receiving.** Every manifest received today gets reconciled — manifest line vs physical count vs state intake. Discrepancies logged, reasons documented, vendor contacted IF the variance was theirs.
- **Daily waste log.** Anything destroyed, damaged, sampled, or removed gets a same-day waste entry. Per WAC 314-55-079(7) (WA): ‘all unusable marijuana waste shall be tracked.’ Other state codes are similar.
- **End-of-day cash-tied-to-tickets check.** Cross-reference till variance + transaction count + traceability record count. Numbers should agree within tolerance; large gaps indicate a posting issue, not a math issue.
The weekly cadence (60-90 min, same day every week)
- **Cycle-count 4-6 high-velocity SKUs.** Pick by velocity + value. Physical count vs POS-recorded vs state-recorded. Variance > 1 unit triggers investigation.
- **Reconcile manager-PIN inventory adjustments.** Every manual quantity adjustment from the past week gets reviewed by someone OTHER than the manager who entered it. Looks for pattern: same SKU adjusted weekly = look at receiving practices.
- **Vendor-claim review.** Every receiving discrepancy logged this week gets escalated to the vendor IF appropriate (theirs to fix vs ours to absorb).
- **Expired / aging SKU sweep.** Anything within 30 days of state-mandated test-result expiration OR vendor-claimed shelf life — flagged for clearance, donation if allowed, or scheduled destruction with state notification.
The monthly cadence (2-4 hours, last business day)
- **Full inventory count.** Every SKU, vault + floor, against state record. Variance per SKU > 2% OR > $100 in cost-basis = investigate.
- **Audit log review.** Sample 50-100 audit entries from the prior month: voids, returns, manual adjustments, manager-PIN overrides. Pattern-search for staff outliers.
- **Submit any state-required monthly reports.** State-by-state — WA: nothing routine; CO: monthly sales-tax + traceability summary; CA: distributor-relevant tax filings, etc. Calendar these as recurring tasks, not as remember-on-the-day tasks.
- **Year-end audit-defense binder update.** Add this month’s reconciliations + any vendor-claim resolutions + waste totals to the binder. Per /guides/cannabis-280e-tax-reality, this binder is the audit-survival artifact.
What CannAgent does to make this stick
- **Reconciliation surfaces are first-class.** /admin/reconciliation isn’t buried — it’s on the manager dashboard with sync-status, daily-receiving variance, and waste-log gaps as headline metrics.
- **Recurring-task scheduler** — daily-receiving + weekly-cycle-count + monthly-full-count tasks auto-create with manager-on-duty assignment + escalation if not closed by deadline.
- **Variance-investigation routing.** Any discrepancy > tolerance auto-creates an investigation ticket with: linked transactions, manager-PIN history, receiving-line context. Manager closes with reason; reason logs to audit.
- **State-system sync health on the homepage.** Sync stuck > 4 hours = red banner across the manager dashboard, not a notification you have to dig for.
- **One-click year-end binder export** — daily/weekly/monthly reconciliation history + waste log + vendor-claim resolutions + audit-log samples → audit-ready PDF.
- **Compliance officer surface** — read-only role with full reconciliation visibility, no transactional access. Policy: every dispensary should have one designated compliance officer beyond the GM, even at small scale.
Takeaways
- Three views drift: POS / physical / state-system. Reconciliation discipline catches drift in hours; lack of it costs $2,500-5,000 per WSLCB write-up plus license-renewal scrutiny
- Daily 15-30 min: verify POS-to-state sync, process receiving, log waste same-day, cash-tied-to-tickets check
- Weekly 60-90 min: cycle-count 4-6 high-velocity SKUs, reconcile manager-PIN adjustments by someone OTHER than the entering manager, vendor-claim review, expiry sweep
- Monthly 2-4 hours: full count, audit-log review for outliers, state-required reports, year-end binder update
- CannAgent surfaces sync-health + variance-investigation tickets + recurring-task scheduler + one-click binder export so a manager catches drift in hours instead of weeks
Ready to talk through your migration?
30-minute demo. We end by quoting the cutover from your current setup — fixed scope, no hourly games.