Skip to content

BlogStock and purchasing

Stop losing money to expired drugs: stock control for vets

Batches, first-expiring-first-out, reorder levels and stock takes: the habits that keep expiry losses at a veterinary clinic close to zero.

A pharmacist takes a medicine box from a well-stocked dispensary shelf.
Photo: National Cancer Institute / Unsplash

In short

  • Record every delivery by batch, with its expiry date and what you actually paid.
  • Sell and use the first-expiring unit first, and never an expired one.
  • Look at what expires in the next 30 to 90 days every week, at the same time.
  • Set reorder levels from real weekly use, not from what feels safe.

Every clinic has a box of drugs that expired on the shelf. Each box is a small loss, but over a year they add up to real money, and they are almost always avoidable. This guide walks through the habits, and the few rules in your software, that keep expiry losses close to zero.

Why drugs expire on the shelf

Expired stock is rarely about one bad decision. It usually comes from four small leaks:

  • Ordering by feel. Someone orders "a few more" because the shelf looks empty, while two boxes sit in the back room.
  • Selling the newest box first. The fresh delivery goes in front, so the older batch is pushed behind it and forgotten.
  • No expiry dates on record. If the date lives only on the box, nobody sees it coming until the box is opened.
  • Slow movers bought in bulk. A discount for buying ten is not a saving if six of them expire.

Fixing each leak is cheap. Doing all four is what makes the difference.

Record batches, not just quantities

A quantity tells you how many boxes you have. A batch tells you which delivery they came from, what you paid and when they expire. Two batches of the same vaccine can expire months apart, so "12 in stock" is not enough to plan with.

When a delivery arrives, record for each line:

  1. The product and the quantity received.
  2. The batch or lot number, if the supplier prints one.
  3. The expiry date.
  4. The cost you actually paid, including any free units.

It takes a minute per delivery. In return, you can see exactly which units expire first and what they cost you.

Sell first-expiring-first-out

The rule is simple: the unit that expires first leaves first. Pharmacists call it FEFO. It is not the same as first-in-first-out: a later delivery can carry an earlier expiry date, and FEFO still sells that one first.

On the shelf, it means putting the earliest date at the front. In software, it means the system picks the batch for you on every sale and every drug given in the consult room, so nobody has to remember. A good system also refuses to sell a batch that has already expired, instead of letting it slip onto a client's bill.

Know what is about to expire

A list of everything expiring in the next 30, 60 or 90 days turns a loss into a decision. With a few weeks' notice you can:

  • use the batch first in the clinic, where the product allows it;
  • offer it to clients who buy it regularly;
  • ask the supplier whether they take short-dated stock back;
  • move it to the branch that sells more of it.

Look at that list every week, at the same time. A ten-minute habit beats a perfect system nobody opens.

Set a reorder level for each product

A reorder level is the quantity at which you order again. Set it from what you actually use, not from what feels safe:

Reorder level = what you use in a normal week × the weeks a delivery takes to arrive + a small buffer.

For a vaccine you use 20 doses a week, with deliveries taking one week, a level of about 25 to 30 is plenty. Ordering at 60 just means more doses waiting to expire. Review the levels every few months, because seasons change what you use.

Count regularly, and count the right things

A stock take compares what the system says with what is on the shelf. The differences tell you where stock leaks: breakage, items given without being recorded, or mistakes at delivery.

  • Count the expensive and fast-moving items monthly, everything else every quarter.
  • Count by batch, so you also catch expired units hiding at the back.
  • Record why each difference happened. Patterns matter more than one bad count.

Spreadsheets work for counting, as long as the results go back into your system instead of staying in a file.

Do not let stock stop a consult

One warning: strict stock rules should never stop a vet in the middle of a consult. If the system says a drug is out of stock but the vet has it in hand, the treatment must still be recorded. The right behaviour is to record the treatment and flag the gap for the stock room to fix later.

How Petfolio handles it

In Petfolio, every movement of stock goes through one stock ledger: sales, deliveries, transfers between branches, counts and drugs given in the clinic. Deliveries are recorded by batch with expiry dates and cost. Sales and clinical use take the first-expiring batch automatically and never an expired one. Low-stock and expiring-soon alerts arrive every morning, and stock takes can be counted with a scanner or in Excel. If a shelf is empty, the vet's work is still recorded and the gap is flagged for later.

Stock on hand per branch with batches and expiry
Stock on hand per branch, with batches and expiry dates.

Whatever software you use, the habits above are what keep the shelf honest: batches on every delivery, the first-expiring unit out first, a weekly look at what is about to expire, and reorder levels set from real use.

Share this guide WhatsApp LinkedIn Facebook X

See Petfolio run a day at your clinic.

We walk your team through a real day: the first visit, the till at closing, and the books the next morning.