Stock in, stock out and transfers
Read the Pharmacy and General Store stock screens, receive stock with Record inward, move it with Record outward, and set up the forms these buttons need.
This page explains how to see what is in a store and how stock gets in and out of it. It is written for pharmacy leads, store staff and administrators, and for the implementation staff who set up the forms that the stock buttons use.
Record inward and Record outward need published forms
LeapHealthOS has no built-in stock-in or stock-out form. The Record inward and Record outward buttons only work after your implementation team has published forms for the Inventory — Record Inward and Inventory — Record Outward placements. Until then, the dialogs show "No Record inward form is configured" or "No Record outward form is configured". See "Set up the stock forms" at the end of this page.
Open a store's stock
Screen | Menu | Store picker shows |
|---|---|---|
Pharmacy inventory | SettingsInventoryPharmacy |
|
General Store inventory | SettingsInventoryGeneral Store |
|
Both menus are visible to administrators only. Pick the store in the Select Store picker in the top bar. The first store of the right type is selected when you open the screen; your choice is not remembered after you reload the page.
Pharmacy: the Stock tab
The four cards at the top describe the selected store:
Card | What it counts |
|---|---|
Stock value | The value of everything on hand in the store, at cost. |
Low stock | Items at or below their reorder threshold. |
Expiring soon | Items with a batch that expires soon. |
Issues this week | Number of different items dispensed or consumed from this store since Monday. It counts items, not quantities. |
The table lists one row per item that has stock in the store: SKU (brand and generic), Pack, In stock (with the threshold underneath), Nearest expiry, MRP / pack (from the batch that will be sold first) and Status.
Status | Meaning |
|---|---|
In stock | Above the reorder threshold. |
Low stock | At or below the reorder threshold. |
Out of stock | Nothing left. |
Expires < 30 d / Expiring / OK | Sometimes shown instead: the nearest batch expires within 30 days, expires soon, or there is no stock or expiry warning. |
Search with "Search brand, generic, batch…". The search matches brand, generic name and SKU code only, not batch numbers. Items with no stock in the store are not listed. In a store with a very large range of items, the table may not show every item.
Click a row to open the item's detail page.
The item detail page
The detail page shows:
- A summary card with the item's status, available quantity, number of batches and its fields (type, presentation, strength, pack factor, prices, GST, HSN, schedule, codes, reorder settings).
- Stock by unit: one row per store that holds the item, with Stock, Threshold, Status and Nearest expiry. Despite the heading, each row is a store, and the first column shows the store name.
- Lots in stock — oldest expiry first: the batches in the store you selected, with Batch, Expiry, Received, Inward Qty, Qty remaining, Unit cost and Cost / pack.
Record inward and Record outward are also available here, pre-filled with this item. Use All stock to go back.
Known gaps on the detail page
- Inward Qty does not show the quantity received. Use Qty remaining.
- The lots table can include batches with nothing left, and quarantined or expired batches, without marking them.
- There is no movement history for an item on screen.
General Store
The General Store screen works the same way for CENTRAL stores. Its cards are Items, Low stock and Issues this week. The Stock table shows Item, Unit, In stock, Threshold, Last movement and Status (In stock, Low stock, Out of stock). The Stock tab lists every item in the store, while the Item master tab lists only HOUSEHOLD items.
Receive stock: Record inward
Record inward records a delivery into the selected store in one step.
Pick the store
Store MANAGEROpen the Pharmacy or General Store inventory screen and pick the receiving store in the top bar.
Open the form
Click Record inward.
Expected result: The Record inward dialog shows your organisation's form.
Enter the delivery
Fill in the form. Typically: supplier, receipt and invoice numbers, and one line per item and batch with quantity, unit cost, MRP and expiry date.
Save
Click Save inward.
Expected result: "Inward recorded". The stock is available in the store straight away.
What happens when you save:
- The receipt is recorded and approved in one step, so the stock is added immediately. You need the
MANAGERrole at the store to record inward. - Each line creates a batch, or adds to it if the same batch number was received before from the same supplier. Receiving a known batch again updates its cost and MRP to the values you entered.
- The batch MRP becomes the price used when the batch is billed. See Pharmacy queue, billing and dispensing.
- The item must have a base unit (the unit stock is counted in), or the stock cannot be received.
For opening stock or large deliveries, the CSV import may be quicker. See Items, SKUs and CSV import.
No two-step receiving on screen
There is no screen yet for receipts that wait for a manager's approval, for listing past receipts, or for purchase orders. Ask your implementation team if you need this flow.
Move stock: Record outward
Record outward moves stock from the selected store to another store, for example from the central store to a ward or from the pharmacy to the OT.
Pick the source store
Store DISPENSER or MANAGEROpen the inventory screen and pick the store the stock leaves from.
Open the form
Click Record outward.
Choose the destination and items
Pick the receiving store and enter one line per item with its quantity.
Save
Click Save outward.
Expected result: "Outward recorded". The quantity leaves the source store and arrives in the destination store at once.
How a transfer works:
- Oldest expiry leaves first. You choose the item, not the batch. LeapHealthOS takes stock from the batch that expires first, then the next, until the quantity is covered. Expired and quarantined batches are skipped.
- All or nothing. If any line does not have enough stock, nothing is moved and you see an error. Stock never goes below zero.
- Value moves with the stock. The receiving store gets the stock at the cost it had in the source store.
- The destination can be a store at another centre.
Record outward can only transfer
There is no way on screen to issue stock to a department without a receiving store, to record wastage or damage, or to write stock off. If you need to record internal use (for example ward linen), create a store for the department and transfer to it, or ask your implementation team. Expired stock is written off automatically; see Batches, expiry and low-stock alerts.
Dispensing to patients does not use Record outward. Medicines leave the pharmacy when their bill is paid. See Pharmacy queue, billing and dispensing.
Set up the stock forms
The stock and item buttons open forms that your implementation team builds and publishes for your organisation, one placement per button. Until a button's form is published, its dialog says that no form is configured.
Button | Placement to ask for | What saving does |
|---|---|---|
Record inward | Inventory — Record Inward | Receives stock into the selected store (needs |
Record outward | Inventory — Record Outward | Transfers stock from the selected store to another store (needs |
Add SKU | Inventory — Pharmacy: Add SKU | Creates |
Add item | Inventory — General store: Add item | Creates |
Add Store, Add Supplier | Inventory settings (optional) | Replace the built-in create dialogs (create only). |
When you ask for these forms, tell your implementation team what each one must collect:
- Record inward: one or more lines, each with the item, batch number, quantity and unit cost; optionally MRP, expiry date and manufacturing date. Receipt details such as supplier, receipt number, invoice number and invoice date are optional.
- Record outward: the receiving store, and one or more lines with the item and quantity. A transfer number and notes are optional.
The store selected in the top bar is used automatically as the receiving store for Record inward and the source store for Record outward, so the forms do not need to ask for it.
See Clinical forms and placements for how forms are published.
Related pages
Last updated on
Items, SKUs and CSV import
Manage the medicine and supply catalogue (SKU master), understand item fields and prices, and bulk-import items and opening stock from a CSV file.
Pharmacy queue, billing and dispensing
Work the pharmacy prescription queue, bill a prescription from stock batch by batch, and understand when stock is deducted, returned or left pending.