How to Export a Clean Inventory Report From Your PIMS
A practical, PIMS-agnostic guide to pulling the inventory and sales data you need from AVImark, Cornerstone, ezyVet and others, without spending an afternoon cleaning spreadsheets.
Any inventory analysis is only as good as the data you feed it. The good news: every major practice information management system (PIMS) already holds everything you need. You just have to get it out, and you can do that without API integrations, IT projects, or an afternoon lost to spreadsheet janitorial work.
This is a general, system-agnostic walkthrough. The menus differ between AVImark, Cornerstone, ezyVet, and the rest, but the reports you're after are the same everywhere.
What you actually need
For solid reorder-point and valuation math, you only need a few columns. Don't overthink it:
- Item name: exactly as it appears in your system.
- Quantity on hand: current units in stock.
- Unit cost: what you pay your distributor (your COGS), not the client price.
- Units sold over 12 months: ideally month by month, so the math can see seasonality and variability.
That's the whole shopping list. Item, on-hand, cost, and a year of sales. Everything else is optional.
Two optional columns worth grabbing
If your report offers them, leave these two in. They cost you nothing at export time and they unlock the bundled-item and missed-charge analysis inside StockSolve:
- Unit price: the client-facing sell price. Column names vary, but anything reading Price, Retail, Sell or Charge will do.
- Sales revenue: what the item actually booked over the period, sometimes called Revenue, Extended, Sales or Amount.
You don't have to map these anywhere. If they're in the file, the engine finds them on its own.
Why they matter: with price and units sold, the software knows what an item should have earned. Comparing that against the revenue actually booked to it exposes the items where the money went somewhere else. A vaccine bundled into a wellness plan books far less revenue on its own line than its price suggests, and so does a product that simply never made it onto the invoice. One of those is fine and the other is a missed charge, and you cannot tell them apart without the revenue column.
Skip them if your report doesn't have them
These are genuinely optional. Reorder points, order quantities and inventory valuation all work without them. You just don't get the bundled-versus-missed-charge picture until you can supply them, and you can always add them on a later export.
Why a full 12 months?
A single month is a snapshot; a year is the story. Twelve months of sales lets the math separate steady movers from seasonal spikes and lumpy, burst-selling items, which is the difference between a reorder point you can trust and one that's quietly wrong half the year.
The general game plan
Whatever system you're on, the path is the same three moves:
- Find the inventory and sales reports. Look for a top-level Reports, Inventory, or Management Reports area. You're after two things: a current on-hand/valuation report, and a product sales (or "items sold" / "revenue by item") report.
- Set the date range to a full 12 months. For the sales report, pull a trailing year. If your system lets you break it out by month, take that option. More granularity helps.
- Export to CSV or Excel. Almost every PIMS has an Export, Save As, or spreadsheet icon on its report screens. CSV is ideal; Excel is fine too.
Where to look, by system
A few general pointers for the most common systems (menu names vary by version):
- AVImark: inventory and sales information lives under the reporting tools. Look for inventory valuation and a product/sales report you can run for a date range and export.
- Cornerstone: the report library includes inventory and sales-by-item reports. Most can be run to screen and then exported to a spreadsheet format.
- ezyVet: its reporting/business-intelligence area lets you build product sales and stock reports and download them directly as CSV/Excel.
- Others (Provet, Shepherd, Hippo, DaySmart, and more): the labels change, but every one of them has an inventory list and a product-sales report that exports. When in doubt, your software's support docs will name the exact report.
When in doubt, ask for two reports by name
If you're calling your PIMS support line, you don't need anything custom. Just ask for: (1) a current inventory on-hand / valuation report, and (2) a product sales by item report for the last 12 months, both exportable to CSV. Those two files are all you need.
Don't bother deep-cleaning it
Here's the part that saves you the most time: resist the urge to tidy the export. Raw PIMS reports are famously messy. They come with category headers ("PHARMACY," "RETAIL"), subtotal rows, blank spacers, and the occasional stray summary line. The instinct is to spend an hour deleting all of it before you upload anywhere.
You don't have to. A good parsing engine expects that mess and steps over it automatically. It ignores the header rows, skips the blanks, and finds the real line items on its own. StockSolve was built specifically to read raw, ugly exports, so the cleaner move is to export it and upload it as-is. Let the software do the janitorial work.
Test your export in two minutes
Not sure your file will work? The free StockSolve audit reads raw PIMS exports directly, so upload it untouched and see your results. No cleanup, no credit card.
A few habits that make exports better
You can't always control how your data was entered, but a little hygiene over time pays off:
- Keep item names consistent. "Cerenia Inj 10ml" and "cerenia injectable 10 ml" look like two products to a computer. Consistent naming makes every downstream report cleaner.
- Include discontinued items if you're switching brands. If you've moved from a brand to its generic, keeping the old item in the export lets you carry its sales history forward, so your new product's demand math stays accurate instead of starting from zero.
- Use your real COGS. Make sure the cost column reflects what you actually pay the distributor. If costs are stale in your system, your valuation will be too.
- Pull it on a consistent day. Running your export on roughly the same day each month makes your trends comparable over time.
What you don't need to do
It's worth saying plainly, because it stops a lot of people before they start:
- You don't need an API or a direct integration. A simple CSV export keeps your data in your hands and avoids locking your practice into heavy, permanent connections.
- You don't need to hand-calculate anything. On-hand and cost are enough for the engine to do the reorder-point and valuation math for you.
- You don't need perfect data. Reasonable, recent exports get you the vast majority of the value, and you can refine names and costs over time.
From export to answers
Once you have those two files, the hard part is genuinely over. Your inventory report becomes a trapped-capital analysis; your sales history becomes the demand engine behind every reorder point and order quantity. The data has been sitting in your PIMS the whole time. Getting it out is a five-minute task, and it's the first step toward never panic-ordering again.
Written by
Neil Leinen
CVPM, Multi-Site Director of Operations
Neil Leinen is a Certified Veterinary Practice Manager who spent two decades on the practice floor before building StockSolve. He writes about the practical math behind running a calmer, more profitable inventory.
Keep reading
How to Categorize Your Veterinary Inventory the AAHA Way (and Why Your PIMS Export Is a Mess)
A plain-English guide to organizing your products and services with the free AAHA/VMG Chart of Accounts, the public best-practice standard, so your inventory math (and StockSolve) finally works.
Why StockSolve? Problem by Problem
Every table row here is a real inventory problem and the shipped fix: pack sizes, order quantities that don't overstock you, lumpy demand, messy exports, and the money hiding on your shelf.