Skip to content
CannAgent
ModulesHow it worksComparePricingAboutFAQ
Request a demo
The product surface

Every module. What it does. Why it matters.

Not a feature list — a product surface. Each module here groups the inventoryapp surfaces a working day actually touches, with the WAC codes it enforces and the operator-pain it removes. Two stores run on every one of these today.

Filter10 modules
Slang

Slang POS

Cash-first checkout, vertical-ID gated at the cart, manager-PIN where it counts.

  • Cash payment + change calculator with till-variance SMS over $5
  • Vertical-ID stop at the cart with DOB-mismatch and under-21 logging
  • Manager-PIN gates on voids, returns, manual prices, discount overrides
314-55-079See it→
Slang

Cash Discipline

Every drawer counted, every drop logged, every variance escalated on a ladder.

  • Per-budtender till-session lifecycle with variance ladder enforcement
  • PROPRIETARY ·ESCALATION LADDERProprietary technology · request demo for full disclosure
  • Safe + ATM-bank cash trail — every cash_movements row writes audit
in productionSee it→
Brapp

Brapp Inventory

Receive, count, par, waste — one back-of-house, no spreadsheets.

  • Receive flow with auto-match to PO + vendor-license lapse blocking
  • Cycle-count scheduling with per-section assignment and signoff
  • Waste log with WAC 314-55-079 triple-witness enforcement
314-55-079 +1See it→
Brapp

Vendor Portal

Vendors log in and pull their own — orders, payments, performance, 1099s.

  • Vendor-side dashboard — orders, payments, performance, calendar, 1099
  • Asset library with on-brand-only logo gating
  • Suggest-product form routed to your purchaser, not a generic email
314-55-035 +1See it→
Cross-cutting

AI Reorder Assistant

POs auto-draft against velocity, vendor reliability, and fill-rate. Override with one click.

  • PROPRIETARY ·RELIABILITY-SCALED PO ENGINEProprietary technology · request demo for full disclosure
  • Vendor-reliability scorecard with per-PO history
  • Menu Builder ranks top 365d sellers, capacity-constrained by zones
in productionSee it→
Cross-cutting

Customer Engagement

Loyalty without cards. Phone is the key. Tiers earn through visits.

  • Phone-number loyalty key with tier-earned-through-visits logic
  • RFM segments + lapsed + at-risk-LTV + birthdays — all live, all queryable
  • WAC 314-55-155-aware bulk SMS that blocks product-specific copy
314-55-155See it→
Cross-cutting

Compliance Vault

WAC codes enforced in code, not in a binder. The auditor’s first stop.

  • Vertical-ID gating at the cart, not on a poster
  • Industry-discount 90-day re-verify in the cart (WAC 314-55-095)
  • PROPRIETARY ·TRAINING-GATED POS PINProprietary technology · request demo for full disclosure
314-55-035 +4See it→
Cross-cutting

People Operations

Hiring, write-ups, reviews, training — all in the same system the register runs on.

  • Hiring pipeline with FCRA + WAC 314-55-035 background-check flow
  • PROPRIETARY ·JURISDICTION-AWARE WRITE-UP AIProprietary technology · request demo for full disclosure
  • 5-dimension performance reviews with acknowledgement-required workflow
314-55-035See it→
Cross-cutting

Payroll Stack

Federal + WA payroll in the same login your closer uses. No support ticket queue.

  • Form 941 quarterly + W-2 batch + W-3 + 940 FUTA
  • WA L&I + PFML + SUI quarterly trio
  • Year-end status dashboard — filed, due, open
314-55-096See it→
Cross-cutting

System Health

One green-board. Every cron. Every integration. Every stale-open drawer.

  • Health-board with red/yellow/green tiles across 13 surfaces
  • Automation-health — every cron, last run, next run, missed runs
  • Integrations grid — METRC, SMS, email, push, sibling-store probe
in productionSee it→
Slang · live mock

The register, the cart, the customer card — one screen.

Vertical-ID gated at the cart, manager-PIN where it counts, customer display feeding the second screen. Soft-confirm on big carts catches double-tap mistakes before they post. Tendered in cash, recorded in code, written to audit.

