← All guides

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

ViewSource of truth forHow it drifts
POSWhat sold to a customer + at what price + whenWrong package selected at register; void recorded but not reflected in physical pull; manual quantity adjustments
Physical inventoryWhat actually sits in the vault + on the floorTheft (employee or customer); damage; misplaced packages; receiving-count variance vs manifest
State system (METRC / LCB Traceability)What the state THINKS you haveStale 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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)

  1. Cycle-count 4-6 high-velocity SKUs. Pick by velocity + value. Physical count vs POS-recorded vs state-recorded. Variance > 1 unit triggers investigation.
  2. 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.
  3. Vendor-claim review. Every receiving discrepancy logged this week gets escalated to the vendor IF appropriate (theirs to fix vs ours to absorb).
  4. 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)

  1. Full inventory count. Every SKU, vault + floor, against state record. Variance per SKU > 2% OR > $100 in cost-basis = investigate.
  2. Audit log review. Sample 50-100 audit entries from the prior month: voids, returns, manual adjustments, manager-PIN overrides. Pattern-search for staff outliers.
  3. 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.
  4. 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

Related guides

Ready to talk through your migration?

30-minute demo. We end by quoting the cutover from your current setup — fixed scope, no hourly games.