Back to blog

· 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. Stock 60 doses of intranasal Bordetella before the Diwali boarding surge, use 38, and the remaining 22 can easily expire before the next one.
  • Dermatological medications follow allergy seasons. Stock heavily for spring allergy season and one mild year can age out a third of the Apoquel before it moves.
  • 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.

A 5-step protocol for cutting expiry waste

None of the five steps below is clever. They are standard inventory practice — batch-level tracking, staged expiry alerts, FEFO dispensing, a monthly short-dated review, and reordering against real consumption. The reason expiry waste persists anyway is that all five have to run together, and in a busy clinic the last one quietly stops happening first.

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. Returning near-expiry stock to distributors within the return window is often worth lakhs per year on its own.

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. Switching from fixed reorder points to trailing-3-month ordering cuts slow-mover inventory sharply — order quantities finally track what actually sells.

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.

Worked examples in this article are illustrative scenarios based on industry-reported benchmarks and published research — not MyCliniCore client case studies.

See what your clinic is leaking

Industry studies put unbilled work at 5–10% of a clinic's revenue. Estimate yours in 60 seconds, free.