The pharmacy session can stay open for the working day. Staff then identify using the admin-selected method: personal PIN or initials.
Scan stock
Scan a product, confirm its expiry and quantity, then move straight to the next pack.
Stocktake session
Start a new expiry stocktake for .
Scan product
Eyoyo HID • scan + EnterAlready scanned
Same expiry already exists
Current stocktake
0 products • 0 unitsExpiry dashboard
Prioritise expired and short-dated stock from the current stocktake.
| Product | Barcode | Expiry | Qty | DS List |
|---|
Reports and history
Review completed stocktakes, export pull lists and compare quantity changes.
Stocktake history
Completed stocktakes remain read-only historical snapshotsSnapshot entries
Sorted by earliest expiry| Select | Product | Barcode | Expiry | Qty | DS List |
|---|
Compare stocktakes
Shows product/expiry lines whose quantities changed| Product | Expiry | Earlier | Later | Change | Status |
|---|
Acceptance testing
Validate the iPhone and Eyoyo workflow before using it on the pharmacy floor.
iPhone + Eyoyo pilot
Guided user-acceptance test before pharmacy rolloutEyoyo scanner diagnostic
Use this before the first real stocktakeThe scanned code appears once and the ending key shows Enter or Tab. Expiry Genie accepts either suffix; CR / Enter remains the recommended setting.
Guided pilot checklist
Mark each test Pass, Fail or SkipReport a problem / suggestion
Automatically attaches technical diagnostics, not passwords or PINsPilot feedback queue
Admin view • blocker/high issues firstScanner setup
Configure the scanner, check integrations and manage offline synchronisation.
Eyoyo setup
- Pair the scanner to the iPhone in Bluetooth HID mode.
- Configure a barcode suffix of CR / Enter so each scan submits automatically.
- When the scanner hides the iPhone keyboard, double-click a scan button to show it; double-click again to hide it.
- Keep the scanner in 2D mode so QR/Data Matrix and normal EAN/UPC codes are accepted.
Scan → expiry auto-focus → type 0827 → quantity auto-focus → Enter/Done → saved → scanner ready.
Integrations
EAN/UPC scans are normalised to a 14-digit GTIN for external lookup. GS1 DataMatrix/QR payloads containing application identifier (01) are also recognised. Ordinary QR values remain usable in the local product master.
Offline sync
Keep scanning through Wi-Fi or server outagesAn already-open stocktake can continue offline. Starting or finishing a stocktake requires the server. DS List transfers wait until the expiry entry itself has synchronised.
DS List outbox
0 pendingSecurity and recovery
Manage staff access, active sessions, encrypted backups and audit events.
Staff identification
Choose how staff identify themselves after the pharmacy session is openPIN mode verifies the selected staff member with a personal PIN. Initials-only mode is faster, but initials are identification/audit attribution only and are not a security credential. Changing mode makes active devices identify staff again without closing the pharmacy session.
Staff profiles
Names, unique initials, roles and PINsActive sessions
Review or revoke pharmacy sessionsPharmacy password
Rotate the shared pharmacy-session credentialChanging the password revokes all other pharmacy sessions; this device remains signed in.
System health & backups
Production readiness and recoveryRestore is deliberately server-side only. Stop Expiry Genie and use the guarded restore command documented in PRODUCTION.md.