See the module →
brapp.greenlifecannabis.com/pos/checkout
Slang POS
ID verified · vertical-ID pass · DOB 1989-04-22WAC 314-55-079
Register 2 · Tyler open
Cart · 2 items
$248.50 tillopen
AK-47 · 1g flower
GLF-1G-AK47 · NWCS
$12.00
x1
Sea Sweets · Blueberry 10pk
GUM-10P-BL · Sea Sweets
$18.00
x1
●Industry discount applied (314-55-095)−$6.00
SUBTOTAL$30.00
WA EXCISE + TAX$10.99
Total$34.99
Customer
Sarah Chen
+1 (509) ···· 4422
Gold237 pts
Last 90 days
Visits9
Avg ticket$31.20
TierGold
brapp.greenlifecannabis.com/admin/inventory
Brapp
Inventory · 3 reorders queued
Today’s board
live
All142Flower41Vapes28Edibles33Pre-rolls19
⚠5 SKUs below par. 3 over 30d-velocity threshold.view all
AI-drafted reorder queue
based on 30d velocity + Friday-rush
NWCS✓ 92%
AK-47 · 1g flower
on-hand
4 / 24
suggest
24
Sea Sweets✓ 88%
Blueberry gummies 10pk
on-hand
7 / 18
suggest
12
Hellavated⚠ 78%
Live resin cart 1g
on-hand
1 / 12
suggest
12
3 vendors · 48 units · ~$1,420 PO totaldraft PO →
Brapp · live mock

The reorder queue your purchaser opens before email.

Three vendors, AI-suggested quantities, reliability scores on the row, low-stock alerts at the top. The same shelf your budtender reads from.

See the module →
The wedge

AI proposes. Manager decides. Audit log records.

The reorder queue and the manager write-up assistant ride the same reasoning rails — reading 30-day velocity, vendor reliability, WA labor rules, and WSLCB enforcement — and hand the operator a defensible draft. Every issuance writes to /admin/audit.

CannAgent assistant
reasoning over 30d velocity · WA labor rules · WSLCB enforcement
live
AI suggests · reorderbased on /admin/par-levels + /pos
  • 24
    AK-47 · 1g flower · NWCS
    30d velocity +18% · Friday-rush pattern
  • 12
    Blueberry gummies 10pk · Sea Sweets
    below par · fill-rate 88%
  • 12
    Live resin cart 1g · Hellavated
    stocked-out 2 of last 6 POs · reliability 78%
AI proposes · proportionate-responseagainst WA labor + WSLCB rules
  • Tier 1
    Verbal warning + coaching + 30d follow-up
    First documented incident, low severity. Coach on the SOP, set follow-up date, track in /admin/manager-writeups.
    recommended
  • Tier 2
    Written warning + 60d Performance Improvement Plan
    Pattern of two within 90d. Written record, defined improvement targets, weekly check-ins.
  • Tier 3
    Final warning · escalation per WA RCW 49.46.020
    Three documented incidents in 90d or one severe. Final tier before separation; HR review required.
Manager makes the call. AI proposes, doesn’t decide. Every issuance writes to /admin/audit.
Module detail

How each module actually runs.

Slang · at the register

Slang POS

WAC 314-55-079

The register your budtender actually rings on, built for a cannabis floor. Vertical-ID is caught at the cart — not on a poster, not in a training deck. Manager-PIN gates voids, returns, manual price changes, and discount overrides so the floor can move without giving away the store. Cash-first by design with a customer display on the second screen, barcode scanner, QZ Tray receipt printing, SMS receipt fallback, and age-verification logged into audit. Soft-confirm thresholds catch double-tap mistakes on $200+ carts before they post.

What’s in it

  • Cash payment + change calculator with till-variance SMS over $5
  • Vertical-ID stop at the cart with DOB-mismatch and under-21 logging
  • Manager-PIN gates on voids, returns, manual prices, discount overrides
  • Customer display on the 2nd screen — cart, deal-applied chip, loyalty tier
  • Returns + voids flow with cannabis-quarantine routing per WAC 314-55-079(7)
  • Soft-confirm on carts over $200 or 7+ items (4s double-tap window)
  • Barcode scanner + QZ Tray receipt printer + SMS receipt fallback

