The short answer: most published benchmarks suggest a general practice should carry roughly 30 to 45 days’ worth of inventory, which works out to turning your stock over 8 to 12 times per year, with total inventory costs landing somewhere between 18% and 24% of gross revenue. A useful gut check is that the value of inventory on your shelves should stay at or below about 20% of your average monthly revenue.
The honest answer: it depends on your practice type, your storage space, your distance from your distributor, and which products we’re talking about. Ask five consultants and you’ll hear recommendations ranging from 5 turns a year to 17. They’re not contradicting each other. They’re answering slightly different questions, and once you see why, your own number gets much easier to find.
Let’s walk through it.
Why this question deserves a real answer
Inventory is the second largest expense in most veterinary practices, right behind payroll. The average practice spends somewhere between $18 and $25 on inventory for every $100 it brings in. That makes inventory the biggest financial lever most practices have that doesn’t involve staffing decisions.
And yet very few practices were ever handed a target. Most inventory managers inherited a system, a set of shelves, and a rough sense of “order it when it looks low.” If that describes your practice, nothing is broken. You’ve been making reasonable decisions without a benchmark to compare against. This article is the benchmark.
Three ways to measure “how much,” and what each one tells you
There isn’t one way to count inventory, which is part of why the advice out there sounds inconsistent. There are three common lenses, and each answers a different question.
1. Inventory value as a percent of monthly revenue (the gut check)
Add up the approximate value of everything on your shelves right now and compare it to your average monthly revenue. Practices carrying around 20% of average monthly revenue in inventory are generally in a healthy zone. A practice producing $150,000 a month would aim to keep about $30,000 in product on hand.
This is the fastest check you can run, and it’s a snapshot, not a diagnosis. If you’re at 35%, that tells you to look closer. It doesn’t tell you where the excess lives.
2. Cost of goods sold as a percent of revenue (the accountant’s view)
COGS measures what you consumed and sold over a period, not what’s sitting on the shelf. For a typical general practice, a healthy target is roughly 20–24% of gross revenue, and some practice types run far lower. Emergency and specialty hospitals often land at 8–12% because their revenue is dominated by services rather than product sales.
One important prerequisite: this comparison only works if your categories match the ones the benchmarks use. The AAHA/VMG Chart of Accounts is the industry standard for classifying revenue and expenses, it’s free for all practices, and it’s endorsed by AVMA and VHMA. If your bookkeeping doesn’t follow it yet, that’s a worthwhile project on its own, because it makes every benchmark in this article directly comparable to your numbers.
3. Turnover rate and days on hand (the operational view)
Turnover is how many times per year you completely sell through and replace your stock. The math is simple:
Annual COGS ÷ average inventory value = turns per year
A clinic with $500,000 in annual COGS carrying $50,000 in inventory is turning its stock 10 times a year, which is right in the healthy range. Double the shelf stock to $100,000 without changing anything else, and turnover drops to 5, with the same medicine practiced, same products sold, but twice as much cash parked on the shelf.
To convert turns into days on hand, divide 365 by your turnover rate. Ten turns means about 36 days of stock on hand at any given time.
Why the benchmarks disagree (and why that’s fine)
If you’ve done any reading on this, you’ve seen the range: some sources recommend 8–12 turns per year, others say 5–8, and category-specific guidance goes as high as 50. Here’s what’s actually going on.
The lower recommendations describe your whole inventory averaged together, including the slow movers you keep for good clinical reasons. The higher numbers describe your high-demand items specifically. Both are right. The mistake is applying either number to products it wasn’t meant for, which is exactly why a single global target ends up being less useful than category-level ones.
Category targets beat one global number
This is where ABC analysis earns its reputation. The idea: your A products are the high-value, high-use essentials, roughly the 20% of items driving 80% of your inventory-based revenue. B products are moderate movers. C products are the slow but necessary items.
Each class gets its own target:
| Category | What it covers | Target turns per year | Roughly how much to carry |
| A products | High-value, high-use essentials (top ~20% of items, ~80% of inventory revenue) | 40–50 | About a week’s supply |
| B products | Moderate-use items | 12–16 | About a month’s supply |
| C products | Slow movers you still need | 4–8 | One to three months’ supply |
| Whole inventory (blended) | Everything averaged together | 8–12 | 30–45 days on hand |
To learn more, read our 5 Inventory Metrics Every Practice Manager Should Track and 12 Veterinary Inventory Management Tips Every Clinic Should Know articles
And by practice type, healthy COGS ranges look like this:
| Practice type | Typical healthy COGS (% of gross revenue) |
| General practice | 18–24% |
| Emergency / specialty | 8–12% |
| Mixed animal / equine | Higher and more variable; benchmark against peers, not GP averages |
Why your number isn’t the benchmark’s number
Before you compare your practice to any table, factor in the things the table can’t see:
- Distributor proximity and delivery cadence. A practice with twice-weekly deliveries can safely carry less than a rural practice that orders every two weeks. Your safety stock should reflect your actual lead times, not a national average.
- Storage space. Smaller clinics sometimes have healthy turnover simply because there’s nowhere to put excess. If storage is tight, more frequent, smaller orders can substitute for shelf space.
- Seasonality. Parasiticide season, boarding surges, and regional patterns all justify temporarily carrying more of specific items. A benchmark is an annual average, not a rule for every week of the year.
- Case mix. A practice doing heavy dentistry or orthopedics will hold different stock than a wellness-focused clinic at the same revenue level. Neither is wrong.
- Controlled substances and cold chain. Some items carry regulatory or storage constraints that override pure efficiency math, and that’s appropriate.
The goal of benchmarking isn’t to force your practice toward the average. It’s to spot the places where your numbers differ from the average for no reason you can name. A difference you can explain is a business decision. A difference you can’t explain is worth a closer look.
Find your number this week
You can get a working answer with about an hour and two reports:
- Pull your COGS for the last 12 months from your accounting software
- Estimate your current shelf value. A rough number is fine to start. Your most recent cycle count, your PIMS inventory value report, or even a walkthrough with a clipboard will get you close enough.
- Run the division. COGS ÷ shelf value = your turnover rate. Then 365 ÷ turns = your days on hand.
- Compare against the tables above, starting with your blended number, then drill into your top 20 products by spend and check whether your A items are actually turning like A items.
If your blended turnover comes back at 4 or 5, you’ve likely found real money sitting on your shelves. Not lost, just parked, and available to be freed up over the next few ordering cycles by letting stock sell down before you replenish.
Want the math done for you? Inventory Ally tracks turnover, days on hand, and inventory value automatically from your purchase history and PIMS data, so you always know where you stand against these benchmarks without running the reports by hand. Practices using cadence-based replenishment typically carry 30–40% less inventory and get 2–4 hours per week back from manual counting and list-building. Try the free savings calculator → or Book a demo →
