Set the target. Hold the line.
Canntrol is the operating layer for cannabis retail. It sits on top of the POS you already have and runs everything the POS doesn’t: the opening checklist, the cash count, the weekly order, the training sign-off, the repair nobody logged. Right now that work lives in a spreadsheet, on a clipboard and in someone’s text messages, which is why you hear about the short till a month late.
The corporate chains already run software like this. It is how they hold labour to a number and margin to a plan across every store they own. Independents have been competing with that on a spreadsheet.
$150 per store per month with no contract, or 10% off on an annual plan. Works with Greenline today. Cova, TechPOS and Dutchie next. Built for Canadian operators, from one store up.
Your POS records what happened. Canntrol runs the store.
Your POS stays in charge of sales and stock. Canntrol only reads from it. It never writes to your POS and never touches a sale, so there is nothing to migrate and nothing to switch off. If Canntrol goes down, your POS keeps selling.
Works with Greenline now
Connect it once, match each POS location to a store, turn syncing on.
Read only
It reads products and inventory. It never writes to the POS.
Made for Canada
Most provinces buy through one wholesaler, so your cost is a known number, not a guess. Price drops show up before you order.
One screen for every store
Today shows what’s off target across all your stores, biggest dollar impact first. One store and one action per line.
Close the other tabs.
None of this is new work. It is the work you already do, in one place under one login, instead of spread across a spreadsheet, a clipboard and four apps that have never heard of each other.
- The cash spreadsheetOne file, one formula somebody broke in March, one person who understands it.
- The clipboard by the safeTicked at the end of the shift, from memory, by whoever found it.
- A form, then a sheet, then a docThree tabs to log one thing, and the doc nobody opens again.
- A separate training appCertificates expiring somewhere a manager cannot see them.
- A separate menu-board toolEvery price change made twice, in two places, one of them late.
- Reviews in a Word file on somebody’s laptopIf they happened at all, and nobody can find last year’s.
- The group textWhere repairs, handovers and “did anyone bank the bag” get lost.
Same records, same roles, same audit trail. Count a till once. Sign a procedure once. Nothing is retyped, because there is nowhere else to type it.
One month, eight scenes.
One month at a made-up three-store company on Greenline. The people, numbers and times are invented. The features and the rules are real.
ST-02
She locks the count anyway; the flag alerts the owner and opens a task. Next morning the recount shows a misread slip, and she files a correction with the reason.
The original stays visible, marked Superseded, and drops out of the totals. A record, not an accusation.
ST-03
She taps Assign. The manager has a task in her bell before the store opens.
Deposit confirmed at 11:20 with a photo of the slip. The line leaves Today.
ST-01
He adds a line for the gap, skips the price-drop line, and moves a pre-roll ST-02 has been sitting on as a transfer instead. He sends it for approval.
The slot reads 12 days. The order fits the budget and the receiving list is ready for landing day.
ST-03
His manager is told to check the cameras or call, and calls. He taps I’m OK and finishes the close.
One missed check-in, one alert, both on record.
All stores
Everyone gets a bell. By Friday it’s 20 of 22. The ST-01 manager catches the last two on shift.
22 of 22 by Monday. Old signatures stay on file and cover nothing new.
ST-02
She submits 4 of 5 with a note, and the owner is alerted. In the morning she files an urgent repair against the camera system.
Fixed by 15:00. The cost joins repair spend on Targets.
ST-02
The camera call-out is why. Nothing to fix yet, so she holds the target and notes it for the monthly review.
One more repair this month and it goes red.
ST-01
He reads the table, chases nothing, and taps Verify this week.
The week locks as a signed record. The owner opens Today.
Nothing off target. Targets held, cash confirmed, queue clear.
The owner hasn’t driven to a store all month. Every event above is now a line with a name, a time and a reason. Nothing was emailed. Nothing was retyped. Each store’s audit packet exports as one PDF.
Some of the reading is already done when you wake up.
Four agents run on a schedule inside your own deployment. They do the reading nobody has the hours for — across stores, across the week — and hand back what needs a decision. Anything that touches money or a record waits for a person.
Shift Auditor
Reads yesterday at every store — counts, deposits, incidents, staff notes, overdue tasks — and sends each store’s managers one plain-English note on what needs a look.
Can send a note and open a task. Cannot touch a cash record.
Shrinkage Investigator
Works every inventory line that counted down: the count that day, every other movement of that SKU, the same SKU at your other stores, the damage logs. Proposes a reason for each.
Proposes only. A person accepts or changes every line.
Markdown Planner
Reads each store’s Sales list — what’s on hand and not moving, the money sitting in it, and whether another store still sells it — and proposes one markdown batch per store, with a reason on every line.
Never changes a price. It can’t: Canntrol never writes to your POS. A manager exports the batch.
Menu Fitter
Sizes every published menu wall at every store so the text is as large as it can be without hiding a product, and tells the store when a wall has run out of room.
Only resizes walls already published. Never adds, removes or reorders anything, and uses no AI model.
An agent is an account, not a back door. It signs in like a person, so the same role rules scope what it can read, and every run is in the audit trail under its own name. The limits are structural, not a prompt: a trigger in your database rejects the Shrinkage Investigator writing a verdict, and no agent can change a price because Canntrol has no way to write to your POS. More are coming.
Seven areas. One inbox.
Everything is named the way store people already talk. You only see what you can act on. Staff see a shorter Today and their own store. Managers run their stores. Owners see every store and the money.
Daily operations
Today · Tasks · Checklists · Calendar · Manager Logs · Staff Notes · SOP Library · Events · Alerts
Cash and finance
Till counts · Mid-shift drops · Deposits · Floats · Weekly summary · Cash analytics · Expenses · Invoices
Inventory and procurement
Inventory · Reorder suggestions · Transfers · Order form · Price changes · Sales list and markdowns · Receiving · Labels · Damages and returns · Product Photos
Sales, pricing and marketing
Targets · Competitor price log · Discount registry · Display campaigns · Menu screens · Marketing projects · Secret Shopper · Request Book
People and training
Courses and quizzes · Team progress · Employee files · Performance reviews · Coaching · Review packet · Onboarding and offboarding · E-signatures
Safety and compliance
Working alone · Incident Reporting · Compliance checklists · Audit packet · Lockup log · Key custody · Maintenance and Repairs
System
Automatic alerts · Agents · Integrations · Setup · Team · Knowledge base · Help and search · In-app feedback queue
Every module writes to the same log. Every alert lands in the same bell: assignments, deliveries, approvals, warnings. One inbox, on your phone if you want it.
The parts that make money, not just save it.
Most of Canntrol stops leaks. These six grow sales.
Targets on POS numbers
Set a target and an acceptable range on the sales numbers that matter, per store. You see drift before a month is gone.
Competitor price log
Managers write down a nearby store’s price and the date they saw it. You see where you’re priced too high and where you’re giving margin away.
Reorder suggestions and shelf coverage
The weekly order comes from real sell-through and shows days of cover per slot before you send it.
Request Book
Every “do you carry” you didn’t carry gets logged by the budtender who heard it. Demand you were turning away becomes a line on next week’s order.
Display campaigns
Plan once, run at every store with a checklist and a photo of the build. You see which store actually did it.
Secret Shopper
Score a visit against the same sheet at every store. Results go to coaching, not gossip.
The money lines are math on your own numbers, not promises. Canntrol has no customer results to show yet and won’t make any up.
If the app won’t let you change something, it’s working.
Owners set a target and an acceptable range for each number, per store. Inside the range is teal, drifting toward the edge is amber, and past it is red — it lands on Today with a store, a dollar figure and one action. Six rules keep the numbers honest, for every role, including yours.
One store, and you are all three of them.
If you run one shop, the case is simpler, not weaker. The opening checklist, the cash count, the weekly order and the training sign-off are the same work — and you are the person doing all of it, usually between customers.
The spreadsheet was never the problem when you had one store — you were. Every expiry date and every short till lived in one head, and that head also worked the floor. One store is $150 a month. Open a second and nothing changes: the same screens, one more line in the morning read, another $150.
One number. Pay yearly, pay less.
Every module, every role, every store, one price. No per-user fees, so the whole floor crew can be on it.
Month to month. No contract, cancel any time. $1,800 per store over a year.
$1,620 per store, billed once for the year. Saves $180 a store — three stores keep $540, five keep $900. Renews yearly; we email 30 days ahead and one reply stops it.
Per store
A store is a location with tills. One store is $150 a month, or $1,620 for the year on annual. Three stores, $450 and $4,860.
Billing
Canadian dollars plus tax, from the day your first store goes live. Monthly bills each month; annual bills once for twelve.
Pilot
One store, one week, on the real thing, at the monthly price. Move to annual once you’ve seen it run.
POS
Greenline today. Cova, TechPOS and Dutchie next. Same price either way.
Your numbers, your math.
Change any figure. The result is math on what you typed, not a claim about Canntrol. The defaults are just placeholders.
Hours × 4.33 weeks × rate, plus shortfalls, across your stores. Compared against Canntrol at the monthly price, $150 per store. Nothing here is stored or sent.
Your data stays yours.
You’re being asked to put your costs, margins and prices into someone’s software. The answer to “who can see this” is short. Access is enforced in the data itself, not by hiding buttons.
- Your own database, your own deployment.Each customer runs separately, with their own backups.
- No benchmarks, no pooling.Nothing is compared across customers. Competitor prices come only from public menus, with the date.
- Every number says where it came from.It answers “where did you get that?” before anyone asks.
- Every action logged. Records that lock.Cash counts, deposits and sign-offs can’t be edited once submitted. A correction sits next to the original.
Before you ask.
The questions owners ask first, answered the same way here.
What do you need from me to start?
How long until it is running?
Which POS do you support?
Can my staff see cash or another store?
I only have one store. Is this overkill?
Is the annual plan worth locking in?
What happens if I leave?
Can I bring my history?
Run one store on it for a week.
Setup is company name, stores, tills, and inviting your team. One store runs its full day in week one, opening checklist to lockup, with nothing on paper. Want to see it first? Ask for the demo: a made-up store after a month of use, every module with history.
Canada-first. Independent operators, one store or fifty — more than ten, talk to us. Prefer email? Write to hello@canntrol.com.