---
title: "Store Shortage"
description: "One screen listing every item whose available stock is below its minimum level, across the stores you can see, and the store view of the Current Stock report."
date: 2026-11-13
lastModified: 2026-11-13
category: "admin"
author: "Dr. Umesh Bilagi"
beta: true
---

## Overview

**Shortage** answers one question: *which items are below their minimum level right now, and where?* It is one screen listing every floored item whose **available** quantity sits under its floor, across every store you are responsible for.

Until this screen existed, the store dashboard showed only a **Below floor** count per store — to find out *which* items were short you had to open that store's Minimum Levels grid and scroll through 100 rows at a time. The count on the dashboard is now a link straight into this list, filtered to that store.

The same round added a **store view** to **MIS Reports → Stock → Current**: pick a store and the report shows that store's **On hand**, **Reserved** and **Available** instead of the org-wide figure. See [the report view](#the-store-view-of-current-stock) below.

## What "available" means

Every figure on this screen comes from the store's own book:

| Column | Meaning |
|--------|---------|
| **On hand** | What the store physically holds — purchases and physical counts add, issues, consumptions, returns and bills subtract |
| **Reserved** | What open [indents](/docs/store-indents) still promise: approved but not yet issued |
| **Available** | **On hand − Reserved**. This is the figure a floor is compared against |
| **Floor** | The minimum level set for that item at that store |
| **Gap** | **Floor − Available**, always positive on a listed row — how much is missing |

A reservation is why **available** can be well below **on hand**. An indent the Main Store has approved but not yet issued is stock that is on the shelf but spoken for, so the floor is tested against what is left after the promise.

**A negative Available is not an error.** It means more has been promised than the store holds — a ward asked for 5 when the shelf had 2, so available reads −3. That shortfall is real demand the store still has to buy. It is shown as it is, never clamped to zero, because clamping would hide exactly the shortage you are looking for.

## What is listed

A row appears when **all** of these are true:

- the item has a **minimum level** set at that store (a blank floor is "untracked", not "zero");
- its **available** quantity is **strictly below** that floor — equal is satisfied, not short;
- the store is one you can see.

There is no category filter. A pharmacy item with a floor is listed exactly like a hospital one, because a floor is a floor wherever it was set.

## Who sees which stores

The list is scoped by the store, not by the role alone:

| Who | Stores on the screen |
|-----|----------------------|
| admin, director | Every active store |
| The Main Store's in-charge | Every active store |
| A ward's in-charge | That ward only |
| Any other store reader | The stores they are the in-charge of |

Every role that can open the **Store** module — admin, director, nurse, doctor, pharmacist, accountant — may open Shortage. What differs is which stores it covers.

- **More than one store visible:** the screen opens on **All stores**, every row carrying a **Store** column so you can tell the shelves apart.
- **Exactly one store visible:** the screen opens on that store, with no Store column — every row is the same place.
- **No stores visible:** the screen says you are not the in-charge of any store and points you at Store Master. That is an empty state, not an error.

Choosing a store you are not allowed to see is refused: the store exists, you just may not read it.

## Workflow

### Open the list

Two ways, both from the store dashboard (**Modules → Store**):

- the **Shortage** button in the header — opens **All stores**;
- a store's **Below floor** count — opens Shortage filtered to that store.

The page then lists the rows with a line above the table: *"4 items are below their floor. 37 floors tracked."* The floors figure counts every floor of the visible stores whether short or not, so an empty list reads as "nothing is short" rather than "the page is broken".

### Narrow it down

- **Store** dropdown (only when you can see more than one) — switch between all stores and one.
- **Search** — filters by item name; press Enter or click **Search**.
- **Prev / Next** — 100 rows at a time.

Every filter lives in the page's address, so a filtered view can be bookmarked or sent to a colleague, and reloading keeps it.

### Fix a shortage

The rows are read-only by design — this screen tells you what is short, it does not change stock. To act on a row, click the **Store** name (or the **Item** name in a single-store view); both open that store's **Minimum Levels** grid, where you can:

