BlogVeterinary inventory management: the guide
Ryan Lewendon

Veterinary inventory management: the guide

Inventory is a practice's second biggest cost after payroll. How to measure it, the benchmarks to aim for, and how to stop losing money on stock.

Inventory is the second biggest cost in a veterinary practice, behind payroll. It's also the one most practices have never measured properly.

Veterinary inventory management is the process of tracking, ordering and controlling the drugs, consumables and retail products a practice holds, so that stock is available when clinicians need it, money isn't tied up in shelves, and nothing expires before it's used.

A practice bringing in $1,000,000 that runs at 25% instead of 20% spends an extra $50,000 a year on stock. That's the whole margin on a vet's salary, sitting in a stock cupboard.

This guide covers what to measure, what the benchmarks are, where the money actually goes, and how to fix it.

What inventory should cost

Cost of goods sold (COGS) as a percentage of revenue is the number that matters most. It tells you how much of every dollar coming in goes straight back out to pay for products.

The benchmarks, drawn from practice management consultants and benchmarking studies:

Practice typeHealthy COGS range
General practice18-24% of revenue
Emergency and specialty8-12% (services dominate revenue)
Farm and large animal28-32%
Well-managed practices (all types)at or below 20-22%

Veterinary Economics benchmarking work puts the target at 23 to 25% of gross revenue, with the best-run practices getting to 22%. Practice consultants report seeing plenty of practices sitting at 30 to 35%, which is where profitability quietly disappears.

Run your own number before reading further. Annual COGS divided by annual revenue. If it's more than three points above the range for your practice type, there's real money to recover.

Try it on your own revenue. A practice billing $1,000,000 at 25% COGS spends $250,000 on stock. The same practice at 20% spends $200,000. The $50,000 comes from three things: ordering to actual usage instead of gut feel, rotating stock so it gets used before it expires, and charging for everything that comes off the shelf.

Inventory metrics you should be measuring

1. Cost of goods sold as a percentage of revenue

How to work it out. Annual COGS ÷ annual revenue × 100. Your COGS is everything you buy to sell or use on patients: drugs, consumables, vaccines, prescription diets, retail lines and outside lab fees. Your accountant already has this figure.

Why it matters. This is the clearest measure of inventory efficiency you have. It's your second largest cost after payroll, and unlike payroll you can move it without changing your team.

What good looks like. 18-24% for general practice. 8-12% for emergency and specialty, where services rather than products drive revenue. 28-32% for farm and large animal. Well-run practices of any type sit at or below 22%.

What to do about it.

If your number is inside the range for your practice type, you don't need to change anything today. Work it out again in three months, because the direction it moves in matters more than where it sits now. If it climbs three months in a row, something has changed in how your practice orders, and it is far easier to find while the gap is small.

If your number is a few points above the range, start by finding out which products are actually costing you the money. Ask your distributor for a report of everything you bought over the last twelve months, sorted by total spend on each item. The top twenty lines on that report will account for most of your money, and those are the only ones worth looking at first. For each of those twenty, ask three questions. Are we buying more than we actually use? Is any of it going out of date before we get to it? Are we charging for it every single time it comes off the shelf? Nearly all overspend comes from one of those three, and answering them for twenty products is an afternoon's work rather than a project.

If your number is 30% or higher, look at your selling prices before you look at your ordering, because prices are the more likely cause at that level. Take the same list of twenty products. For each one, write down what you pay your distributor per unit and what you charge the client per unit. Wholesale costs rise most years. If nobody has reviewed your price list in that time, you will find items you are selling for close to what you paid for them.

Here is what this is worth. A practice billing $1,000,000 a year with COGS at 26% spends $260,000 on stock. The same practice at 22% spends $220,000. That is $40,000 a year staying in the business, and it does not require seeing a single extra patient.

2. Inventory turnover

How to work it out. Annual COGS ÷ average inventory value, where average inventory is (opening stock value + closing stock value) ÷ 2. If you spend $250,000 a year and hold $25,000 of stock on average, you turn over 10 times a year.

Why it matters. It tells you how much cash you have parked on shelves rather than in the bank. Stock is money you've already spent and can't use for anything else until it's sold, and the longer it sits, the more of it expires before you get paid for it.

What good looks like. Published targets range from 6 to 12 turns a year, depending on who's writing. Most practices should be somewhere in that band.