Inventoryapp surfaces

  • /pos/checkout
  • /admin/transactions
  • /admin/registers
  • /admin/holds
  • /admin/returns
Screenshot: /screenshots/pos-checkout.png
Slang · at the register

Cash Discipline

Cannabis is cash-heavy and cash is where the shrink hides. Slang ties every till session to the budtender who rang it: open, ring, drop, payout, close, count. Variances climb a defined ladder — $0–$10 logs and moves on, $10–$50 manager review, $50+ unoffset two days pulls camera footage. Drops to safe and ATM-bank set-asides are tracked separately so your Saturday Loomis pickup reconciles cleanly. Stale opens (drawer left open across days) surface on the health board the next morning, not three weeks later in a quarterly review.

What’s in it

  • Per-budtender till-session lifecycle with variance ladder enforcement
  • PROPRIETARY ·ESCALATION LADDERProprietary technology · request demo for full disclosureRequest demo→
  • Safe + ATM-bank cash trail — every cash_movements row writes audit
  • Saturday Loomis pickup recording with bag-tag photo + chain of custody
  • Stale-open drawer detection on the health board, no manual cleanup
  • Daily-close panel — variance per shift, drops, payouts, ending balance

Inventoryapp surfaces

  • /admin/till-sessions
  • /admin/cash-management
  • /admin/registers
Screenshot: /screenshots/cash-management.png
Brapp · behind the counter

Brapp Inventory

WAC 314-55-079WAC 314-55-035

Receive trucks, count cases, set pars, dispose product — all on the same database your register reads from. Cycle counts schedule themselves so your end-of-month physical isn’t a fire drill. Waste log enforces WAC 314-55-079 triple-witness in code: three signatures or the disposal can’t close. Receiving auto-matches POs to invoices and surfaces vendor-license lapses (WAC 314-55-035) before you accept product you can’t legally sell. Par-levels and low-stock alerts tie back to velocity — when the system suggests a reorder, it’s reading the same shelf the budtender is.

What’s in it

  • Receive flow with auto-match to PO + vendor-license lapse blocking
  • Cycle-count scheduling with per-section assignment and signoff
  • Waste log with WAC 314-55-079 triple-witness enforcement
  • Par-levels tied to live velocity, not a static spreadsheet
  • Low-stock alerts with reorder suggestions on the health board
  • Cannabis quarantine queue for returned product per 314-55-079(7)

Inventoryapp surfaces

  • /admin/inventory
  • /admin/receive
  • /admin/cycle-count
  • /admin/par-levels
  • /admin/waste-log
  • /admin/products
Screenshot: /screenshots/inventory-dashboard.png
Brapp · behind the counter

Vendor Portal

WAC 314-55-035WAC 314-55-096

Vendors stop emailing your purchaser at 7am asking ‘did the PO go through?’ The /vmi portal lets every brand log in to their own slice — open POs, payment status, fill-rate scorecard, 1099 pull, sample-cap usage (WAC 314-55-096), suggest-product form, asset library, calendar of upcoming menu plans. Compliance is gated: vendor-license lapse pauses receiving automatically (WAC 314-55-035). Your purchaser stops being the inbox; the portal is the inbox.

What’s in it

  • Vendor-side dashboard — orders, payments, performance, calendar, 1099
  • Asset library with on-brand-only logo gating
  • Suggest-product form routed to your purchaser, not a generic email
  • Trade-sample tracker with WAC 314-55-096 30-units/quarter cap
  • Vendor-license lapse auto-pauses receiving (WAC 314-55-035)

Inventoryapp surfaces

  • /vmi
  • /vmi/orders
  • /vmi/payments
  • /vmi/performance
  • /vmi/assets
  • /admin/vendors
Screenshot: /screenshots/vendor-portal.png
Cross-cutting · across the shop

AI Reorder Assistant

