← All use casesStores on a general-purpose POS

Migrating off your existing POS. The 90-day window the rep won’t mention.

CannAgent is a cannabis-native operating system — cannabis rules coded into the register and the back office under one database. Here’s what changes when you switch.

The pains your operator group already knows.

01

Support response time is measured in business days, not minutes.

Your register goes down at 7pm Friday. You file a ticket. The auto-reply says 24-hour SLA. By Monday morning the variance from Saturday is already in the till count and nobody’s sure what got rung manually.

02

Compliance is documented, not enforced.

Your platform’s help-doc says trade samples are capped per employee per quarter. The register doesn’t count them. Your manager has a sticky note on the screen that says ‘check how many they’ve had.’ That’s the system.

03

The contract you signed locks pricing for years and grows fees per add-on.

Loyalty is an add-on. Customer SMS is an add-on. Reorder suggestions are an add-on. The price you saw in year-one is not the price you’re paying in year-three, and the renewal conversation starts with ‘we’ve invested heavily in our cannabis vertical.’

04

There’s no native back office. Payroll, write-ups, hiring — find another tool.

Form 941 lives in Gusto. Write-ups live in Lattice or a Google Doc. Hiring lives in Workable. None of them know what a WAC 314-55-083(1) employee badge is, and your bookkeeper logs into four different platforms to close the month.

05

It’s a generic POS shoehorned into a vertical that doesn’t fit it.

The cart flow assumes any retail. The discount logic doesn’t know what an industry buyer is. The waste log is a free-text note. When you ask the rep how returned product is routed — WAC 314-55-079(12) lets you take an open return back only if the lot, batch or inventory ID is still legible — the ticket goes to product and you get a response in three weeks.

What the modules actually do for you.

Cutover playbook + 90-day satisfaction window.

Two to four weeks for a single location. Cutover is overnight — last close on Sunday on your current POS, first open on CannAgent on Monday. Three days of on-floor support during the first week. Setup and onboarding are free — no migration fee. If you hate it after 90 days, you keep your data exports and walk. We’d rather not work with someone unhappy.

Compliance gated at the register, not on a sticky note.

Vertical-ID stops the cart. The WAC 314-55-096(1)(j)(vi) trade-sample cap of 30 units to any one employee per quarter is counted in code. The waste log's second signature is a workflow — a second employee signs off or the disposal can’t close. Vendor license expiry flags on the vendor list at 60 days and on /compliance once it lapses. Trade-sample 30-units/quarter cap (314-55-096) blocks at 31.

Full back office on the same platform as the register.

Form 941, W-2 batch, W-3, 940 FUTA, WA L&I + PFML + SUI quarterly trio, manager write-ups with AI-drafted proportionate-response options, 5-dimension performance reviews, hiring pipeline with an FCRA-aligned background check (there is no WSLCB overlay on hiring — WAC 314-55-035's criminal-history provisions reach applicants, licensees, true parties of interest and financiers, never employees). Your bookkeeper logs into one platform, not four.

Self-learning ordering, not manual POs against vendor PDFs.

POs auto-draft against velocity, vendor reliability, and fill-rate. Your purchaser approves with one click, edits, or kills. The Menu Builder ranks top 365-day sellers, capacity-checks against your case zones, and flags phase-out candidates so dead stock leaves the shelf.

Monthly per-location pricing. No multi-year. Your data, exportable any time.

Per-location Postgres. Yours. Exportable in standard SQL any day you want. No add-ons hiding loyalty or SMS or reorder behind another bill. On the Enterprise tier, source-code escrow is available so the platform itself keeps running on your terms.

What ships in the codebase today.

01 · what the product does

Two-to-four-week cutover for a single location, overnight switch, three days of on-floor support

02 · what the product does

10 row-by-row defensible differences vs a general-purpose POS — every one ships in the codebase today

03 · what the product does

90-day satisfaction window — walk with your data exports; setup was free

What this kind of shop usually asks first.

How long does a migration take?
Two to four weeks for a single location, depending on how clean the data in your current system is. The cutover itself happens overnight — last close on the old system Sunday evening, first open on CannAgent Monday morning. The ramp before that is data audit, hardware swap, and three days of on-floor support during the first week. Multi-location chains stage cutovers one store at a time; we don’t flip ten registers at once. We have run this off Dutchie on our own floors, and the shape is the same coming from POSaBIT, Treez, Flowhub, Cova, BLAZE, Greenbits or BioTrack — what changes is how much of your history the outgoing vendor lets you export, which is the first thing we check.
Do we lose any historical data when we migrate?
No. We pull transactions, customers, loyalty points, vendor records, and inventory snapshots out of your current system before the cutover and load them into your new Postgres database. You see your last twelve months of revenue, your loyalty members keep their points, and your vendor history carries over. Anything we can’t migrate cleanly we tell you about up front — we don’t silently drop rows.
Can we keep our existing METRC integration?
METRC continuity is scoped per state during onboarding. The manifest and transfer mapping is built and tested; the live feed connects per store as each operator’s METRC credentials clear — so METRC states (CO, MI, OK, MA, MO, NV, OR, NJ, IL and more) are in build today, not live. Washington runs its own system instead, CCRS, and we build that file natively. BioTrack states — CT, NM, DE — are regulatory coverage right now, not a connected feed. Some states are first-class, others ship as a custom integration on the Enterprise tier, and we tell you which bucket your state lands in before you sign anything.
What if we hate it after 90 days?
You keep your data exports and walk — and since setup and onboarding are free, there’s no fee sunk on the way in. We’d rather not work with someone unhappy. The full cross-tier guarantees — compliance built in, no migration fees, named human support, free training, your data stays yours — live at /pricing.
What happens if your servers go down — does our register?
Each location runs on its own Postgres database hosted on Neon, with the application served from Vercel’s edge. The register has an offline cache for the last-known cart state, so an in-flight transaction completes even if the connection blips. A full regional outage on either provider would degrade the back office (analytics, reorder queue) before the register; we’ve held that as the design boundary from the start, because the register is the one surface a sale can’t wait on.

CannAgent is built to replace a general-purpose POS — every difference above ships in the codebase.

The cutover playbook lives in the demo. 30 minutes, three real surfaces, a fixed-scope quote at the end.

Request a demo
30 minutes on the working product. An operator replies.