Multi-site
Run stock across every location without losing the trail
1 July 2026 · 5 min read

When you run more than one clinic, stock has a way of disappearing into the gaps between sites. A box of filler leaves one location, arrives at another, and somewhere in that handover the paper trail goes cold. Multiply that by a busy week and you are guessing at what you actually hold. OpenVials closes those gaps by giving every location its own stock view and a single, connected trail that follows product wherever it moves.
It starts the moment goods arrive. In Reception you log an incoming delivery line by line, and OpenVials auto-creates the inventory batches behind the scenes. No manual batch entry, no forgetting to record a lot. Because Reception is authorized by owner or admin roles, deliveries are only ever booked in by someone accountable for them.
From purchase order to shelf
Ordering and receiving are two halves of the same story, so OpenVials keeps them tied together. An Order is a purchase order that moves through clear statuses: pending, partial, completed or cancelled. When only part of a shipment lands, you mark it partial rather than pretending it is done, so you always know what is still outstanding from each supplier.
When the delivery physically arrives, Reception logs it against the order and creates the batches. That means the product on your shelf traces straight back to the purchase order it came from, without anyone re-keying numbers between two systems.
Moving stock between locations
Most losses happen during transfers, so this is where the trail has to be tightest. A Transfer moves batches from an origin location to a destination, carrying the lot and expiry with them, and it passes through a controlled sequence rather than a single vague action.
- Requested: the receiving site asks for the stock it needs.
- Approved: an authorized user at the origin signs off on the move.
- Shipped: the batches leave the origin and are in transit.
- Received: the destination confirms arrival and the stock lands in its view.
- Cancel: any transfer can be stopped if plans change, leaving a clear record of why it never completed.
Because the lot and expiry travel with the batch, a vial that leaves one clinic is the same tracked vial that arrives at the next. Nothing is retyped, and nothing quietly becomes a new, untraceable line of stock.
Every location keeps its own stock view, so a manager sees exactly what sits on their own shelves rather than a blurred group total. Set min and max levels per location and low-stock alerts fire when a site drops toward its minimum, so you reorder or transfer before a treatment day is put at risk.
One clean trail, protected by roles
Behind all of this, Reporting keeps an immutable movement trail. Every transfer_in, transfer_out and related event is recorded and cannot be quietly edited away, so an outbound shipment from one site always matches the inbound record at the other.
Roles keep that trail honest. Owner, admin and member each carry defined permissions, so goods-in and approvals sit with the people accountable for them while your wider team still works day to day. The result is not more admin. It is one connected picture across every location, where you can follow any vial from delivery to treatment and always know where it went.