- correct the floor if it was set too high;
- raise or clear it — see [Store Minimum Levels](/docs/store-minimum-levels);
- then replenish through a purchase, an indent issue, or a **Set Stock** count at the Main Store.

The row disappears once available is at or above the floor. There is no "resolve" button: the list is derived, so it updates itself as soon as the stock or the floor changes.

## The store view of Current Stock

**MIS Reports → Stock → Current** (Hospital) now has a **Store** dropdown beside the table.

| Choice | What the table shows |
|--------|----------------------|
| **All stores (hospital total)** | The org-wide figure, as before: **Item Name \| Hospital Stock \| Main Store Stock**, with **Set Stock** on every row |
| **A store** | That store's shelf: **Item Name \| On hand \| Reserved \| Available** |

Things worth knowing:

- **Set Stock appears only for the Main Store.** A physical count re-bases the Main Store's figure; counting a ward's shelf is not supported yet because the correction would leave no movement trail. On a ward's view the button is absent.
- **The Store dropdown lists every active store of the organisation**, not just the ones you are in-charge of. The report's roles are usually nobody's in-charge, so it would otherwise always be empty.
- **Pharmacy ignores the store filter.** The Pharmacy report is an org total, and its Set Stock button — the way a never-purchased medicine enters stock — must stay available for every pharmacy item. Choosing a store on the Pharmacy report changes nothing.
- **The universe of items does not change** when you pick a store: a store view shows the same hospital stock items as the org report, with the ones that never moved at that store reading zero. Filtering by store can never add or hide an item.

## Common Issues

**The list is empty but I know stock is low.** Check the line under the heading. *"No minimum levels are set for these stores"* means there is nothing to compare against — set floors in Minimum Levels first. *"Nothing is below its floor"* means every floored item currently has enough available.

**An item is short but has plenty on hand.** Look at **Reserved**. Open indents hold stock the moment they are approved, so a shelf full of goods can still be fully promised. The gap is what has to be bought or issued.

**Available is negative.** More is promised than the store holds — the ward's request is unmatched demand. Raising the floor is not the fix; receiving or purchasing the stock is.

**I can only see some of my stores.** Scoping is `in-charge` on the store row in Store Master. A user who is in-charge of nothing sees an explanatory message instead. Admin, director and the Main Store's in-charge see everything.

**A store I need is not in the dropdown on the report.** The report lists every active store of the organisation, so a missing one is either inactive or belongs to another organisation. Activate it in **Store Master**.

**Set Stock is missing on the report.** You have a ward selected. The count is a Main Store count; switch the dropdown to the Main Store, or back to *All stores*.

## FAQ

**Q: Why can't I fix the shortage from this screen?**
A: Because a shortage is usually not fixed by editing one number — it is fixed by buying stock, issuing an indent, or correcting a floor that was set wrong. Each of those lives on its own screen, and the link on each row takes you to the one that matters (Minimum Levels).

**Q: Does the "Below floor" count on the dashboard match this list?**
A: Yes, exactly. Both use the same rule — a floored item whose available quantity is under its floor, with no category filter — so the count and the list cannot disagree. The count is a preview; this screen is the detail.

**Q: Why is an item with zero on hand not listed?**
A: A floor is only compared for items that have one. An item with no floor is *untracked*, which is different from *short*. Set a floor in Minimum Levels and it will be tracked from then on.

**Q: Can I set a floor from here?**
A: No. Click the store or item name to open that store's Minimum Levels grid, where floors — and a ward's maximum — are set.

**Q: Is the report's store view the same as Shortage?**
A: No. Shortage lists only what is *below its floor*. The report's store view lists *every* hospital stock item with its on-hand, reserved and available figures, so you can see what is comfortably above the floor as well.

**Q: Do the shortages come by email too?**
A: Yes, once a month, and not as a separate email: the [Monthly Business Events Report](/docs/monthly-business-events-report) carries the store figures in its zip for organisations on **LargeEnterprise**, including a ranked list of what to buy. This screen stays the live view — use it when you need the position now rather than at month end.
