What FEFO does
When something is sold or dispensed, ClinikEHR picks the lot with the earliest expiry date first. A lot with no expiry date recorded is picked by its age — the date it was received — so old undated stock sells before newer dated deliveries rather than sitting on the shelf. When stock for one item sits in more than one location, the draw prefers the location holding the soonest-expiring stock. The till and the dispensing sheet both show which lot was used, so the person at the counter can check it against the pack in their hand. This applies to every draw the same way: POS sales — including sales made offline, which follow the same rules when they sync — prescription dispensing, lab, radiology and service consumption, transfers and reservations. Leaving that setting off is a decision to accept undated lots. If you must receive one — a repack with no printed date, say — record the date you were given by the supplier rather than leaving the field empty. Scanning the pack avoids the problem entirely: Scan package (GS1) on the Receive sheet reads the lot number and expiry off the DataMatrix, so neither is typed and neither is skipped.What you’re looking at
The tab reads Alerts on its own when nothing is open, and Alerts ({n}) when something is — so the count is the first thing you check, before you open anything. A line above the tab strip repeats it: “{n} open inventory alerts — see the Alerts tab.” A pharmacy with nothing outstanding sees the table’s empty state, “No open alerts. You’re all stocked up.” Above the table sit four panels.Expiry risk
Expiry risk is a projection, not a calendar. It reads your last 90 days of sales per lot and works out which lots will not sell through before they expire — headed with the money at risk, “projected to expire unsold”, and a badge for how many lots are involved. Each row is tagged Dead stock (“No sales in 90 days”) or Won’t sell through, with a suggested action: Return to supplier or transfer, Discount to clear, or Transfer or return. Acknowledged alerts stay quiet for 30 days. Alerts close themselves. An alert is open only while the thing it warns about is still true. Receive or adjust stock above the level, change or remove the item’s Low-stock threshold, correct a lot’s expiry date, use a lot up, dispose of it, or archive the item, and its alert leaves the Alerts tab on its own — no refresh, and the tab count drops with it. If the item is still short, a low-stock alert becomes an out-of-stock one (or the reverse) instead of disappearing. The expiry-risk projection is recalculated overnight, so those rows clear the next morning. The projection itself needs the Professional plan — without it the panel shows a dashed card reading “Available on Professional and above”. The branch recommendations behind Check branches, which find the branch still selling the item, need Business. See Change your plan. When there is nothing to worry about the panel says so outright: “No stock at risk — every dated lot is on track to sell through before it expires.”Expiry alert horizons
Up to four day-values — 90, 60 and 30 is the usual set — each of which raises an alert when a lot crosses it. Add a horizon, then Save horizons. The field takes a whole number of days between 1 and 365, and refuses a fifth horizon.Dispense enforcement and ledger reconciliation
Dispense enforcement controls how strictly the till and the dispensing form are held to the lot they were given. Ledger reconciliation compares recorded movements against on-hand quantities so a drift is found by the system rather than by a count.The alert table
Everything raised sits in one table: expiring within a horizon, low stock, temperature breach, count variance, controlled-drug count due and recalls. Each row takes Acknowledge, which is a record that a person saw it — not a fix.The reorder strip, and what it deliberately leaves out
Above the table, a strip counts the items at/below threshold and offers Draft PO from these. When some of those items are also flagged as at risk of expiring, the button says so — it skips them, and it tells you how many it skipped. That exclusion is the point. An item is at or below its threshold and projected to expire unsold when it is not selling, and ordering more of something that is not selling only enlarges the write-off. Order those by hand if you have a reason to; otherwise deal with the stock you already hold. See Purchase orders and suppliers.Recalls
A recall quarantines the affected lots and surfaces everyone who received stock from them, so you can contact them. Opening one takes a Recall # (FDA), a Severity, the Item, an optional Vendor (optional), a Description (“Reason for recall”) and the Affected lots you tick. You must select at least one lot — “Select at least one affected lot” — and the confirmation tells you how many people were affected. The recall stays open until you close it. Closing it releases the quarantine, so close it only when the stock has actually been dealt with.Reconciliation and the POS shortfall
If Selling without stock is enabled, the till will complete a sale for something the system does not think you hold. That is intentional — it keeps a queue moving — but it leaves a shortfall, and this tab is where shortfalls are cleared. The POS oversells panel lists each one as Open, Settled or Written off. Switch on Show resolved to see the ones already cleared, and use the page controls underneath when there are more than fit on one page.- Settle from stock draws the shortfall against stock you have since received. It asks you to confirm first, because it records a stock movement. It reports how many units it settled, or tells you plainly when it could not: “No stock available to settle against — receive stock first, or write the shortfall off.”
- Write off records that the units will never be made whole. It takes an optional note of up to 500 characters, and it is the honest ending when the stock was never there. A shortfall can be written off once; if someone else settled or wrote it off first, you are told and the list refreshes.
- If the list cannot load, the panel says so and offers Try again. It never shows an empty list for a failed load.
Who can do this
Role decides whether Inventory opens; a Cashier / Till Operator never reaches it. Permission decides what you may do with what you find here.- Enforcement is opt-in, per person. Somebody 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. Acknowledging an alert is a record that a person saw it, not a record that anything was fixed.
Check it worked
- A newly received lot appears on the Stock tab with its expiry date filled in, not blank.
- Once a lot crosses a horizon, it is listed on Alerts and the tab count rises.
- After you receive stock above the threshold or correct a lot’s expiry date, the alert is gone from Alerts without you acknowledging it.
- After settling a shortfall, its row on Reconciliation moves from Open to Settled.
- After closing a recall, the quarantined lots are sellable again.
Common issues
The till used a lot that expires later than one on the shelf
The till used a lot that expires later than one on the shelf
An expiring lot never raised an alert
An expiring lot never raised an alert
The expiry risk panel shows an upgrade card
The expiry risk panel shows an upgrade card
'Enter a whole number of days between 1 and 365.'
'Enter a whole number of days between 1 and 365.'
'Up to 4 horizons.'
'Up to 4 horizons.'
'Select at least one affected lot'
'Select at least one affected lot'
'No stock available to settle against — receive stock first, or write the shortfall off.'
'No stock available to settle against — receive stock first, or write the shortfall off.'
FAQ
Does acknowledging an alert fix anything?
Does acknowledging an alert fix anything?
Why did the reorder suggestion skip some items?
Why did the reorder suggestion skip some items?
What is the difference between Expiry Risk and Expiry & Waste?
What is the difference between Expiry Risk and Expiry & Waste?
Can I receive a lot with no expiry date?
Can I receive a lot with no expiry date?
What happens to a recall I never close?
What happens to a recall I never close?