Here’s a scenario that probably sounds familiar: your practice had a great year. Appointments are full, the team is running hard, revenue is up. And yet somehow, when you look at what’s actually left at the end of the month, the numbers feel underwhelming. Where did it all go?
A big chunk of the answer usually lives in four letters: COGS.
Cost of Goods Sold is one of the biggest profitability levers in any veterinary practice, and also one of the most misunderstood. It gets thrown around like everyone already knows what it means, which leaves a lot of inventory managers quietly Googling it between phone calls.
So let’s clear it up. In this guide, we’ll walk through what COGS actually is, how to calculate it, what’s considered “normal” for different types of practices, why it creeps up in the first place, and what you can do about it.
What Is COGS, Really?
At its simplest, COGS is the cost of the products and outside services you use to deliver care. Think drugs, vaccines, food, surgical consumables, lab supplies, dental materials — plus the things that never touch your shelves at all, like outside lab work and cremation services.
It does not include rent, payroll, equipment, or your software subscriptions. Those are operating expenses, and they live on a different line of the financials.
You’ll also hear COGS broken into pieces: pharmacy COGS, lab COGS, food COGS. That’s the same calculation applied to one category instead of the whole practice. Tracking it that way is useful, because each category behaves differently and carries its own benchmark, and it shows you where an overall number is actually coming from. The AAHA Chart of Accounts is the standard structure for those categories, and it’s what most consultants, accountants, and practice buyers will expect to see.
Here’s where it gets a little nuanced for vet med specifically. The value of your inventory sitting on the shelf shows up on your balance sheet as an asset (sometimes called “inventory carry” or “inventory on hand”). COGS, on the other hand, lives on your profit and loss statement as an expense. They’re related — one becomes the other as products get used — but they’re not the same thing.
And because veterinary medicine is mostly a service business, it’s almost impossible to perfectly attach the cost of every individual product to the moment it’s sold. A bottle of injectable might serve fifteen patients across two weeks. So most practices simplify things by recognizing COGS as their total inventory spend plus outside service costs for the month. Not perfect, but practical and accurate enough to make smart decisions.
How to Calculate Your COGS
When people say “our COGS is 22%,” they’re talking about COGS as a percentage of revenue, not a dollar amount. The percentage is what actually tells you something useful, because it puts your inventory spend in context with what you’re bringing in.
Example
The formula is simple:
(Cost of Goods Sold ÷ Revenue) × 100 = COGS %
Let’s run a real example:
Say a practice pulls $3,078,095 in total revenue for the year and spent $635,646 in cost of goods sold in that same period.
$635,646 ÷ $3,078,095 = 0.207
0.207 × 100 = 20.7%
That practice has a COGS of 20.7% — which, as you’ll see in a minute, is right in the healthy range for a small animal general practice.
How often should you calculate this? Monthly is ideal. You’ll want to watch trends across the year (some months are naturally heavier on inventory spend) and compare year over year for the past three to five years. A single month’s number rarely tells the whole story, but a trend almost always does.
What’s a “Normal” COGS Range?
Quick Reference
Here are the general benchmarks the industry tends to use:
- Small animal general practice: 18–22%
- ER and specialty: 5–15%
- Large or mixed animal: 22–24%+
But your practice is unique, and these benchmarks are starting points, not verdicts.
Side-by-Side Example
Here’s why. Imagine two hospitals, both pulling $1.75M in annual revenue.
Hospital A is a mixed animal practice. They generate $1.5M from product sales (think large-animal pharmaceuticals, food, supplies) and $250,000 from services. Their COGS lands around 42.9%.
Hospital B is a specialty hospital. They generate $250,000 from products and $1.5M from services like surgery, imaging, and consultations. Their COGS comes in around 7.1%.
Same revenue. Wildly different COGS. Both are perfectly healthy practices.
The lesson: your sales mix (the split between products and services) drives your COGS more than almost anything else. Before you panic or celebrate based on a benchmark, look at what kind of practice you actually run. If it helps to model it out, our savings calculator lets you plug in your practice type and your own numbers.
Why COGS Matters to Your Practice
It’s tempting to treat COGS as an abstract finance metric, but the real-world stakes are pretty concrete.
Example
Let’s say a $2M practice has a COGS of 25%. That’s $500,000 a year going to cost of goods. Bring that to 22%, which is the top end of the healthy range for a small animal general practice, and the same practice spends $440,000 instead.
That’s $60,000. Every year.
What does $60,000 buy? Staff raises that keep up with the cost of living. A part-time team member to take pressure off the schedule. A piece of equipment you’ve been deferring. A bigger owner distribution. Higher EBITDA and subsequently, higher business value.
Beyond the cash freed up, your COGS percentage also affects your cash flow (money tied up on shelves can’t be invested elsewhere), your practice valuation (buyers scrutinize this number closely), and your ability to weather slower months without stress.
In other words: this isn’t just a number for the accountant. It’s the difference between a practice that feels like it’s barely making it and one that actually has room to grow.
The Most Common Reasons COGS Creeps Up
In our experience, three culprits show up over and over again.
Formulary redundancy. This is the polite way of saying “you’re stocking five different flea and tick products when you really only need two.” Carrying multiple SKUs that do the same job ties up cash, takes up shelf space, and dramatically increases your risk of expired products and shrink. Flea, tick, and heartworm preventatives are the usual offenders, but redundancy creeps into pretty much every category if no one’s paying attention — pain meds, antibiotics, food or even syringes, gauze and suture.
Overstock. As a general rule of thumb, anything sitting on your shelf for more than about 45 days is worth a second look. There are real exceptions: emergency drugs, antidotes, items for chronic patients, and seasonal stock all have legitimate reasons to hang around longer. But for your everyday fast-movers, 45 days is usually the line where “well-stocked” tips into “tying up cash unnecessarily.” Overstock tends to show up when ordering decisions are made by shaking a bottle to see how full it is, or buying in bulk to chase a discount that doesn’t actually pencil out once you factor in the cash tied up and waste. Products without a clear “home” in the storage room are another red flag — if no one knows where it lives, no one knows how much there is.
Outdated pricing. This one is sneaky. If your purchase orders aren’t being received properly, your software never sees the cost increases from your distributors, which means your prices stay frozen while your costs quietly climb. In some cases items might be priced below what the practice paid for them — that’s losing money on every sale.
There are some smaller (but still meaningful) culprits worth checking too:
- missed charges
- incorrect billing or unauthorized discounts
- theft or waste
- ordering without a strategic plan.
Example
A quick word on missed charges:
Imagine a $90 product you sell with a 35% markup, so $121.50 retail. Across a year, you sell 384 of them — total cost $34,560, total revenue $46,656. Healthy. But if your team forgets to charge for just two of these per week, your annual revenue drops to $34,020 — which is less than what you paid for the product. Two missed charges a week. That’s how thin the margin gets.
How to Bring Your COGS Down
Here’s the thing about reducing COGS: the goal is to spend smarter, not spend less. If you just slash your inventory budget, you’ll run out of the things you actually need to care for patients, and that’s a much bigger problem than a slightly elevated COGS percentage.
Optimization, not restriction. Three places to focus:
Tighten your formulary. Sit down with your medical team and ask the honest question: do we actually need all of these? Pick the products you trust, that your doctors prescribe consistently, and that fit your patient demographics. Cut the rest. Your shelves, your cash flow, and your soon-to-be-unexpired inventory will all thank you.
Improve your turnover. Order more frequently in smaller batches rather than once a quarter in giant loads. Set reorder points based on actual usage data, not vibes. Pay especially close attention to your high-value, high-volume items: they’re where the biggest savings (and the biggest shrink risks) live.
Get your pricing right. Build a consistent markup strategy and document it. Make sure every purchase order is being received in your software so cost increases automatically flow through to your prices. Don’t forget your prescription, dispensing, and injection fees — these are easy to overlook, but they cover the real labor cost of getting a medication safely into a client’s hands.
COGS rarely improves in isolation. It moves alongside your inventory turnover and your inventory carry. If your COGS is high, your turnover is probably low and your shelves are probably overstuffed. Fix the system, not the symptom.
Where Inventory Software Fits In
Every lever we just talked about (accurate counts, dynamic reorder points, current pricing, expiration tracking, capturing every charge) depends on having data you can actually trust. Spreadsheets and gut feel can get you part of the way there, but they tend to break down right around the moment your practice starts growing.
This is where Inventory Ally comes in. Automated cycle counts so your numbers stay accurate without anyone spending a Saturday counting bottles. Dynamic order point management that adjusts to your actual usage. Custom shopping lists, PIMS integration, and visibility that turns “I think we’re running low” into “we have 12 days of stock left at current usage.”
The point isn’t more software for software’s sake. It’s making the work of optimizing your COGS something your team can actually sustain, week after week, without burning out.
Where to Start
Here’s a simple plan for the next 30 days:
Pull your P&L and calculate your COGS percentage for last year and the past few months. Compare it to the benchmarks for your practice type, but factor in your sales mix before drawing any conclusions. Then pick one of the three culprits — formulary, overstock, or pricing — and tackle it first. Don’t try to fix everything at once; that’s how inventory projects die in the drawer.
The practices that get this right aren’t the ones with the most sophisticated systems — they’re the ones that look at the numbers regularly and make small, steady improvements over time.
Your shelves are worth the attention. So is what’s left at the end of the month.
Want help getting your COGS under control? Schedule a demo of Inventory Ally to see how the right tools can take the guesswork out of inventory management.
