Help Centre
Open FastVet

Help Centre Stock & pricing

Controlled drugs

Schedule numbers, batch tracking and expiry warnings — how a controlled drug moves from delivery to patient, and how the register assembles itself from what you recorded along the way.

A controlled drug is not handled on one screen. It passes through four, and each records something the next one needs — so the register at the end is assembled from what was captured as you worked, rather than written up separately afterwards.

WhereWhat it records
The catalogue itemThe drug's schedule number — what makes it controlled as far as FastVet is concerned.
Booking the delivery inThe lot number and expiry date of the batch that arrived.
Dispensing itWhich batch the dose came out of, and who gave it.
The registerAll of the above, per month, ready to export.
Note
Miss the first two and the last one has nothing to report. That is the single thing worth understanding about this topic — the register cannot invent what was never recorded, and it will look convincingly empty rather than complain.

Give the drug its schedule#

Who can do this
Administrators only.

HomeStock & PricesUpdate Prices

The Schedule field on a catalogue item. Anything from 5 up is treated as controlled.
The Schedule field on a catalogue item. Anything from 5 up is treated as controlled.

Open the item and set Schedule. It is a picker, so there is nothing to type and nothing to spell — and once you choose 5 or above the screen says plainly that dispensing this item will be recorded on the register.

The field appears on both treatments and materials. Which of the two a controlled drug is catalogued as does not matter — an injectable set up as a material is as visible to the register as one set up as a treatment.

Careful
Schedule 5 is the line. An item left at 4, or at 0 because nobody set it, will never reach the register however carefully it is dispensed afterwards. If a drug you expect is missing from the register, this is the first place to look — and correcting it fixes future movements, not past ones.
Tip
Do this once, for every controlled drug you hold, before you start relying on the register. It is a five-minute job on a normal catalogue and everything else here depends on it.

Book the delivery in by batch#

Who can do this
Administrators only.

HomeStock & PricesManage Stockthe item

Booking a delivery in. The lot number and expiry date are what make the batch traceable.
Booking a delivery in. The lot number and expiry date are what make the batch traceable.

Receiving stock is covered in full under Stock & inventory. The part that matters here is the lot number and lot expiry date: enter both, and FastVet counts that batch separately from every other batch of the same drug. The Stock Summary at the top of the screen then shows what you hold of each, with expired batches flagged.

Careful
Both fields are optional, and that is the risk. Stock booked in without them is still counted — it simply has no batch to trace and no date to watch. It shows as Other (no lot assigned), and it can never appear on the Expiring stock report however old it gets.
Tip
If your supplier's invoice has the lot on it, copy it exactly. A batch number that matches the box is worth far more in a recall than a tidy one that does not.

Choose the batch when it is given#

Who can do this
Whoever is doing the work — the vet, nurse or groomer recording the item.
The batches on hand, listed under the quantity. Choosing one records it against the movement.
The batches on hand, listed under the quantity. Choosing one records it against the movement.

When a drug held in named batches is added to a visit, a Please select lot table appears under the quantity. Pick the batch you took the dose from, and it is recorded against the stock movement — so months later the item's history, and any recall, can say which box a particular patient's dose came out of.

The picker appears everywhere a drug is given, not just in consultations:

  • Consultations
  • Hospital days and boarding days
  • Grooming
  • Items inside a protocol
  • Counter sales
Note
It only appears when there is a real choice to make — the item has to hold at least one named batch with stock left in it. An item booked in without lot numbers shows no picker, and nothing extra appears on the screen.
Note
Batches that have run out are not offered. Only what is actually on the shelf is listed, so a dose cannot be attributed to a box you no longer hold.

Expiry is flagged, never blocked#

An out-of-date batch: struck through in the list, and named in red once chosen.
An out-of-date batch: struck through in the list, and named in red once chosen.

A batch past its expiry date is struck through in the picker, and choosing it puts a red note underneath naming the date it expired. A batch expiring within 30 days gets an amber one instead.

Both are warnings. Neither stops you saving the line. That is deliberate: there are legitimate reasons to reach for an out-of-date box, and a hard block would only teach people to work around the system — which is worse than a note nobody can miss.

The same flags appear on the Stock Summary table on the stock screens, so you see them when counting as well as when dispensing.

Tip
To get ahead of it rather than meet it at the point of use, run Expiring stock. It lists every batch expiring within 90 days, and gathers anything already past its date into its own section.

The register#

Who can do this
Anyone who can open Reports. The register is not restricted further.

HomeReportsSchedule drugs

Every controlled movement for the month: what moved, which batch, on whom, and who authorised it.
Every controlled movement for the month: what moved, which batch, on whom, and who authorised it.

One row per movement, for every item at schedule 5 or above:

ColumnWhat it tells you
Description, ScheduleThe drug, and how it is classified.
Amount, UnitHow much moved. Negative is dispensed; positive is stock received.
Lot, Lot expiryThe batch it came out of, where one was recorded.
DateWhen it moved.
Authorized byThe person who recorded the movement.
Client name, Patient nameWho it went to. Stock received has no patient, and reads ** Stock Bought / Updated ** instead of a client.

It runs a month at a time and exports like every other report, so the month can be downloaded and kept alongside whatever paper register you are required to hold.

Careful
It only sees stocked items. A controlled drug that has a price but no stock record never produces a stock movement, so there is nothing for the register to report. Give it a stock record — see Stock & inventory.

Wastage, breakage and expired stock#

Who can do this
Administrators only.

A part-used vial discarded, a box dropped, a batch that went out of date on the shelf — all three are handled the same way: go to the item under Manage Stock, enter a negative amount, and say why in the transaction description. Choose the same lot it came from, so the batch it is drawn against stays right.

The adjustment appears in the item's stock history with your name and your reason on it, and — because it is a stock movement of a scheduled item — on the register too.

Careful
The description is the only explanation anyone will ever see. A count that changes with no reason given is indistinguishable from stock going missing, and that is exactly the kind of gap a controlled-drug audit is looking for.

What FastVet does not do#

Worth knowing before you rely on it, rather than at your first inspection:

  • There is no witness or second-signature field. The register records the person who made the entry. If your procedures require a second person to countersign, that stays on paper.
  • Destruction is not a separate kind of entry. It is a stock adjustment with a reason typed on it — recorded and auditable, but not its own form with its own fields.
  • The register lists movements, not a balance. A running count for one drug is on that drug's stock history, which carries the balance after every movement.
  • Nothing is enforced at the point of use. Expiry warns; it does not block. Nor is there a stock check or a two-person count built into dispensing.
Note
None of this stops FastVet being the record of what moved. It does mean that where your jurisdiction requires a countersigned, running paper register, FastVet supports it rather than replaces it — the monthly export is what you reconcile against.

Getting it right#

  1. Set a schedule of 5 or above on every controlled drug you hold — once, up front.
  2. Make sure each of them has a stock record, or the register will not see it.
  3. Book every delivery in with its lot number and expiry date.
  4. Pick the batch when you dispense, and read the warning if one appears.
  5. Write off breakages and expired stock with the reason on the entry.
  6. Run Schedule drugs each month, export it, and file it.
Tip
Test the whole chain once on a single drug before you trust it across the catalogue: set the schedule, book in a batch, dispense a dose, then run the register for this month. The line you just dispensed should be on it, with its batch and your name against it.