The reorder model reads the same shelf your budtender does and drafts a PO before your purchaser opens email. Inputs: 30/60/90-day velocity, vendor reliability score (✓ 92% / ⚠ 78% surface on the row), fill-rate against your last six POs with that brand, Friday-rush patterns, and the Menu Builder’s zone constraints. Output: a draft PO with quantity-per-SKU chips your purchaser approves, edits, or kills. The Menu Builder ranks top 365-day sellers, capacity-checks them against your case zones, and flags phase-out candidates so you stop carrying dead stock.

What’s in it

  • PROPRIETARY ·RELIABILITY-SCALED PO ENGINEProprietary technology · request demo for full disclosureRequest demo→
  • Vendor-reliability scorecard with per-PO history
  • Menu Builder ranks top 365d sellers, capacity-constrained by zones
  • Phase-out candidates flagged so dead stock leaves the shelf
  • Suggested-quantity chips your purchaser one-click approves
  • Reads /admin/par-levels + /pos velocity — same numbers your floor sees

Inventoryapp surfaces

  • /admin/purchase-orders
  • /admin/menu-builder
  • /admin/menu/phase-out-candidates
  • /vmi/menu-plans
Screenshot: /screenshots/reorder-queue.png
Cross-cutting · across the shop

Customer Engagement

WAC 314-55-155

Phone number is the loyalty key — no cards to print, no QR codes to lose. Tiers earn through visits and basket size, not punch cards. RFM segments, lapsed customers, at-risk-LTV, and birthdays all live in the same system the register reads from, so the next-message-to-send is one click from the customer record. Outbound respects WSLCB advertising rules (WAC 314-55-155) — ‘thinking of you, come visit’ is fine; product-specific bulk SMS isn’t, and the system won’t let you send what you can’t legally send.

What’s in it

  • Phone-number loyalty key with tier-earned-through-visits logic
  • RFM segments + lapsed + at-risk-LTV + birthdays — all live, all queryable
  • WAC 314-55-155-aware bulk SMS that blocks product-specific copy
  • Tier celebration UI in POS when a customer levels up
  • Win-back flows tied to visit-recency, not blasted to everyone

Inventoryapp surfaces

  • /admin/customers
  • /admin/customers/segments
  • /admin/customers/lapsed
  • /admin/customers/at-risk-ltv
  • /admin/customers/birthdays
  • /admin/loyalty
  • /admin/marketing
Screenshot: /screenshots/loyalty-tiers.png
Cross-cutting · across the shop

Compliance Vault

WAC 314-55-035WAC 314-55-079WAC 314-55-095WAC 314-55-096WAC 314-55-155

WSLCB compliance is a workflow, not a PDF. Vertical-ID stops the cart at the register. WAC 314-55-095 industry discount has a 90-day re-verify enforced in the cart. Waste log requires three signatures (314-55-079) or the disposal can’t close. Vendor-license lapses (314-55-035) pause receiving automatically. Trade samples cap at 30 units per employee per quarter (314-55-096) — the POS warns at 25 and blocks at 31. Every state change writes to an immutable audit log that’s the auditor’s first stop. We keep records indefinitely; WSLCB requires three years.

What’s in it

  • Vertical-ID gating at the cart, not on a poster
  • Industry-discount 90-day re-verify in the cart (WAC 314-55-095)
  • PROPRIETARY ·TRAINING-GATED POS PINProprietary technology · request demo for full disclosureRequest demo→
  • Waste-log triple-witness in code (WAC 314-55-079)
  • Vendor-license lapse auto-pauses receiving (WAC 314-55-035)
  • Trade-sample 30-units/quarter cap blocks at 31 (WAC 314-55-096)
  • Immutable audit log — every state change, kept indefinitely

Inventoryapp surfaces

  • /admin/audit
  • /admin/compliance
  • /admin/vendors/compliance
  • /admin/waste-log
Screenshot: /screenshots/audit-log.png
Cross-cutting · across the shop

People Operations

WAC 314-55-035

