The controlled drugs register that cannot be saved out of balance

One register for pharmacy and veterinary controlled drugs — Receipt, Administration/Dispense and Destruction unified with proactive balance integrity, guided reconciliation and inspection-ready reporting.

The problem

Drug enforcement inspectors treat the controlled drugs register as the single most important compliance artifact, yet every tool on the market only reports a balance mismatch after it has already happened. Paper logs and spreadsheets offer no audit trail, and the apps that replace them still split receipt, dispensing and destruction across separate modules — forcing duplicate entry and leaving reconciliation, overdue destructions and witness evidence to be pieced together by hand right when an inspector is waiting.

The solution

Controlled Drugs Register blocks confirmation of any entry that would leave the balance mathematically impossible, and shows the projected balance live as quantities are entered — before you ever save. Physical-vs-recorded gaps are color-coded and routed into a guided reconciliation flow, overdue destructions self-flag, and planned-vs-actual destruction quantities are reconciled before a record can close. One register, one audit trail, one inspection report.

Capabilities

Everything an inspector checks first

Every capability below is implemented in the module.

01

Balance Lock

An entry can never be confirmed if it would create a mathematically impossible balance — the error is caught before it is saved, not after an inspector finds it.

02

Live Balance Preview

See the projected running balance update as you type quantities, catching entry mistakes at the point of entry instead of after the record posts.

03

Guided Reconciliation

Physical-vs-recorded discrepancies are color-coded the moment a count is entered and routed into a dedicated reconciliation record to investigate and resolve.

04

Destruction Compliance

Scheduled destructions auto-flag the moment their date passes without confirmation, and planned-vs-actual destroyed quantity is reconciled before the record can close.

05

One Unified Register

Receipt, Administration/Dispense and Destruction entries live in one register for both pharmacy and veterinary use — no separate module per vertical, no cross-module reconciliation.

06

Drug Catalog & Interaction Alerts

A dedicated drug catalog tracks schedule, strength and form per drug, flags non-distributable stock, and warns on hazardous drug-interaction combinations.

07

Batch & Expiry Safeguards

Batch number and expiry date are captured on every dispense, and confirmation is blocked for expired batches or stock marked non-distributable.

08

Audit-Ready Workflow

Witness identity is captured on every controlled transaction, and a tamper-evident Draft → Confirmed → Done workflow with full chatter history locks finalized entries.

09

One-Click Inspection Report

Generate an inspection-ready report on demand, with smart buttons linking every drug to its register entries and every entry to its reconciliation.

Workflow

How it works

1

Log the transaction

Record a Receipt, Administration/Dispense or Destruction entry with drug, quantity, witness and batch/expiry details.

2

Preview the balance

Watch the projected balance update live, and confirm — the system blocks any entry that would make the balance impossible.

3

Reconcile discrepancies

Record a physical count; any color-coded mismatch opens a guided reconciliation record to investigate and resolve.

4

Export the report

Generate the one-click inspection report whenever an inspector asks — every entry is already reconciled and witnessed.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

No. Controlled Drugs Register is standalone — it depends only on Odoo's core `base` and `mail` apps and ships its own drug catalog and register, so it works for pharmacies and veterinary clinics alike without any other app installed.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Controlled Drugs Register

Receipt, administration and destruction in one register with a live balance preview and a balance lock — so an entry cannot be saved out of balance in the first place.

Buy on Odoo App Store