What to do about it.

If you turn over fewer than 6 times a year, you are holding more stock than the practice needs. The cheapest fix is to stop reordering your slowest items until you have used what is already on the shelf. To find them, run a usage report from your practice management system covering the last twelve months, and look for anything you have reordered more than once but barely used. Stop ordering those specific items. The shelf empties, the cash comes back, and nothing about your clinical work has to change.

If you turn over between 6 and 12 times a year, you are in a sensible place. Leave it alone and check again in six months.

If you turn over more than 12 times a year, you are holding very little stock. That is efficient, but it leaves no room for a delayed delivery or a busy week. Look at your stockout log, which is the fourth metric below. If you are regularly running out of particular items, raise the minimum level on those items only, rather than ordering more of everything.

Here is what this is worth. Say your practice spends $250,000 a year on stock. Turning over 6 times a year means you are holding roughly $42,000 of stock at any given moment. Turning over 12 times means you are holding roughly $21,000. That difference of about $21,000 is money sitting on your shelves rather than in your bank account, and it is $21,000 of stock with longer to expire before anyone uses it.

One thing that confuses people. Turnover is not how often you order. Most practices order weekly, and should. Turnover is a blended figure across everything you hold, and it gets pulled down by the just-in-case stock every practice carries: the drugs you keep because you'd need them urgently, not because they move. Your fast movers should turn far more often than the blended figure, which is what the ABC section below sets out.

3. Waste rate

How to work it out. Value of stock you threw away or wrote off ÷ total inventory spend × 100. Include anything you discounted heavily to shift it before expiry, because that's lost margin too.

Why it matters. This is pure loss. You paid for the product, you got nothing back, and no amount of clinical work recovers it.

What good looks like. Under 2%. At 3-5% you have a rotation problem worth fixing this month.

What to do about it.

If your waste rate is under 2%, there is nothing here to fix.

If it is between 3 and 5%, the cause is almost always rotation rather than ordering. You are buying roughly the right quantity, but older stock is getting stuck behind newer stock and expiring while it waits. Three habits fix most of it. Write the expiry date on the outside of each box with a marker as it arrives, so nobody has to hunt for small print mid-consult. When you unpack a delivery, put the new boxes behind the ones already on the shelf, so the oldest is always the one your team picks up first. And check the fridge before anywhere else, because refrigerated products have the shortest shelf lives and are the easiest to lose track of.

If it is above 5%, you are ordering too much of something specific rather than rotating badly. Write down what you actually threw away over the last year, which most practices have never done, and then reduce the standing order quantity on those particular items.

Here is what this is worth. If your practice spends $250,000 a year on stock and 3% of it ends up in the trash, that is $7,500 you paid for and got nothing back from. Getting waste down to 1% keeps $5,000 of that in the practice.

4. Stockout frequency

How to work it out. Log it. Every time someone reaches for something that isn't there, it gets written down, with the item and the date. A sheet on the pharmacy area wall works. Count them monthly.

Why it matters. The cost lands somewhere other than your accounts, which is why almost nobody tracks it. A stockout mid-procedure is a clinical risk. Outside that, it's staff time hunting for alternatives, emergency orders at worse prices, and clients sent to another practice or an online pharmacy for something you should have had.

What good looks like. There's no published benchmark, so use your own trend. On A items, the target is zero.

What to do about it.

If the same item keeps appearing on the log, the minimum level for that item is set too low. Raise it, working from how fast you actually use the item and how long your distributor takes to deliver. The next section shows how to calculate that properly. A stockout that keeps happening on the same product is a wrong number in your system, not a failure by whoever does the ordering.

If lots of different items appear, the problem is that ordering is not happening often enough, or that nobody in particular is responsible for it. Give the job to one named person and protect time for it in the schedule.

Either way, a month of logging usually shows the trouble sits with five or six items rather than the whole pharmacy area.

Where the money actually goes

Before you change anything, it helps to know what you're looking for. There are five causes, and most practices have all five to some degree.

CauseWhat it looks likeWhere to start
Items used but never billedStock disappears, margins slipBill items during the consult, not after
Ordering more than you useFull shelves, cash tied upSet minimum levels from usage reports
Products expiringBoxes binned at full physical countWrite dates on boxes, new stock behind old
Stock going missingCounts never match recordsCount regularly, keep records
Charging too littleBusy practice, thin profitReview your 20 biggest products yearly

