Never run out, never let it expire.
Shown in the product as “Stock Levels” · Installs with RefundLine and ProcureFlow, whose screen it works onStock as an append-only ledger: quantity changes only through movements — receive, dispense, adjust with a recorded reason. The database refuses negative stock and refuses to issue an expired batch; reorder levels and expiry surface on one attention list. Between a chain’s branches, a branch running short asks another for items and quantities; someone other than the asker approves, which drafts the transfer with batches picked first-expiry-first from what the sending store holds, and says what it could not cover. The sender sends, the receiver counts each line on arrival, and a short line is written off at the receiving branch with the reason, listed among the discrepancies.
What it does not do, by design. A listing with only benefits is an advertisement.
The design preview: every screen drawn with the product’s own blocks, on an example clinic’s demo data. Nothing here is a real patient.
Read out of the code, not the brochure: each app below is here because one service queries the other’s tables. Install either side and the hand-over is already wired.
Tell us what you run and we will show you this app inside a practice shaped like yours — or answer the question the page above did not.