If you run a cannabis dispensary, you're paying way too much for software that doesn't quite fit your state. Cova at $400+/month per location. Dutchie at $700+/month plus marketplace transaction fees. Flowhub, Treez, GreenLine, all in similar pricing.
For a 1-location dispensary, you're at $5k-$15k/year in software fees alone. For a 3-location chain, $15k-$45k/year. None of them perfectly handle your state's Metrc or BioTrack quirks. None of them give you the cash-handling visibility you actually need. None of them let you customize the budtender workflow to match how your store actually runs.
In 2026, custom-built cannabis dispensary management software runs around $300/month total, regardless of location count, and fits your operation exactly.
This is the playbook.
What the Custom Dispensary System Does
For a 1-to-5-location dispensary chain:
In-Store Module (iOS + Android tablets, web for desktop)
- Age verification at the door. Native camera + ID scan + third-party verification.
- POS with budtender flow. Tap a customer, select products, calculate tax (state-specific), accept payment (cash, debit-via-cashless-ATM, loyalty points), print receipt.
- Inventory by location, category, strain. Real-time stock visibility.
- Compliance logging. Every sale, every transfer, every refund auto-logged to your local Postgres and synced to Metrc/BioTrack/state system via Edge Function.
- Cash reconciliation. Drop logs, deposit logs, end-of-day cash count, owner-visible cash flow.
Online Order + Pickup (Patient-Facing App + Web)
- Browse products by category and effect.
- Add to cart with age verification (re-verified for new accounts).
- Choose pickup time or delivery (where legal).
- Pay via cashless options.
- Get notified when order is ready.
Owner Dashboard (web target)
- Revenue by location, by category, by hour.
- Inventory turn by SKU.
- Loss prevention (sales-to-cash variance per shift).
- Compliance alerts (low stock relative to state-mandated minimums, expiring products).
- Tax remittance summary (sales tax, excise tax, social equity fees).
The Stack
- Rork for cross-platform native (iOS budtender tablets, Android, web for office).
- Supabase for the database, auth, storage, row-level security (location-based access).
- Metrc API for Colorado/California/Oregon/Michigan/etc. or BioTrack API for Hawaii/Illinois.
- Veriff, Stripe Identity, or Jumio for age verification.
- CanPay, Aeropay, or similar for cashless debit payments.
- Cloudflare R2 for ID photos (encrypted storage, comply with state retention rules).
- Resend or Postmark for transactional email (order confirmations).
- Twilio for SMS (pickup ready notifications).
Total monthly cost for a 3-location dispensary:
- Rork: $1,800
- Supabase Pro: $25
- Storage: $50
- Veriff or similar (per-verification): ~$100/month for ~1,000 verifications
- CanPay/Aeropay: per-transaction
- SMS + email: ~$50
- Metrc API: free (state-provided)
Total: ~$2,100/month, or $25,000/year for 3 locations. Compare to Dutchie at $700/location × 3 = $25,000/year for the SaaS alone, before add-ons. The custom build matches the SaaS cost while delivering exactly what your operation needs.
For a single-location dispensary, the custom build is at ~$1,950/month vs vertical SaaS at $400-$1,200 plus add-ons. Custom is more expensive at single-location, similar at 3, much cheaper at 5+.
State-Specific Compliance: The Hard Part
This is the part nobody warns you about. Every cannabis-legal US state has different rules:
Track-and-Trace Integration
- Metrc (most populous states): JSON API, well-documented, occasional rate limits, requires test environment validation before production credentials.
- BioTrack (Hawaii, Illinois): older API, more idiosyncratic, harder to develop against.
- State-built systems (Maryland, others): variable quality, sometimes spreadsheet upload only.
Plan 1-3 weeks per state for the Metrc/BioTrack integration. Most operators use a wrapper library if one exists for their state.
Tax Calculations
- State excise tax varies (Colorado: 15%, California: complex layered, Massachusetts: 10.75%).
- Local cannabis tax (city or county level).
- Social equity surcharges (where applicable).
- Standard sales tax on top.
Build the tax engine as a flexible rules layer in Supabase (a tax_rules table you can edit without code).
Compliance Reporting
State auditors expect specific report formats. Most are CSV exports of: every sale with timestamp, customer ID-verified status, product SKU, price, tax, employee. Build the export feature from day one.
Customer ID Retention
States require ID-verified customers' purchase history retention (usually 3-7 years). Build retention rules into your data layer.
Loyalty and Customer Engagement
Cannabis customers are sticky once acquired. Loyalty programs convert.
Pattern most operators build:
- Customer signup at first visit (age verification + opt-in to texts).
- Points per dollar spent.
- Birthday and "missed you" SMS reminders.
- Strain preferences saved to customer record so budtenders can recommend.
- Referral codes ("Refer a friend, get $20 off").
All buildable in Rork + Supabase + Twilio. Cova and Dutchie charge extra for the loyalty module; your custom build includes it.
Real Dispensary Operators Building This
From real Rork users (anonymized):
- A cannabis business operator building a multi-iteration dispensary management suite (24 projects total): POS, inventory, compliance, customer accounts, owner dashboard. Modular rollout, each module replacing a SaaS line item.
- A multi-location chain operator building location-specific compliance dashboards. State-specific tax rules and Metrc sync per location.
Both running on Rork plus Supabase. Both saving $20k+/year over the vertical SaaS stack. Both have more control over the workflow than they ever had with Cova or Dutchie.
What to Do This Week
If you've been paying Cova or Dutchie or Flowhub and it's not quite right:
- Open Rork. Describe your POS workflow for one customer transaction.
- Use plan mode to spec out the age verification + tax + Metrc sync edge cases.
- Build the POS screen first. Hand it to one budtender for a shift.
- If they prefer it to the existing system (they usually do, because it fits), you've started.
In 90 days you have your own dispensary management system. The vendor invoice that used to be a fixed monthly cost goes away.
See also: