> For the complete documentation index, see [llms.txt](https://docs.digit.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/stock-management.md).

# Stock Management

Step-by-step guide for Campaign and Logistics Managers, Warehouse Managers (National, State, LGA, Health Facility), and Distributors

## Overview

HCM Stock Management is the module that plans, dispatches, tracks, and reconciles health commodities across a campaign's full supply chain, from the national warehouse down to the last-mile distributor. It covers issuing and receiving stock, bulk dispatch to many facilities at once, stock returns, loss and excess adjustments, real-time balance visibility, and a web-based commodity tracking dashboard.

This manual is organised by role and by task. Each section covers what a person in that role does on screen, step by step. Find your role in the table below and go directly to the relevant section. You do not need to read the whole document.

## Key Features

* Bulk stock dispatch to many facilities in one Excel or CSV upload via Console, instead of recording each transaction individually
* Facility-owned, server-authoritative stock balances that persist across logout, device change, and intermittent connectivity
* Real-time Stock KPI Dashboard with drill-down by boundary and automatic risk and exception flagging (low stock, over-issuance, high return rate)
* Live, colour-coded available stock balance visible directly on the mobile app
* Accept button to record stock receipt without manually re-entering quantities
* Structured two-step reverse logistics workflow for stock returns to the immediate parent facility
* Record of Loss and Excess for stock discrepancies, with immediate balance adjustment
* Duplicate resource-code detection at device, server, and database level
* Manual downsync from the home screen, without needing to log out and back in
* Push notifications for stock issued, received, discrepancies, and returns
* Offline, QR-based stock issue and acceptance at the last mile
* Web-based Commodity Management module for transaction tracking and warehouse stock overview

## User Roles

<table><thead><tr><th width="159.6640625">Role</th><th width="193.3203125">Scope of action</th><th>Role description</th></tr></thead><tbody><tr><td>Country Warehouse Manager</td><td>Country</td><td>Downloads and uploads the Bulk Shipment Template, views all warehouses from State to Distributor, and initiates transactions from Country to State. Issues and receives stock at country level.</td></tr><tr><td>State Warehouse Manager (SWHM) &#x26; other level WHMs</td><td>State/Province/District/others</td><td>Downloads and uploads the Bulk Shipment Template, views all warehouses from State to Distributor, and initiates transactions from State to all levels. Issues and receives stock at their respective level.</td></tr><tr><td>LGA Warehouse Manager</td><td>LGA</td><td>Views all warehouses from LGA to Distribution Points, Health Facility stores, and Distribution Teams, and initiates transactions to all of them. Issues and receives stock at LGA level, including adjustments to and from another LGA, and returns stock to State.</td></tr><tr><td>HFOIC (Health Facility Officer in Charge)</td><td>Health Facility</td><td>Uses the APK to accept stock issued by the previous level to accept and initiate transactions to ditributors. Issues and receives stock at Health Facility level, and returns stock to LGA.</td></tr><tr><td>Distributor / CDD / MDT</td><td>Distribution Point (last mile)</td><td>Uses the APK to accept stock issued by the Health Facility (online or via offline QR scan), records loss or excess for stock, and returns unused stock to the Health Facility.</td></tr></tbody></table>

## Using Stock Management

The rest of this manual is organised by task. Find what you need to do below and go directly to that section.

<table><thead><tr><th width="227.046875">Role</th><th>What it covers</th></tr></thead><tbody><tr><td>All Warehouse managers </td><td>Bulk stock dispatch via Console (Excel upload),<br>Shipping a single commodity via the Commodity Management web module, Push notification for download stock data</td></tr><tr><td>All Warehouse Managers, Distributors</td><td>Recording stock receipt: Accept</td></tr><tr><td>LGA WHM, HFOIC, Distributors</td><td>Initiating and receiving a stock return</td></tr><tr><td>Distributors</td><td>Recording loss and excess for stock</td></tr><tr><td>All warehouse managers, distributors</td><td>Viewing available stock balance on the mobile app</td></tr><tr><td>All roles</td><td>Manual downsync from the home screen</td></tr><tr><td>Last-mile Warehouse Manager, Distributor</td><td>Offline stock issue and QR-based acceptance</td></tr><tr><td>Supervisors</td><td>Stock KPI Dashboard (web)</td></tr><tr><td>All Warehouse managers</td><td>Commodity Management module: Transaction and Warehouse tabs</td></tr></tbody></table>

#### Overview: how stock moves through the hierarchy

Stock flows down the facility hierarchy (Country, State, LGA, Health Facility, Distribution Point) as issue transactions, and can flow back up as returns. Every transaction, whether issue, receipt, return, or loss and excess, is tied to the facility rather than the device, so balances stay correct even if a user logs out, changes devices, or loses connectivity.

{% hint style="info" %}
**Key dependency:**

A receiving facility's balance only updates once receipt is confirmed (Accept) or a return is accepted, never automatically the moment stock is issued. Until then, the transaction sits as In-Transit and the quantity is held out of the sender's available balance without yet being credited to the receiver.
{% endhint %}

#### Role reference

See the User Roles table above. Each role has different visibility into the hierarchy and different rights within the Commodity Management module and the mobile app.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digit.org/health/access/public-health-product-suite/health-campaign-management-hcm/stock-management.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
