Skip to main content
Inventory is the ledger for everything physical your practice holds: “Stock, lots, and expiry across your rooms and devices.”

What you’re looking at

The toolbar carries Receive, Dispense, Transfer, Reports, Import, Opening stock, Export and Add item. The tabs split the module by question: Three more appear only when your own stock calls for them, not because of your plan: Validation for reagent lots, Vaccines once you hold a vaccine-type item, and Ward MAR if you run wards. A banner sits above the tabs when something needs attention: “{n} open inventory alerts — see the Alerts tab.” A brand-new module shows empty states, not an error: “No items yet. Add your first product (e.g. Botox 100U vial).”, “No stock on hand. Receive a lot to get started.” and “No open alerts. You’re all stocked up.” On the Free plan a strip across the top counts you against each limit — 20 items, 5 locations, 2 vendors, 5 purchase orders — as badges like “12/20 items”, with Upgrade for unlimited beside them.

Add a catalogue item

An item is the thing; stock is the quantity of it: “A catalog entry — e.g. ‘Botox 100U vial’. Stock is tracked per lot.”
1

Open Add item and name it

Name is required — write it the way your team says it out loud, not as a supplier’s code. Barcode / UPC (optional) lets a scanner find it later, and Look up drug (NDC or name) pre-fills a medication.
2

Classify it

Set the Type — Injectable, Skincare / Cosmetic, Medication, Vaccine, Consumable, Supply, Device, Reagent or Kit — the Unit you count it in (required), and a Category (optional). The unit is the one decision that hurts to change later: vials and millilitres are not the same thing.
3

Seed the shelf if you already hold some

Opening stock (optional) with Into location puts what is already there into the ledger — “Received at the cost price above.” SKU (optional) is your own reference.
4

Set the reorder rules

Low-stock threshold — “Alerts at/below this on-hand.” — is what makes the Alerts tab useful. Reorder qty, Unit cost and Sale price feed purchasing, valuation and the store.
5

Set the handling switches

Refrigerated, Track by lot / expiry for anything with a shelf life, and Witness required (controlled) for anything a second person must countersign.

Receive stock

1

Open Receive

The Receive stock sheet — “Add a delivered lot to a location.” Choose the Item and the Location, and enter the Quantity, labelled with the item’s own unit.
2

Name the funding source

Funding source records who paid — Private stock, VFC (Vaccines for Children), Section 317 or State-supplied. It is what makes the Vouchers tab meaningful.
3

Enter the lot and expiry

Lot number and Expiry identify the batch. Scan package (GS1) reads both off the supplier’s barcode instead — “Auto-fills item, lot & expiry from the package barcode.”
4

Save

On-hand rises on the Stock tab and a receipt line appears in the Ledger.
Stock leaves the same way it arrives: Dispense draws it for a client, Transfer moves it between locations, and both say how they pick — “(earliest-expiring lot first)”.
Picking is always earliest-expiry-first, and a lot with no expiry date has nothing to sort on — so it is invisible to the picking order and to every expiry alert, and sits on the shelf until somebody finds it by hand. Turn on Require expiry date on new lots in Inventory settings.
For lots and expiry in depth see Batches and expiry; for supplier ordering see Purchase orders.

Who can do this

A solo or team practice has 21 staff permissions, and none of them is about stock. Inventory is governed by role and by what your practice has switched on — not by a per-person toggle.
  • Enforcement is opt-in, per person. A staff member never saved in the permissions sheet is unrestricted, and the sheet warns “Saving starts enforcing”.
  • A denied action is recorded; an allowed one is not. Turning the Inventory care area off only hides the link: “It does not delete anything, and existing records stay reachable by direct link.” Hiding a module is a convenience, not a security boundary.
Cost figures you may not see render as a dash, never a zero — a zero would read as worthless stock. See Staff permissions.

Check it worked

  • The item is on the Catalog tab and can be found by name or barcode.
  • After receiving, the Stock tab shows the quantity in the right location, with its lot and expiry.
  • The Ledger has one line per movement, and the Alerts ({n}) count reacts when you set a threshold above current stock.

Common issues

“Your Free plan includes up to 20 items. Upgrade to a paid plan for unlimited inventory.” The same caps apply to locations, vendors and purchase orders — see Change your plan.
Its lot has no expiry date, so nothing can compare it to a horizon. Correct the lot, then turn on Require expiry date on new lots in Inventory settings so it cannot recur.
Run a count on the Counts tab; the adjustment it posts is recorded in the Ledger with a reason. See Stock counts.
Either there is no stock in the location you chose, or the item is Witness required (controlled) and needs a second person to countersign.
The Inventory care area has been switched off — “Turning an area off hides it from menus for everyone in this clinic.” Nothing was deleted. See Care areas.

FAQ

Yes — Import takes a file of catalogue items, and Opening stock seeds what is already on the shelf. See Import and export.
Yes. Stock and cost are read from here and are not editable in the store — see Run an online store.
Any place stock physically sits — a consulting room, a cabinet, a fridge. Locations are what make Transfer and a per-room count meaningful.
No. Turn Track by lot / expiry off for things with no shelf life, such as instruments.
The Inventory report — valuation, turnover and expiry risk. See Reports and analytics.