← All guides

Compliance playbook

Industry / heroes / medical discounts — verification cadence + audit-trail

Industry discount, heroes discount, medical discount — three programs every WA dispensary runs, all sitting under the same WSLCB scrutiny. The rule: verify per visit, document per transaction, audit per quarter. The failure mode: a budtender stamps an industry discount ‘because she said she works at a shop in Spokane’ and you find out when the inspector pulls the audit log and asks for the verification record. Here’s the cadence we run our shops on.

By CannAgent5 min read

What WAC 314-55-095 actually requires

WAC 314-55-095 governs cannabis-business-employee discounts in Washington. The rule has three teeth that operators routinely overlook:

  • **Verification per visit, not per customer.** A budtender from a Spokane shop who walks in once a month has to be re-verified each visit. The first-time verification doesn’t carry forward. Most POSes get this wrong by storing ‘verified industry-discount eligible’ as a customer-row flag — that’s a 314-55-095 cite waiting to happen.
  • **Acceptable verification = current pay stub OR current employee badge from a WSLCB-licensed cannabis business.** Driver’s license isn’t enough; word-of-mouth isn’t enough; ‘she’s been here before’ isn’t enough. The verification has to tie the customer to a current cannabis-licensee employer.
  • **Discount cap = 50% off retail.** Above 50% the WSLCB starts asking whether the ‘discount’ is actually a kickback or a structured-employment perk. Most shops cap at 30-40% to stay clear of the 50% line; we cap at 30%.

Per-visit verification — the 30-second flow

  1. **Customer requests the discount.** ‘Hey, I work at [shop], do you guys do industry?’ That’s the trigger; nothing happens until they ask.
  2. **Budtender asks for verification.** ‘Got a current pay stub or a badge?’ Phrasing matters — we’re not interrogating, we’re documenting. ‘Yes, the WSLCB asks for this’ is the right closer if the customer pushes back.
  3. **Budtender photographs the verification.** Camera at the till. Pay stub photo or badge photo lands as a CDN-stored image referenced by the audit-log row. CannAgent stores the image with a 90-day retention; some shops keep longer. Image gets PII-redacted at render-time (last-4 of any visible employer ID, no SSN tail).
  4. **Discount applied at the till.** POS stamps the activity row: customer_id, employer_name (typed by budtender), verification_type (‘paystub’ / ‘badge’), discount_pct, transaction_id, image_ref. Audit-trail complete in <30 seconds.
  5. **Customer comes back next month.** Re-verify. Don’t shortcut. The audit log shows N verifications for N visits — that’s the pattern WSLCB expects.

What your POS needs to make this fast

  • **Discount-application gate at the till.** Before applying any industry / heroes / medical discount, the budtender must complete a 4-field micro-form: employer name (free-text), verification type (radio: paystub / badge / medical-card), photo upload (required), discount % (locked to your shop’s ceiling). No bypass; no ‘skip for now.’
  • **Manager-PIN override required for non-standard discount %.** Anything above your standard cap requires a manager PIN + a typed reason. Audit log captures both.
  • **Image storage with retention policy.** 90 days minimum for industry / heroes; 1 year for medical (per medical-endorsement compliance). PII-redaction at render-time so the inspector sees what they need without exposing the customer’s full SSN-tail accidentally.
  • **Audit-log query under 60 seconds.** ‘Show me every industry discount applied in Q1 2026, grouped by budtender’ — your POS should answer in under a minute. CannAgent surfaces this as a one-click report; whichever POS you run, find the equivalent.
  • **Quarterly self-audit.** Doug runs a self-audit on the first of every quarter — random-sample 10 industry discounts, verify the photo matches the employer named, look for patterns (one budtender doing 80% of the discounts? Investigate). The self-audit log is itself a document the WSLCB likes to see at inspection.

What gets you cited

  • **Discount applied with no verification record.** ‘She’s industry, I know her’ doesn’t hold up. Cite-able.
  • **Discount % above the 50% cap.** Even once. Even with proper verification.
  • **Same person on the audit log every week with different employers named.** Hopping employers is suspicious; it triggers a deeper review.
  • **Budtender applying industry to themselves.** Cleanest: budtender doesn’t ring their own transaction. Manager rings the budtender’s purchase + applies the discount. Double-control; clean audit trail.
  • **No quarterly self-audit.** Failure to maintain audit discipline is itself a finding even when the underlying transactions are clean.
  • **Heroes / medical applied without separate verification flow.** Each program has its own evidence requirement. Stamping ‘heroes’ on someone with a paystub from a cannabis shop is wrong twice — wrong program, wrong verification.

What this replaces

  • Verbal-only verification (‘she said she works at…’) — undocumented, cite-able.
  • Paper logbook of industry visits — gets lost, gets wet, gets thrown out by the cleaning crew. The inspector finds the gap; the gap is the citation.
  • Spreadsheet tracking of who’s ‘industry-eligible’ — violates the per-visit-verification rule.
  • ‘Just put it on her loyalty account as a manual discount’ — workaround that loses the verification + breaks loyalty-program math.

Takeaways

Ready to talk through your migration?

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