Stock control and expiry for small clinics: a system that takes 20 minutes a week
Minimum levels, batches and expiry dates, monthly counts and purchase orders, explained for clinics without a dedicated stock manager.
On this page6 sections
In a small clinic, stock is usually managed by whoever notices the shelf is empty. That works until the day a vaccine runs out with three puppies booked, or a box of expensive medication is found a month past its expiry date at the back of the fridge.
You do not need a full-time stock manager to avoid this. You need a few numbers set once, a habit of recording what comes in and goes out, and twenty minutes a week to look at what the system is telling you.
Where the money leaks
Stock losses in small clinics tend to come from the same few places:
- Expiry. Items bought in bulk for a discount and then not used in time.
- Unbilled use. A dispensed item that never made it onto the invoice.
- Emergency purchases. Buying from the nearest supplier at a higher price because you ran out.
- Over-ordering. Ordering “to be safe” because nobody is sure how much is on the shelf.
Every one of these is a visibility problem. Once you can see stock levels and expiry dates, most of them fix themselves.
Set minimum levels
A minimum level is the point at which you reorder. A simple way to set one: how many do you use in the time it takes a delivery to arrive, plus a little extra for a busy week? If you use about ten vials of a vaccine a week and your supplier delivers in three days, a minimum of around six or seven is reasonable.
In Vetlyn, each product has a Minimum stock field. When stock falls to that level, the product is flagged as low stock in Inventory and appears in the Low stock card on the dashboard. You do not need to get the numbers perfect on day one. Start with a guess, and adjust after a month when you can see actual usage.
Not everything needs counting. Cotton wool and cleaning supplies may not be worth tracking item by item. Switch off Track stock on those products and they can still be sold, just not counted.
Batches and expiry
Expiry is managed by batch, because two boxes of the same product can expire months apart. When a delivery arrives, record the batch or lot number, the expiry date and the quantity. In Vetlyn, each product has a Batches tab for this. Expired batches are flagged red and those expiring within 30 days amber, and the inventory list has an Expiring ≤ 30 days filter.
Two habits make expiry tracking pay off:
- First expiry, first out. Put the batch that expires soonest at the front of the shelf or fridge. When a new delivery arrives, it goes behind.
- Act on the amber list. Items expiring within a month can often be used first, moved to a branch that uses more, or returned to the supplier if your agreement allows it.
Batch numbers matter for more than expiry. If a manufacturer ever recalls a batch, you want to know whether you have it. The same applies to vaccines given to patients: Vetlyn's vaccination record has a batch number field for exactly this reason.
Let sales do the counting
The most reliable stock system is one where nobody has to remember to update it. When a product is billed, whether at the counter through Quick bill, on an invoice, or on the invoice created from a visit's prescriptions, Vetlyn takes it out of stock automatically and records the movement. If an invoice is voided, the products go back into stock.
This only works if everything that leaves the shelf is billed or recorded. For items used during a procedure, add them to the invoice even if they are included in a package price, or record them as an adjustment. Otherwise the shelf and the system will drift apart.
While billing, staff can see how many are in stock beside each product, with a warning if they are about to sell more than the system thinks you have. That warning is often the first sign that a delivery was not recorded.
Receiving deliveries
Purchase orders sound like big-company paperwork, but even a small clinic benefits from a simple version. In Vetlyn you create a purchase order for a vendor with the products, quantities and unit costs, mark it as ordered when you send it, and press Mark as received when the delivery arrives. Receiving adds the quantities to stock and logs the movement, so you never type the same delivery twice.
A useful shortcut: open a low-stock product and press Reorder to start a purchase order with that product already on it.
The monthly count
Even with everything recorded, a physical count once a month catches breakages, mistakes and unbilled use. Keep it small: you do not need to count every item every month. Count the expensive items, the controlled items and the fast movers. Rotate the rest.
When the count differs from the system, use Adjust stock on the product and choose a reason: stock count, return, expired or damaged. Each adjustment is logged with who made it, so you can see patterns over time. If the same product is always short, that is worth a conversation.
The 20-minute weekly routine
- Open Inventory, filter to Low stock, and raise purchase orders for what you need.
- Filter to Expiring ≤ 30 days and move those items to the front.
- Receive any deliveries that arrived but were not marked as received.
- Glance at Reports: the Stock tab shows stock value and anything expiring in the next 60 days, and Sales shows your top products.
That is it. Small, regular attention beats an annual stock-take panic every time.