SmileDesk
On this page — Inventory

Inventory

The medical store is stock-only, not a billing channel — clinics dispense medicines and consumables as part of treatment, not as a separate sale. SmileDesk tracks batches, expiries and every movement so nothing quietly goes past its date.

What it does

The Inventory screen lists every item you keep — anaesthetic cartridges, composites, gloves, antibiotics, sutures, whatever. Each row shows the item's on-hand quantity (summed across all live batches), the reorder level, and coloured badges for low-stock and expiring/expired batches.

Inventory list with per-item on-hand totals plus low-stock and expiring badges
The inventory list with low-stock and expiring badges.

Setting up your items

  1. Open Inventory → New item.
  2. Name (e.g. "Lidocaine 2% with adrenaline 1:80 000, cartridge").
  3. Unit — Cartridge, Tablet, Piece, Bottle, ml. This is what "on hand" is counted in.
  4. Reorder level — the quantity at which the item gets a low-stock badge (e.g. 20).
  5. Save. On-hand is zero until you record your first stock-in.

Stock-in — recording new stock

Every stock-in creates a batch. A batch is the traceable unit — one row per delivery.

  1. Open the item and click Stock in.
  2. Enter batch number (from the manufacturer's label).
  3. Enter expiry date.
  4. Enter quantity and supplier.
  5. Save. A stock_in movement is logged with your name and today's date.

Always type the batch and expiry from the pack. Guessing here defeats the whole point. If you can't read a label, take a photo with your phone and read from that.

Stock-out — FEFO dispensing

When stock leaves the store — chair-side use, given to a patient with a prescription, discarded — record a stock-out.

  1. Open the item, click Stock out.
  2. Quantity + a short reason ("Given to P0117 with prescription", "Used on chair 2 for RCT").
  3. Save. SmileDesk allocates from batches using FEFO — First Expiry, First Out — so the earliest-expiring batch is drawn down first, spanning multiple batches if needed.
  4. One movement row per batch touched, each signed with your name.

Why FEFO matters

If you dispense from newer batches first, older batches quietly expire on the shelf — and you throw away money. FEFO is not optional in SmileDesk; it is how stock-out works. If you need to force a specific batch (say, one is contaminated and you want it burned), use Adjust batch instead of a stock-out.

Adjustments

Any change that is not a straight in / out is an adjustment. Reasons include:

  • Physical count differs from system count (shrinkage, miscount).
  • A batch is damaged / contaminated and being written off.
  • Return to supplier.

Open the item → the batch row → Adjust. Enter the new quantity and a reason. The delta is logged as a stock_adjust movement with the reason.

Alerts

  • Low stock — on-hand ≤ reorder level. Yellow badge on the list.
  • Expiring — at least one batch expires within 30 days. Orange badge.
  • Expired — at least one batch is past expiry. Red badge — remove and adjust it out.

The Dashboard shows a combined low-stock count so the Owner sees it every morning.

Item history

Click any item to see the full movement history — every in, out and adjust with the actor, timestamp, quantity, batch, and reason. This is your source of truth if a stock number is ever disputed.

Who can do what

  • Staff — can stock-in, stock-out and adjust (they usually run the store).
  • Doctor — read-only. Can see quantities but not change them.
  • Receptionist — no access.
  • Admin / Owner — full access.

Common pitfalls

  • Stocking-in without a batch number — traceability breaks the moment there's a recall. Always fill it.
  • Adjusting instead of a stock-out — a stock-out ties the reduction to a reason ("dispensed"); an adjustment reads as "we miscounted". Use the right one.
  • Reordering everything at once — set realistic reorder levels per item. A 20-cartridge threshold on anaesthetic and a 3-tube threshold on composite are wildly different.
  • Discarding expired stock quietly — always Adjust it to zero with the reason "expired, discarded". The audit needs the trail.

Inventory number not adding up?

Contact support →