Back to Documentation

User Guide

Managing Controlled Medications

How VetOS tracks every pill and every dose — so you are always ready for a DEA inspection.

12 minWritten for: Veterinarians and pharmacy staffUpdated: 2026-02-16

What you will learn

  • Track controlled substances from receiving through dispensing, waste, and reconciliation
  • Run a daily count check in under five minutes
  • Use WhoGot++ to instantly look up which patients received a specific drug or batch
  • Generate inspection-ready DEA reports with one click
  • Handle discrepancies with proper documentation

Every dose is tracked from receiving to use

When a controlled medication shipment arrives at your clinic, you log it in VetOS under Inventory. VetOS records the drug name, DEA schedule (II, III, IV, or V), quantity received, lot number, expiration date, and the name of the person who received it. This creates the starting point for your count.

Every time that medication is dispensed to a patient, VetOS automatically deducts it from your count and creates a permanent record: which patient received it, which veterinarian prescribed it, the dosage and quantity, and exactly when it happened. This record is linked to both the patient's timeline and the inventory log.

If medication is wasted (a partial vial, a dropped bottle, etc.), you document the waste in VetOS with a reason and a witness name. If medication is returned by a client, that gets logged too. Every movement in or out is captured.

Nothing can be secretly changed after the fact. If someone records the wrong quantity, a correction entry is added alongside the original — both are visible. Inspectors love this because it shows honest, transparent record-keeping.

Daily count checks: the five-minute reconciliation

At the end of each day (or at shift change, or whenever your clinic policy requires), open the controlled substance screen from Inventory. You will see a list of every controlled medication with two columns: Expected Count (what VetOS calculates you should have based on all the receiving, dispensing, and waste entries) and Actual Count (a field where you enter what is physically on the shelf).

For each medication, count what is there and enter the number. If they match, move on. If they do not match, VetOS asks you to document the discrepancy — common reasons include breakage, spillage, counting error from earlier in the day, or a dispensing that was not logged. Enter the reason and the name of the person who conducted the count.

Click Reconcile when you are done. VetOS saves a permanent, timestamped record of this count that you can pull up at any time — even years later. A DEA inspector can ask to see your counts for any date in the past, and you will have them instantly.

  • Open Inventory > Controlled Substances
  • For each medication, count what is on the shelf
  • Enter the actual count next to the expected count
  • Document any discrepancies with a reason
  • Click Reconcile — the count is now permanently saved

WhoGot++: track any drug, batch, or treatment instantly

WhoGot++ is a powerful lookup tool in the Operations section of the sidebar. It answers the question every clinic dreads: "Which patients received Drug X?" — especially during recalls or adverse event investigations.

There are four tabs in WhoGot++: By Drug (search by drug name to see every patient who received it), By Batch/Lot (search by lot number — critical during manufacturer recalls), By Treatment (search by procedure type), and Adverse Events (track and document adverse reactions). You can export any of these results to CSV for your records or for reporting to the manufacturer or the FDA.

This is not something you use every day, but when you need it, you really need it. Being able to pull this information in seconds instead of digging through paper logs can make the difference between a smooth recall response and a crisis.

Generating reports for DEA inspections

When a DEA inspector visits (or when your state board requests controlled substance records), go to Reports in the sidebar. Select the Controlled Substances report type, choose the date range the inspector is asking about, and click Export.

VetOS compiles every transaction into a clean, organized document: every shipment received, every dose dispensed (with patient name, prescribing vet, date, and quantity), every waste event, every reconciliation count, and every discrepancy with its documented reason. The report includes the name and role of every person who touched the controlled substances.

Because this data is built from permanent, tamper-proof entries, the report reflects exactly what happened. You cannot retrospectively clean up the data to look better — and that is actually a good thing, because inspectors trust records that are clearly honest over records that look suspiciously perfect.