1. Items used but never billed

This is the biggest cause and the one practices discuss least. A vet draws up a drug, gives it to the patient, and it never gets added to the client's invoice. The product has left the shelf and the practice has already paid for it, but no money comes back in.

It's hard to spot because it shows up in the wrong places. In your stock count it looks like products going missing. In your year-end accounts it looks like your margins have slipped. In both cases the cause is the same: nobody charged for it.

What to do. Add each item to the bill at the moment you use it, rather than trying to remember everything at the end of a consult and typing it up afterwards. Practices that change this usually get more money back than from anything else on this list.

Catch all your missed charges with Lupa
Lupa listens to your consults and flags any items that were talked about but don't appear on the invoice.
Learn more

2. Ordering more than you use

Someone glances at a shelf, decides it looks low, and orders more without checking how much the practice actually gets through.

Bulk deals make this worse rather than better. Say a distributor offers 20% off if you buy a year's supply. If three months of that supply expires before you reach it, you have thrown away a quarter of what you bought to save a fifth on the price. You have paid more per usable vial than if you had bought smaller quantities at full price.

What to do. Set a minimum level for each product based on what you actually use, which the next section walks through step by step. Then only take a bulk deal if you can get through the whole quantity before the expiry date on the box.

3. Products expiring before you use them

Estimates put the cost of expired medicine at 1.5 to 2% of a practice's total revenue. Almost all of it is avoidable.

What to do. Two habits handle most of it. Write the expiry date on the outside of each box with a marker as it arrives, so nobody has to hunt for small print during a consult. And when you unpack a delivery, put the new boxes behind the ones already on the shelf. Your team will then reach for the oldest first without having to think about it.

4. Stock going missing

Some of this is honest error: miscounting, damage, or a product used and not recorded. Some of it is staff taking things. It's an uncomfortable subject, and with controlled drugs it becomes a legal matter as well as a financial one.

What to do. Count regularly, because counting is the only way you'll know it's happening. Keep the records, because they're what protects you and your team if a discrepancy is ever investigated.

5. Charging too little

Your markup is the difference between what you pay your distributor for a product and what you charge the client for it. Wholesale prices rise most years. If your price list hasn't been reviewed in that time, your margin has been shrinking without anyone deciding it should.

What to do. Once a year, go through your twenty biggest products by spend. For each one, write down what you now pay and what you now charge, and check the gap still makes sense.

Sorting your stock: ABC analysis

What it is. ABC analysis means sorting everything on your shelves into three groups, based on how much money each product accounts for over a year. Group A gets watched closely, group B gets moderate attention, and group C gets very little.

Why it matters. Your pharmacy area holds hundreds of separate products, and they are nowhere near equally important. Running out of an anesthetic stops a surgery. Running out of bandage scissors does not. Trying to manage everything with the same care is the most common reason practices start an inventory system and abandon it three months later: it takes hours and saves almost nothing.

It's also where your money is. According to AAHA, dispensing typically accounts for 25 to 30% of income in primary-care hospitals, making it the largest single revenue source in most practices. Your group A products are the ones driving that.

How to do it. Run a report from your practice management system of everything you bought over the last twelve months, sorted by total spend on each item. Then work down the list and split it into three groups.

A itemsB itemsC items
What they areHigh value, used constantlyMiddling value and useCheap, slow-moving, or occasional
ExamplesAnesthetics, common injectables, parasiticides, prescription dietsAntibiotics used most weeks, routine consumablesBandage materials, rarely-used drugs, just-in-case stock
Share of your product listAbout 20%About 30%About 50%
Share of your spendAbout 80%About 15%About 5%
How often to countWeeklyMonthlyQuarterly
Times reordered per year40 to 5012 to 164 to 8

That last row explains the turnover figures above. Your A items really do get reordered most weeks. The blended figure of 6 to 12 across the whole practice comes out lower because your C items sit there for months, which is exactly what they're supposed to do.

One warning about group C. Practices are good at adding new products and poor at removing old ones, so this group grows quietly over the years. When you run your twelve-month report, look for anything you haven't used at all. Those items are worth clearing out rather than counting.

Setting minimum levels, step by step

This is the part that stops both over-ordering and running out. You work out, for each product, the level at which you should place an order. Once the number is in your system, nobody has to judge whether a shelf looks low.

Do it for your A items first. Twenty or thirty products will cover most of your spend, and it takes an afternoon.

Step 1. Work out how much you use in a day. Take one product and look at how many units you got through over the last three months, then divide by the number of days. If you used 360 vials over 90 days, that's 4 vials a day.

Step 2. Find out how long delivery takes. Look at your last few orders from that distributor and count the days between placing the order and it arriving. Say it's 2 days.

Step 3. Decide your safety buffer. This is extra stock to cover a late delivery or an unusually busy week. Three days is a sensible starting point. For anything where running out would stop a procedure, make it longer.

Step 4. Do the sum. Multiply your daily usage by the delivery days, then add your daily usage multiplied by the safety days.

Step 5. Put the number into your system as the minimum level for that product, so it tells you when to order instead of someone noticing.

Here's the worked example in full:

StepThe sumThis product
Daily usageUnits used ÷ days counted360 ÷ 90 = 4 vials a day
Delivery timeDays from order to arrival2 days
Safety bufferExtra days of cover3 days
Minimum level(4 × 2) + (4 × 3)20 vials

When stock drops to 20 vials, you order. That gives you 8 vials to cover the two days you're waiting for delivery, and 12 spare in case something goes wrong.

Two things keep this working. Set the numbers from a usage report rather than from memory, because memory overestimates the things you reach for often. And revisit them with the seasons: you get through far more parasiticide treatments in May than in December, so a level that's right in summer will leave you overstocked by winter.

Counting stock without losing an evening

Most practices count everything once a year, usually after hours, usually with the whole team staying late. It's the worst way to do it. Everyone is tired, mistakes get made, and it tells you what your stock was on one day in March.

The alternative is to count a small amount every week instead. It's called cycle counting, and once it's running it takes about half an hour. Here is how to set it up.

Step 1. Split your product list into the A, B and C groups described in the section above.

Step 2. Divide your B list into four roughly equal parts, and your C list into twelve. How you split them doesn't matter, alphabetically is fine, as long as every product sits in exactly one part and you keep the parts in the same order each time.

Step 3. Book a fixed half hour every week and put one person's name against it in the schedule. A quiet slot works best: first thing on a Monday, or a gap in the middle of the afternoon.

Step 4. Each week, count three things. All of your A items, one part of your B list, and one part of your C list. Because there are four B parts, every B item gets counted once a month. Because there are twelve C parts, every C item gets counted once a quarter. Your A items get counted every single week.

Step 5. Compare what you counted against what your system says you should have. Write down anything that doesn't match, including which product and by how much.

Step 6. Look into the differences the same day. This is the real reason for counting weekly rather than annually: if a number is wrong, someone can still remember what happened to that product in the last few days. After twelve months, nobody can. Most differences turn out to be an item used and not billed, a delivery received but not entered, or a simple miscount.

This is what the schedule looks like in practice:

WeekA itemsB itemsC items
Week 1All of themPart 1 of 4Part 1 of 12
Week 2All of themPart 2 of 4Part 2 of 12
Week 3All of themPart 3 of 4Part 3 of 12
Week 4All of themPart 4 of 4Part 4 of 12
Week 5All of themBack to part 1Part 5 of 12

Keep going in that pattern. By the end of the year every product in the practice has been counted, your most valuable products have been counted around fifty times, and nobody has stayed late to do it.

Controlled substances: what US practices must do

For controlled substances, this stops being good practice and becomes federal law, enforced by the DEA, with state boards adding their own rules on top. These are the federal essentials:

RequirementWhat it means day to day
Take a full inventory at least every two yearsA complete physical count of every controlled substance on hand, dated, marked as taken at opening or close of business, listing each drug by name, form, strength and count. Schedule II drugs need an exact count; Schedules III to V can be estimated unless a container holds more than 1,000 tablets. A missing biennial inventory is the single most common DEA finding at veterinary practices.
Order Schedule II drugs on DEA Form 222 or CSOSSchedule II substances, including pentobarbital and injectable fentanyl, must be ordered using the paper Form 222 or its electronic equivalent. Keep completed forms for at least two years, filed separately from your other records.
Keep dispensing logs currentEvery administration or dispensing event gets recorded: date, patient, drug, strength, quantity used and quantity remaining. Logs can be paper or electronic, but an electronic system must be able to produce accurate reports covering the past two years. Keep Schedule II records separate from Schedules III to V.
Keep all records for at least two yearsPurchase records, receipts, dispensing logs and inventories. Two years is the federal minimum; some states require longer.
Store everything in a locked, substantially constructed cabinet or safeRequired for Schedules II through V. Keep controlled substances separate from ordinary stock, limit access to as few people as possible, and document who holds keys or codes.
Dispose through a reverse distributorExpired or unwanted controlled substances go to a DEA-registered reverse distributor, never down a drain or in the trash. Destruction is documented on DEA Form 41.
Report theft or significant lossTo your local DEA field office and local law enforcement, with DEA Form 106. Assuming a discrepancy was a logging error and staying quiet turns one violation into two.

