The Cannabis ERPthat grows around your operation
Cannapy runs seed to sale in one system — cultivation, processing, manufacturing, inventory, and wholesale — with Metrc compliance and Apex Trading orders handled natively, not bolted on.
Built for licensed cultivators, processors, and product manufacturers.
Operations command center
Dashboard
Seed-to-sale visibility across cultivation, processing, and wholesale.
YTD revenue
$3,576,851
▲12.4% vs. LY
Active plants
4,347
▲Metrc reconciled
WIP on hand
72,095 g
crude, oil, rosin
Finished goods
$394,540
▲1,260 units
Dry yield by harvest month
kg
Batch pipeline
Your operation already works.
It just doesn't live anywhere.
Most cannabis operators run on a stack of tools that were never meant to talk to each other. The data exists — in spreadsheets, in Metrc, in someone's head — and reconciling it is a full-time job nobody was hired to do.
Today
Eight sources of truth
Month-end close takes a week. Nobody can tell you the true cost of a gram. And every Metrc discrepancy is a manual hunt through three systems.
With Cannapy
One record, end to end
- One plant record from clone to package to invoice
- Compliance events written as work happens, not re-keyed at night
- Costs rolled up per batch, per strain, per SKU
- Wholesale orders, manifests, and A/R on the same ledger
The people doing the work enter data once, where they are. Everything downstream — compliance, costing, invoicing — follows from it.
Real product, not a feature list
Cannapy is a full ERP — the modules below are the same system, sharing one data model. Click through the screens your team would actually live in.
Every site, license, and batch in one command center — with live Metrc and Apex status on the same screen as the numbers.
Operations command center
Dashboard
Seed-to-sale visibility across cultivation, processing, and wholesale.
YTD revenue
$3,576,851
▲12.4% vs. LY
Active plants
4,347
▲Metrc reconciled
WIP on hand
72,095 g
crude, oil, rosin
Finished goods
$394,540
▲1,260 units
Dry yield by harvest month
kg
Batch pipeline
Ten modules. One data model.
Turn on what you need now and add the rest as you scale. Because it's one system rather than a bundle of apps, a weight captured in the dry room shows up in costing, compliance, and inventory at the same instant.
Cultivation
Plant and batch tracking by tag, room, and zone. Mother stock, propagation, feed schedules, IPM logs, and environmental readings tied to the plants they affect.
Harvest, Dry & Cure
Wet and dry weight capture, drying room assignments, moisture logs, and waste events — with per-batch yield calculated the moment weights land.
Lab & Processing
Extraction runs, WIP by material type, remediation, potency and COA tracking, and full input-to-output lineage for every gram of crude, oil, and rosin.
Production
Bills of material, work orders, and routings for pre-rolls, edibles, vapes, and topicals. Plan attainment and yield variance measured against your standards.
Inventory
Finished goods, dry goods, packaging, and supplies across sites and licenses. Lot control, min/max reorder points, and cycle counts from the floor.
Wholesale & Fulfillment
Price lists, sales orders, pick-pack, manifests, and delivery routes. Apex Trading orders flow straight in; Metrc transfers flow straight out.
Compliance
Metrc events queued, validated, and reconciled continuously. Tag audits, discrepancy resolution, and a defensible record for every regulated action.
Costing & Analytics
True cost per gram, per batch, and per SKU — labor, inputs, overhead, and shrink included. Margin by strain, by customer, by channel.
Procurement
Vendors, purchase orders, receiving, and three-way match on nutrients, packaging, and consumables so production never stalls on a missing input.
Labor & Tasks
Assign work by room and shift, capture completion from the field app, and roll actual labor hours into batch cost without a separate timekeeping tool.
Need something that isn't on this list? Every module is built on the same configurable framework you use to extend them — so “we do it differently here” is a setup task, not a custom development project.
How configuration works →Data entered where the work happens, not hours later
The single biggest reason ERP data goes stale is that the person doing the work isn't the person entering it. Cannapy's field app puts capture in the hands of the crew — on a phone, in a greenhouse, offline.
Monday, Aug 3
Today's tasks
78°F
GH 3
54%
RH
1.1
VPD
Foliar IPM — GH 3 rows 8–14
Due 10:00 · 240 plants
EC / pH check — Zone B
Due 11:30 · 6 readings
Defoliate — GH 2 Sour Diesel
Due 13:00 · 180 plants
Move veg → flower, tray 8
Due 15:00 · 96 plants
Dry room A — RH log
Due 16:30 · batch BD-0824
1A4FF0300000A22000001491
Blue Dream
GH 3 · Row 12 · Flower, day 47
Harvest capture
OFFLINEWet weight · batch BD-0824
Ohaus D52 · Bluetooth connected
Strain
Blue Dream
Plants
96 tagged
Room
Dry Room A
Operator
T. Reyes
Your custom fields
3 captures queued. Pushes to Metrc when you're back in signal.
Scan the tag, get the plant
Point the camera at a Metrc tag and the full plant record opens — strain, room, stage, day count, and its entire history. No hunting through a table with gloves on.
Capture weights at the scale
Bluetooth scale integration writes wet and dry weights straight to the batch. The yield calculation and the Metrc harvest event happen without a second entry.
Works with no signal
Greenhouses and dry rooms are where connectivity goes to die. Captures queue locally and sync the moment the device is back in range — in order, with conflict handling.
Built for the crew, not the office
Big targets, short forms, and role-based screens. A trim tech sees today's tasks; a cultivation lead sees the room. Nobody scrolls past fields that aren't theirs.
Metrc and Apex Trading are part of the system
Most cannabis software treats compliance and wholesale as exports. Cannapy treats them as first-class parts of the workflow — the sync is continuous, two-way, and reconciled, so the state license and the sales channel never disagree with your books.
State compliance
Metrc
Every regulated event Cannapy records is validated against Metrc's rules before it's submitted, then reconciled after. Your team never opens the Metrc portal to re-key what they already did.
- Plant additions, movements, and stage changes written as they happen
- Harvest, waste, and package events with weights captured at the scale
- Transfer manifests generated from wholesale orders automatically
- Continuous tag reconciliation with a queue for anything that needs a human
Apex Trading
A true two-way connection between your ERP and your wholesale channel. Orders come in, inventory and fulfillment go out, and finance sees it all without a CSV in sight.
- Inbound orders land as sales orders with line items and pricing intact
- Live inventory and price lists published from Cannapy, not maintained twice
- Fulfillment status, manifests, and delivery confirmations pushed back
- Receivables opened against the order so collections start on day one
State reporting
Compliance Center
Every regulated event queued, validated, and reconciled with Metrc.
Events synced today
1,284
▲0 failures
Tags reconciled
4,347 / 4,350
3 in review
Avg. sync latency
38s
Metrc API
Reporting queue
Plant additions
GH 3 · 240 clones
Harvest weights
Batch BD-0824 · 64.2 kg wet
Package creation
12 packages · distillate
Waste event
Trim · 4.8 kg
Transfer manifest
APX-8841 → Highland
And the rest of your stack
Accounting, CRM, lab results, hardware, and anything else you run — connected or built against the open API.
Your SOPs. Not somebody else's best practices.
No two cannabis operations run the same way. An outdoor farm harvesting once a season and a vertically integrated MSO pushing edibles daily need genuinely different software — and the gap between them is where most ERP implementations die.
Cannapy is built to be configured, not customized. The things that make your operation yours — the fields you track, the stages you move through, the approvals you require, the way you cost a batch — are settings inside the product, not code someone has to write.
That difference matters twice: once when you go live in weeks instead of quarters, and again every time you upgrade, because nothing you configured is a fork we have to maintain.
If your process changes in March, your software should change in March — by someone on your team, in an afternoon.
Settings · Record design
Harvest record
Fields on this record
Wet weight
Decimal · kg
Dry room
Lookup · Rooms
Trichome call
Select · 5 options
Trim crew
Lookup · Teams
Substrate lot
Text
Add field
Appears in
Custom fields on any record
Trichome calls, tray IDs, trim crew, irrigation zone, substrate lot — whatever your team already writes on a clipboard becomes a real field. Add it once and it appears in the web app, the field app, and your reports.
Workflows shaped to your process
Define the stages a batch moves through, which steps are required, and who signs off. If packaging can't start until QA releases the lot, that's a setting — not a change request.
Your BOMs, yields, and standards
Recipes, conversion factors, and expected yields are yours to define. Variance is measured against the numbers your operation actually runs on, not an industry average.
Roles down to the field level
Control who sees cost data, who can adjust inventory, and who can submit to Metrc. A trim tech, a cultivation lead, and a CFO open the same system and see three different products.
Multi-site, multi-license, multi-state
Each facility gets its own rooms, rules, and compliance profile while rolling up into one consolidated view. Adding a license is configuration, not a second instance.
Reports you build yourself
Compose reports from any field in the system — including the ones you added — then save, schedule, and share them. No ticket, no analyst, no waiting on us.
One platform, four very different operations
The same configurability that lets a single-license farm stay simple is what lets a multi-state manufacturer stay coherent.
Cultivators
Track every plant from clone to cure with room-level environment, feed, and IPM history attached. Know your cost per gram before the flower ever leaves the dry room.
- Mother stock & propagation
- Room and zone hierarchies
- Harvest yield by strain & cycle
Extractors & processors
Full input-to-output lineage across every run. Reconcile biomass in against WIP out, hold lots pending COAs, and see which material actually earns its keep.
- Run-level yield & loss
- WIP by material type
- COA and potency tracking
Product manufacturers
Recipes and BOMs that reflect how you actually build product, with work orders that pull the right inputs and cost the right way — including labor and packaging.
- Multi-level BOMs
- Work order scheduling
- True landed cost per SKU
Vertically integrated & MSOs
Run each license under its own compliance profile while consolidating inventory, production, and financials into one view. Transfers between your own sites stop being a black box.
- Per-jurisdiction rules
- Inter-company transfers
- Consolidated reporting
An ERP rollout that doesn't eat your year
Cannabis ERP implementations have a reputation, and it's deserved. Ours is short because the hard part is configuration you can see and change — not a development backlog you're waiting on.
- 01Week 1
Map how you actually operate
We walk your rooms, your runs, and your paperwork — including the spreadsheets nobody admits to. What comes out is a model of your operation, not a template.
- 02Weeks 2–3
Configure it, don't build it
Records, fields, stages, approvals, roles, BOMs, and cost rules get set up in the product. You watch it happen and learn to change it yourself.
- 03Weeks 3–4
Connect Metrc and Apex Trading
We sync your live tag data, reconcile against what's really in the rooms, and stand up two-way order flow with your wholesale channel.
- 04Weeks 4–6
Put it in the crew's hands
Field app rollout, role-based training, and a parallel run against your current process until the numbers agree. Then you turn the old system off.
6 weeks
typical time to live
1×
data entered once, at the source
Days → hours
month-end close
100%
of regulated events reconciled
See it running onyour operation
Bring us your messiest process — the one that lives in a spreadsheet nobody wants to own. We'll show you what it looks like configured in Cannapy.
- A working walkthrough of your operation, not a canned slide deck
- Straight answers on Metrc and Apex Trading before you commit
- A configuration plan and timeline you can hold us to
Prefer email? hello@cannapy.ai