Controlled substance log for vet clinics

B2BWeb1 weekNext.jsSupabasePDF generation

The idea

Every vet clinic that stocks ketamine, opioids, or phenobarbital must keep DEA-compliant logs with exact running balances, and most keep them in a paper binder where subtraction errors accumulate for months. DEA inspections of veterinary practices are rising, and the most common finding is exactly that: a log whose maths does not reconcile with the bottles in the safe. Findings mean fines, and in bad cases registration trouble.

Practice management systems mostly ignore controlled-substance logging or treat it as a checkbox. The wedge is a purpose-built ledger that works the way inspectors audit - per bottle, per entry, balance computed by the machine - with witnessed waste, forced reconciliation counts, and discrepancy records that show a clinic takes this seriously.

Who pays

The buyer is the practice owner or practice manager, at 59 USD/month per clinic - noise compared to DEA exposure and the licence at stake. Distribution: state veterinary medical association newsletters, veterinary practice manager groups (VHMA), and the consultants who prep clinics for DEA compliance and would rather hand clients a tool than a spreadsheet.

MVP scope

  • Drug register with bottle-level stock records and lot numbers
  • Administration entries tied to patient, vet, and specific bottle, with witnessed waste
  • Auto-computed running balances and immutable, user-attributed entries
  • Physical count reconciliation with variance flags and discrepancy records
  • DEA-ready PDF log export and biennial inventory report
  • Skip for v1: practice management integrations, controlled-substance ordering, multi-location chains, state PDMP reporting
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build VetVault, a web app replacing the paper controlled-substance binder
in veterinary clinics. Stack: Next.js (App Router), Supabase for Postgres
and auth with role-based access (admin vs staff), server-side PDF
generation with react-pdf. Email/password auth with per-user accountability
- shared logins defeat the whole point, so every entry records which user
made it.

Core flow: the clinic registers each controlled drug (name, schedule,
concentration, form) and receives stock at bottle level - each bottle gets
its own record with lot number, volume, and date received, mirroring how
DEA inspectors audit: per container. Administration entries are logged
against a specific bottle: date/time, patient name and ID, prescribing vet,
amount drawn, amount wasted with a witness selection. The app auto-computes
the running balance per bottle after every entry; users never do arithmetic,
because arithmetic errors are the top DEA audit finding.

Reconciliation: a periodic physical count screen walks staff through each
open bottle; entering the measured amount against the computed balance
flags any variance beyond a configurable tolerance, alerts the admin by
email, and opens a discrepancy record requiring a written explanation.

All entries are immutable - corrections are new entries referencing the
original. Export a DEA-inspection-ready PDF log per drug and date range,
plus the biennial inventory report.

Pages: drug register, bottle detail with ledger, quick-log entry, count/
reconciliation, discrepancy list, reports. Pricing: 59 USD/month per clinic
via Stripe, 30-day trial.

// More B2B ideas