The penalties are per violation and they are severe: recordkeeping failures can run to five figures each. Check your own state board's rules as well, because many states require more frequent counts than the federal minimum.

If your numbers don't tally exactly, don't panic. Small discrepancies from syringe dead space are expected, and inspectors know it. What matters is that you count regularly, investigate anything that looks wrong, and write down what you found.

What to look for in your software

Most practices don't need a separate inventory product. They need their practice management system to do the job properly. These are the features that make the difference:

  • Stock comes off the count automatically when an item is billed, so your numbers stay right without anyone updating them
  • Batch and expiry date tracking, so the system tells you what's about to go out of date instead of someone finding it at full physical count
  • Minimum levels for each product, with an alert or an automatic order when stock drops to that level
  • Usage reports with enough detail to set those minimum levels from real numbers, including how demand shifts across the year
  • A link to your distributors, so ordering doesn't mean typing everything again into a separate website
  • Billing built into the consult, so a drug goes onto the client's invoice at the moment you use it
  • One view across all your sites if you run more than one, including moving stock between them

That last-but-one point matters most, and it's the one a separate inventory tool can't fix. A standalone inventory system can tell you what's on your shelves. Only the system your team is already using during the consult can stop a product being used without anyone charging for it.

Lupa handles inventory inside the same system that holds records, billing and payments, and its AI flags items used during a consult that haven't made it onto the invoice.

Get inventory under control

Lupa keeps stock, billing and clinical records in one system, so items are charged as they're used and counts stay accurate without anyone updating a spreadsheet.

See Lupa's pricing.

Frequently asked questions

What is veterinary inventory management?

Veterinary inventory management is the process of tracking, ordering and controlling the drugs, consumables and retail products a practice holds. Done well, it keeps stock available when clinicians need it, minimizes cash tied up on shelves, and prevents products expiring before use. It's typically a practice's second largest cost after payroll.

What percentage of revenue should veterinary inventory be?

For a general practice, cost of goods sold should sit between 18 and 24% of revenue, with well-managed practices at or below 22%. Emergency and specialty practices typically run lower, at 8 to 12%, because services rather than products drive their revenue. Farm and large animal practices run higher, at 28 to 32%.

What is a good inventory turnover rate for a veterinary practice?

Published targets range from 6 to 12 turns per year, calculated as annual cost of goods sold divided by average inventory value. Below 6 turns suggests too much cash sitting in stock and a higher risk of expiry. Above 12 suggests running too lean, with stockouts becoming likely. This figure is a blended average across all stock and isn't the same as how often you order: most practices order weekly, and fast-moving items should turn 40 to 50 times a year, while slow movers may turn only 4 to 8.

How often should a veterinary practice count stock?

Rolling cycle counts beat a single annual physical inventory. Count high-value, high-use items weekly, moderate-use items monthly, and slow movers quarterly. For controlled substances, federal law requires a complete inventory at least every two years, and most advisors recommend counting far more often; several state boards require it.

Does a veterinary practice need separate inventory management software?

Usually not. If your practice management system tracks stock levels, batch and expiry dates, minimum levels, and lets you bill for items as you use them, it will handle inventory for most practices. A separate inventory tool is worth considering if your current system's stock features are weak. What a separate tool can't fix is products being used without anyone charging for them, which is normally the biggest single loss, because that happens during the consult rather than in the stock cupboard.

Written by
Ryan Lewendon

Ryan Lewendon

Growth Marketing Manager, Lupa

Ryan Lewendon is Growth Marketing Manager at Lupa. He speaks with vet practices every week about how they operate, and writes about what he learns: how a practice can deliver fantastic patient outcomes while running as a healthy, stress-free business.