Your people stack lives where your registers do. Hiring pipeline runs an FCRA-compliant background-check flow with the WAC 314-55-035 cannabis overlay baked in — disclosure, authorization, provider, result, adverse action — so a manager makes the WSLCB-vs-FCRA call deliberately, not silently. AI proposes proportionate-response options for write-ups against WA labor and WSLCB rules. Performance reviews use a five-dimension rubric with acknowledgement-required workflow. Onboarding training has 9 modules across 5 role tracks (budtender, lead, inventory, purchasing, admin) so a new hire’s first week is a checklist, not a dropped baton.

What’s in it

  • Hiring pipeline with FCRA + WAC 314-55-035 background-check flow
  • PROPRIETARY ·JURISDICTION-AWARE WRITE-UP AIProprietary technology · request demo for full disclosureRequest demo→
  • 5-dimension performance reviews with acknowledgement-required workflow
  • 9-module training across 5 role tracks (budtender → admin)
  • Cross-employee write-up patterns (admin + GM gated)

Inventoryapp surfaces

  • /admin/staff-records
  • /admin/hiring
  • /admin/manager-writeups
  • /admin/write-ups
  • /admin/performance-reviews
  • /training
Screenshot: /screenshots/manager-writeup.png
Cross-cutting · across the shop

Payroll Stack

WAC 314-55-096

Your bookkeeper logs into the same platform as your closer. Federal: Form 941 quarterly, W-2 batch and per-employee, W-3, 940 FUTA. Washington: L&I, PFML, and SUI quarterly trio. Year-end status dashboard shows what’s filed, what’s due, what’s open. Hours flow from the time-clock to the pay run with hours-override audit trail; tips ride to W-2 box 7 separately from sample units (WAC 314-55-096) so they don’t get crossed at year-end. Manager runs payroll instead of submitting a ticket.

What’s in it

  • Form 941 quarterly + W-2 batch + W-3 + 940 FUTA
  • WA L&I + PFML + SUI quarterly trio
  • Year-end status dashboard — filed, due, open
  • Time-clock → pay run with hours-override audit trail
  • Tips and trade-sample units kept separate per WAC 314-55-096

Inventoryapp surfaces

  • /admin/payroll
  • /admin/timeclock
  • /admin/hours-override
  • /admin/bookkeeper
Screenshot: /screenshots/payroll.png
Cross-cutting · across the shop

System Health

Single-pane-of-glass for the operator. Manager+ sees what’s green, what’s yellow, what needs attention right now: stale-open till sessions, overdue write-up follow-ups, vendor-license lapses, waste-log signatures still pending, cron jobs that didn’t run last night, integrations that drifted (METRC, SMS, email, push), feature-flag flips with the actor’s name attached. The audit log links from every row, so ‘why did this go yellow?’ is one click, not a ticket. The health board is what Doug checks before he opens email, and it’s the page a new manager learns the system from.

What’s in it

  • Health-board with red/yellow/green tiles across 13 surfaces
  • Automation-health — every cron, last run, next run, missed runs
  • Integrations grid — METRC, SMS, email, push, sibling-store probe
  • Feature-flag flips logged with actor + timestamp
  • 150+ in-app help panels so a new manager solves their own question

Inventoryapp surfaces

  • /admin/system-health
  • /admin/automation-health
  • /admin/audit
  • /admin/control-panel
  • /admin/overview
Screenshot: /screenshots/system-health.png
Ready when you are

Want to see them in your dispensary’s data?

The demo deploy seeds two stores worth of personas, transactions, and write-ups so you can walk every module with real shapes of data — not a deck.

Request a demo
CannAgent

The dispensary OS that runs the dispensary, not just the register. Built by operators, powered by Sureel AI.

Product

  • Modules
  • How it works
  • Use cases
  • By state
  • Guides
  • Compare
  • vs Dutchie
  • vs Treez
  • vs Flowhub
  • Pricing
  • Diagnostic
  • Demo

Company

  • About
  • Careers
  • Trust
  • Status
  • FAQ
  • Sureel AI
  • Green Life
  • Seattle Cannabis Co

© 2026 CannAgent · A Sureel AI product · Compliance: WAC 314-55 family · Cash-first by design

v0.37.0 · calculator vs-current panel

Schedule a demo
30 minutes · register, write-up, Form 941
Request a demo →