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.
I didn't build StockSolve from a feature wishlist. I built it from a running list of things that kept eating my time as a practice manager, collected over years of doing inventory the hard way. Every row in the tables below is one of those problems, next to the fix that now ships in the product. Nothing here is planned or promised. It's all in the app today.
If you're evaluating whether StockSolve fits your practice, this page is the honest tour. Skim the left columns. If the problems sound familiar, the right columns are why the tool exists.
Problem 1: pack sizes, a thousand times over
The math behind good ordering needs to know how many tablets come in the bottle and how many bottles come in the case, for every item you stock. Doing that by hand is the single most tedious part of setting up any inventory system, and it's where most spreadsheet projects quietly die.
| The problem | What StockSolve does |
|---|---|
| Typing the bottle and box size for 1,500+ items by hand takes days, and it has to be redone whenever a supplier changes packaging. | The Auto-Enhance wand fills supplier pack sizes in one click from a curated veterinary pack-size dictionary I maintain myself: hundreds of products with brand aliases and strengths. A review screen shows exactly what it filled and what it couldn't, with undo on every line. |
| Software that can't tell "Carprofen 75 mg tabs" from "Carprofen injectable" fills half the catalog in wrong, which is worse than empty. | The matcher reads the dosage form out of the item name (tablet, oral liquid, injectable, topical, transdermal) and only applies a pack size when the form agrees, so the pill and the injectable of the same drug each get the right answer. |
| Some items are counted by the bottle at one practice and by the tablet at the next, and guessing wrong throws every number off by a factor of 60. | A short list of genuinely ambiguous products (Proin, Thyro-Tabs, Adequan, and friends) triggers a one-tap "counted by pill or by bottle?" question, only for those items, never as a blanket quiz. |
| Three small bottles ship when one large bottle was cheaper per unit, because nobody re-checks pack economics on every order line. | When an order divides evenly into the large pack, StockSolve consolidates it. Same units, fewer boxes, better price per unit. |
Problem 2: order quantities that don't quietly overstock you
A textbook EOQ formula happily tells you to buy 120 units when the bottle holds 100, or to park five months of product on your shelf because the arithmetic said so. Rounding up overstocks you. Rounding down invites a stockout. This is the problem I most wanted solved for myself.
| The problem | What StockSolve does |
|---|---|
| The ideal order quantity is 120 but the bottle holds 100. Round up and you bought 80 units you didn't need. Round down and you're short. | Smart Shifting rounds the order DOWN to whole packs and moves the leftover units into the reorder point instead. You order clean whole packs, the safety cushion stays intact, and no extra cash gets tied up in an oversized order. |
| Pure cost math produces tiny constant orders on busy items, so you'd reorder the same product weekly. | The 30-Day Floor steps active items up in whole-pack increments until the shelf covers at least a month of demand. |
| The same formulas tell you to park four or five months of a slow item on the shelf. | A days-of-supply ceiling caps the on-hand target at roughly 90 days, stretching only for cheap bulk items where the price break genuinely pays for the shelf space. |
| An item that sells twice a year keeps getting refilled forever because it still has a reorder point. | Extreme slow movers get their reorder point forced to zero and their order capped at one pack: one emergency unit on the shelf, no standing refill. |
| You set a deliberate minimum on a med you know cold, and the next analysis overwrites it. | Pinned values survive every recalculation. No automatic rule may touch a number you locked, and if your pin drifts far from current demand, you get a note instead of a silent change. |
| Flea and tick season arrives on the calendar, not on your 12-month average. | With a full year of history, a seasonality check compares the next two months against the item's own average and flags the peak before it hits. Advisory only. It nudges, it never rewrites your numbers behind your back. |
Problem 3: how much of a lumpy item do you keep on the shelf?
Chronic meds don't sell smoothly. Levothyroxine sells nothing for two months, then one patient picks up 120 tablets in an afternoon. A yearly average smooths that into a number precisely wrong for everyone: too much shelf stock for the average week, not enough for the one fill that actually happens.
Before StockSolve, answering "so what's the right minimum?" meant pulling the item's transaction history and playing detective, per item, for every chronic med in the building.
| The problem | What StockSolve does |
|---|---|
| Averages lie about burst sellers, and the formula's answer will fail the one patient who matters. | High-variance items get flagged as Lumpy Demand automatically and routed to a decision step instead of a silent formula. |
| Working out one real fill means digging through a year of transactions by hand. | The item's last 12 months of dispenses appear as a small chart right next to the input, with a suggested minimum read from the largest real fill, expressed in the item's own dispensing pattern (5s, 14s, 30s), backed by a clinical-defaults database for thin data. One click accepts it. |
| Next quarter you're on the fence about the same item all over again, and can't remember what you decided. | The chip you chose last run comes back first in line, labeled "Last time," so you can re-affirm it in one click or take the new suggestion when demand has genuinely shifted. StockSolve tells you which case you're in. |
Problem 4: your PIMS export is a mess, and that's fine
Every practice management system exports a slightly different disaster: headers buried under report titles, total rows mixed into the data, costs in the wrong column, twelve separate monthly files. Most tools make that your problem. I made it mine.
| The problem | What StockSolve does |
|---|---|
| The real header row is buried under titles and page furniture, and column names differ by PIMS. | Upload the report as-is. StockSolve scans for the real header row and fuzzy-matches the columns, whatever your system calls them. Step-by-step export guides cover 14 common systems. |
| You mapped "Unit Cost" onto the item-name column and nothing complained until the results were garbage. | A column guard samples the actual data under each choice, warns while you work, and blocks the run with a suggested correction when two columns are clearly swapped. |
| Being told to gather 12 monthly reports before seeing anything is the biggest reason to quit on day one. | Start with as few as 3 months. The math annualizes a short window honestly, tells you its confidence level, and sharpens as you add history. |
| The first scan flags 400 messy items and it reads like a verdict. | The Data Health Score weighs flags by dollars, so a missing cost on a $9,000-a-year item counts and a $12 curiosity doesn't. Fix the few that matter and the score says so immediately. |
| Sorting a 2,000-line catalog into real inventory categories is an afternoon nobody has. | The free Setup Assistant sorts your whole catalog against the AAHA/VMG Chart of Accounts in minutes, and a new-item prompt keeps it sorted as your catalog grows. Not affiliated with AAHA or VMG; their published standard is simply the right map. |
| The same drug lives under two spellings and its sales history is split between them. | A near-duplicate finder surfaces the pairs for one-click merging, and brand switches (Rimadyl to Carprofen) merge their histories so the new item inherits the old one's demand. |
Problem 5: the cleanup shouldn't start over every month
The quiet killer of every inventory project is month two. You spent an afternoon fixing costs, pack sizes, and minimums, and then the next analysis forgot all of it.
| The problem | What StockSolve does |
|---|---|
| Every correction you make gets forgotten by the next run. | The Rules Bank saves every deliberate decision (ignores, custom costs, pack overrides, pinned minimums, notes) and re-applies them automatically. The first analysis is the longest one you will ever do. |
| Re-uploading twelve sales files every month is a chore that kills the habit. | Opt in once and last run's finalized sales window is cached on your own device. Next month you roll one new file forward instead of re-exporting twelve. |
| You ignored a dead item, it started selling again, and the system obediently kept it invisible. | Ignored items that show fresh sales get resurfaced with a "selling again" flag so yesterday's cleanup can't hide today's demand. |
| The numbers live in a grid, but ordering decisions happen standing at the shelf. | Printable shelf tags carry the two numbers a physical reorder system runs on, the reorder point and the order quantity, straight from the engine to your bin labels. |
Problem 6: the money you can't see
Everything above is about ordering well. The other half of the product is about seeing what the shelf is doing to your finances, which no PIMS report will tell you.
| The problem | What StockSolve does |
|---|---|
| Thousands of dollars sit frozen in overstock and dead items, and no report says which items or how much. | Trapped Excess Capital prices out everything on hand beyond each item's optimal ceiling, item by item, and totals it as one headline number. Zero-sales stock sorts to the top so you clear the worst first. |
| A tech dispenses the med, the front desk never rings it up, and the revenue vanishes. | The Missed-Charge Audit compares expected revenue against captured revenue per item and lists the leaks biggest-first, with honest exclusions for bundled and per-dose items so the list is signal, not noise. |
| Suppliers raise prices a few dollars at a time and nobody notices until margin is gone. | Every order line is checked against your target cost. Anything more than 10% higher gets flagged, filtered, and ranked by dollar impact. |
| Wellness-plan vaccines ring up at $0 and make your cost percentage look terrible even when billing is fine. | Bundled items are excluded from the COGS math with a picker that suggests likely candidates, and an optional refinement counts only the truly given-away share. |
| Is $38,000 on the shelf healthy for a practice this size? Who knows. | Gauges score your inventory against published benchmarks: the 18 to 22% efficiency band and the ~42% COGS margin, with the gap priced in dollars and one suggested next step. |
See your own numbers in about ten minutes
The free Lite Audit runs the same engine on your real exports, right in your browser, no account needed.
One more thing, because you should ask
Your revenue, your costs, and your stock counts describe your practice's wealth. StockSolve is built so that data stays in your browser. It is not uploaded, not synced, and not sitting on my server. What syncs to the cloud is operational settings only: reorder points, pack sizes, your saved corrections. That boundary is enforced in the code, not promised in the copy, and it's why a practice manager can try this without a data-sharing conversation with the owner.
Where to start
You don't have to believe any of this. Test it:
- The free Lite Audit runs on your real data with no account.
- The free Setup Assistant sorts your catalog with no account.
- The PIMS export guides get the reports out of your system, click by click.
- The beginner's guide explains every formula the engine uses, so you can check the math yourself.
I built this because I needed it. If you manage a shelf, you probably do too.
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
The Data-Driven Approach Works. It's Also a Full Day of Your Life.
Data-driven ordering beats gut feel every time. The catch is the workload: spreadsheet math, pack-size hunting, detective work on lumpy items. Here's the fix.
New to Veterinary Inventory Management? Start Here
The numbers that run a veterinary inventory, explained from scratch: average daily use, lead time, safety stock, reorder point and order quantity, plus the three habits to start this week.