Back to blog

January 20, 2025 · 8 min read

Your vet clinic is throwing away 8–12% of its pharmacy inventory. Here’s the 5-step fix.

By KaliVers Team

Walk into the dispensary of most vet clinics and open the fridge. Behind the front row of vaccines, you’ll find vials that expired two months ago. Check the shelf with the less-common antibiotics — there’s a box of Marbofloxacin that’s been sitting there since the last monsoon season. In the drawer with the ophthalmics, there are three tubes of Tobramycin that nobody noticed were past date.

This isn’t sloppiness. It’s a system failure that costs the average vet clinic 8–12% of total pharmaceutical inventory every year. For a clinic carrying ₹5–10 lakh in stock ($6,000–$15,000 in Western markets), that’s ₹40,000–₹1.2 lakh (£500–£1,800 / $600–$1,800) going straight into the biomedical waste bin annually.

Why FIFO fails in vet clinics

Every inventory textbook says “use FIFO — first in, first out.” In practice, FIFO collapses in vet clinics for three predictable reasons:

  1. New stock gets placed in front. The delivery arrives during a busy morning. The tech stacks new boxes in front of old ones because it’s faster. The older stock gets pushed to the back where nobody sees it until it’s expired.
  2. Multiple storage locations. The same drug exists in the dispensary, the surgery prep area, and maybe a satellite fridge. Nobody tracks which location has older stock. A batch expires in surgery while the dispensary orders more.
  3. No batch-level visibility. Most clinics track inventory by SKU, not by batch. They know they have 24 vials of Amoxicillin. They don’t know that 8 of those vials expire in 45 days while 16 expire in 11 months.

The seasonal demand trap

Vet medicine has sharp seasonal patterns that clinics routinely ignore when ordering:

  • Tick and flea preventatives spike during warm/monsoon months (March–September in India, April–October in the Northern Hemisphere). Clinics that order the same quantity year-round end up with excess stock going into winter.
  • Kennel cough vaccines peak before holiday boarding seasons. A clinic in Chennai stocked 60 doses of intranasal Bordetella before Diwali — used 38, and the remaining 22 expired before the next boarding surge.
  • Dermatological medications follow allergy seasons. A practice in Toronto stocked heavily for spring allergy season, but a mild year meant 30% of their Apoquel inventory aged out.
  • Puppy/kitten vaccines follow breeding cycles, which vary by region. Ordering based on last year’s pattern without adjusting for actual demand creates surplus.

The real cost is worse than you think

Expired inventory isn’t just the purchase cost. Factor in:

  • Disposal costs. Pharmaceutical waste requires proper biomedical disposal — that’s an additional 5–15% on top of the product cost in most regions.
  • Opportunity cost. Capital locked in slow-moving stock can’t be used for items that actually sell. A ₹30,000 box of specialty medication gathering dust is ₹30,000 that could have bought fast-moving items with 40–60% margins.
  • Emergency shortages. Paradoxically, clinics with expiry problems also have stockout problems. They over-order slow movers and under-order fast movers. The clinic runs out of Metronidazole on a Saturday and has to send owners to a pharmacy — while expired Metoclopramide sits on the shelf.
  • Staff time. Someone has to check dates, pull expired stock, document disposal, adjust inventory counts. In a busy clinic, this is time stolen from patient care.

The 5-step protocol to cut expiry waste by 60%

This protocol was developed across 40+ clinics. Clinics that implemented all five steps reduced expiry waste from an average of 10.4% to 3.8% within six months — a 63% reduction.

Step 1: Implement batch-level tracking (not just SKU-level)

Every unit of inventory needs a batch number and expiry date recorded at receipt. This is non-negotiable. Whether you use software or a spreadsheet, you must know which specific units expire when. SKU-level tracking (“we have 24 vials of Amoxicillin”) is worthless for expiry management. You need batch-level (“8 vials batch AX-2024-09 expiring 15-Mar, 16 vials batch AX-2024-12 expiring 30-Nov”).

Step 2: Create a 90-60-30 day expiry alert system

Set up three alert tiers. At 90 days: flag the item for accelerated use — prioritise dispensing from this batch. At 60 days: consider return-to-distributor options (many Indian distributors accept returns within 60 days of expiry; check your agreements). At 30 days: if the item can’t be used or returned, mark it for write-off and remove from active dispensing. A clinic in Bengaluru recovered ₹1.8 lakh in one year just by returning near-expiry stock to distributors within the return window.

Step 3: Consolidate storage locations

Every duplicate storage point is an expiry risk. If Dexamethasone lives in both the dispensary and the surgery room, one location will always have older stock that gets forgotten. Designate one primary location per item. Surgery and exam rooms get small working quantities refilled from the central dispensary — never independent stock.

Step 4: Order using trailing-3-month consumption, not fixed reorder points

Fixed reorder points (“order 20 when stock hits 5”) ignore seasonal demand. Instead, calculate your order quantity based on the trailing 3-month average consumption plus a 15–20% safety buffer. This naturally adjusts for seasonal swings. A practice in Dubai switched from fixed reorder points to trailing-3-month ordering and reduced their slow-mover inventory by 34% in one quarter.

Step 5: Run a monthly 15-minute expiry review

Block 15 minutes on the first Monday of each month. One person (always the same person — ownership matters) reviews the expiry report, processes returns, adjusts orders for items trending toward surplus, and verifies FIFO compliance in storage areas. This single habit prevents more waste than any technology solution alone.

What this looks like with software

Everything above can be done with spreadsheets and discipline. Software makes it easier to sustain. CliniCore’s inventory module tracks at the batch level by default, generates the 90-60-30 alerts automatically, and calculates reorder suggestions based on actual consumption patterns rather than fixed thresholds.

But the protocol matters more than the tool. A clinic running this protocol on spreadsheets will outperform a clinic with expensive software and no process. Fix the system first, then automate it. Every rupee, dollar, or pound you save on expired inventory goes straight to your bottom line — and unlike revenue growth, there’s no additional cost of goods to eat into it.

Want to see CliniCore in action?

We'd love to show you how CliniCore can streamline your veterinary practice. Request a personalised demo.