Oct 15, 2026 · @Ganesh Shirpure
Inventory gets its own AMRIT service line at National level: an Inventory Super Admin manages admins down to Block, National enters stock against invoices and transfers it to any level, each level records physical stock against the transfer receipt, lower levels raise indents and buy locally, assets are recorded unit by unit, and every level sees opening/closing, consumption and forecasting reports, with price hidden below National.
Field |
Detail |
|---|---|
Project |
AMRIT - Inventory Management Module ; TBMJA |
Prepared By |
Pranoti Monde |
Date |
16th October 2026 |
Version |
1.0 |
Status |
Final draft – for team review |
Parent BRD |
Version history
Version |
Date |
Changed By |
Summary of Changes |
|---|---|---|---|
1.0 |
16th October 2026 |
Pranoti Monde |
Final BRD. Updated problem statement and major agenda. Inventory Super Admin manages admins at all levels. Asset master (asset types, Asset Category Master, Asset Entry with per-unit details). Manufacturer and supplier lists. Invoice-based stock entry at National. National transfers to any level. Physical stock entry against receipts. Indent for consumables, medicines and assets. Forecasting, consumption and opening/closing reports. Process flows and expected screens. |
0.4 |
16th October 2026 |
Pranoti Monde |
Problem statement, item classes, National Admin with multiple states, District and Block admins, TU at Block level, issue to camps, local purchase, monthly opening/closing, threshold and consumption reports, price hidden below National. |
0.3 |
15th October 2026 |
Pranoti Monde |
Aligned with existing AMRIT admin flow after team walkthrough. Inventory service line (2.2.K). Existing location master, Employee Master and Work Location Mapping reused. Stock transfer (3). |
0.2 |
14th October 2026 |
Pranoti Monde |
Hierarchy, user management, role & privilege matrix (2.2.F–I), one-time bulk item upload (2.2.J), reports & audit, acceptance criteria. |
0.1 |
16th September 2026 |
Pranoti Monde |
Initial draft. Item Master changes for Non-Medical items (2.2.A). Device masters (2.2.B–E). |
This document captures the business requirements for the Inventory Management module spanning the Admin Portal and camp-level local servers (camp laptops), the synchronization between them, and the backend APIs supporting the StopTB drug master and local stock management. It covers a new Inventory service line at National level, admin management from National to Block, manufacturer and supplier lists, an asset master, invoice-based stock entry, stock transfer, receipt and physical stock entry, indenting, local purchase, issue to camps, and reports at every level, with item price hidden below National.
In scope
Reused without change
Out of scope
The team walkthrough confirmed AMRIT already handles state admins, user creation and location mapping, so the earlier plan for a new hierarchy master and user form is dropped.

admin and user setup flow · 5 admin levels
Area |
Existing in AMRIT (reused) |
New for inventory |
Section |
|---|---|---|---|
Service line |
TM, MMU, HWC and others (state level) |
Inventory service line at National level |
2.2.K |
Hierarchy |
State / District / Block location master |
National store; Block and TU at the same level |
2.2.F, 2.2.G |
Admins |
Super Admin, state admins |
Inventory Super Admin; admins at State, District and Block / TU |
2.2.H |
Users |
Employee Master, single and bulk |
None |
2.2.H |
Roles |
Work Location Mapping, role configuration |
Inventory roles and privileges |
2.2.I |
Masters |
Manufacturer, Supplier, Item Master |
Item classes, Asset Category Master, Asset Entry |
2.2.L–O |
Stock |
Physical Stock Entry, Stock Transfer (state level) |
Invoice stock entry, transfer to any level, physical entry against receipt, indent, issue to camp |
3 |
Reports |
State-level stock reports |
Opening/closing, consumption and forecasting at every level |
4 |
Super Admin creates "Inventory" as a separate service line, like TM, and maps it to StopTB and the 10 states; every other inventory setup in this document sits under it. Add it at the top of the 2.1 list.
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Service Line Name |
Text |
Inventory |
Mandatory. Must be unique. |
Service Line Code |
Text |
e.g. INV (confirm with tech team) |
Mandatory. Must be unique. |
Project / Provider |
Dropdown |
StopTB (TBMJA) |
Mandatory. |
States |
Dropdown (multi-select) |
10 StopTB programme states |
Mandatory. |
Status |
Dropdown |
Active, Inactive |
Mandatory. Default Active. |
Configuration steps (Super Admin)
Impact on existing screens
Screen |
Change |
|---|---|
Item Master |
"Inventory" appears in the Serviceline dropdown; inventory items are created under it, with an "All States" option in the State dropdown. |
Main Store / Substore, Item to Store Mapping |
Created under Serviceline = Inventory. |
Work Location Mapping |
"Inventory" and its roles appear in the dropdowns. |
Bulk Item Upload (2.2.J) |
Service line fixed as Inventory; State column added. |
Decision: state selection in Item Master (Option A agreed)
Item Master asks for one state per item today. For the 10 states, the team chose Option A:
Rules
Every item is a Medicine, a Consumable or an Asset: Medicines and Consumables are stocked by quantity and batch and move through transfer, indent and issue, while Assets are recorded unit by unit with serial number and warranty.
Class |
Examples |
Where configured |
Tracked by |
|---|---|---|---|
Medicines |
Anti-TB drugs from the StopTB drug master |
Item Master, existing fields (Item Type = Medical, Strength, UOM, Item Form, Composition, Route of Admin, Drug Type) |
Batch, expiry, quantity |
Consumables |
Cotton, masks, gloves, sputum containers, Truenat chips, glucometer strips |
Item Master, Item Category = Consumables |
Quantity; batch and expiry where printed |
Assets |
IT: laptop, tab, software, power bank, dongle, router. General: chair, table. Medical: X-ray, NAAT, glucometer. Electrical: extension box, table fan |
Asset Category Master (2.2.N) and Asset Entry (2.2.O) |
Serial number, model, warranty |
Rules
Current screens (reference)
Item Category Master today: under Serviceline = Inventory, Medicines and Consumables are added here as categories. The new Asset Category Master (2.2.N) follows the same pattern, with Type of Asset in place of Serviceline / State.

Item Master today: these existing fields are used for Medicines. For Consumables (Non-Medical), the medical-only fields such as Strength, Item Form, Composition and Route of Admin are not mandatory.

The existing Manufacturer Master and Supplier Master are reused under Serviceline = Inventory; every stock entry, asset entry and local purchase picks both, because the maker and the seller are usually different (e.g. a glucometer made by one company and sold by a local distributor).
List |
Fields |
Used in |
|---|---|---|
Manufacturer |
Manufacturer Code, Name, Contact, Address, Status (existing) |
Item Master, Asset Entry, Stock Entry, Local Purchase |
Distributor / Supplier |
Supplier Code, Name, Contact Person, Phone, Address, GSTIN, Status (existing; confirm GSTIN) |
Asset Entry, Stock Entry, Local Purchase |
Inventory Super Admin defines which assets exist: each asset name (e.g. Laptop) sits under one type of asset (e.g. IT Assets).
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Type of Asset |
Dropdown |
IT Assets, General Assets, Medical Assets, Electrical Assets, Others |
Mandatory. |
Asset Code |
Text |
e.g. IT-LAP |
Mandatory. Unique. |
Asset Name |
Text |
e.g. Laptop |
Mandatory. Unique within the type. |
Asset Description |
Text (multi-line) |
Free text |
Optional. |
Status |
Dropdown |
Active, Inactive |
Mandatory. Default Active. |
Starter list
Type of Asset |
Asset names |
|---|---|
IT Assets |
Laptop, Tab, Software, Power bank, Dongle, Router |
General Assets |
Chair, Table |
Medical Assets |
X-ray, NAAT, Glucometer |
Electrical Assets |
Extension box, Table fan |
Dummy screen: Asset Category Master.

Assets are recorded as they are bought: one header per invoice and model, then one row per unit with its serial number and warranty, so a quantity of 10 creates 10 unit rows.

asset master flow · 4 steps
Header
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Type of Asset |
Dropdown |
Asset Category Master, shown as type >> name (e.g. IT Assets >> Laptop) |
Mandatory. |
Manufacturer |
Dropdown |
Manufacturer Master |
Mandatory. |
Distributor / Supplier |
Dropdown |
Supplier Master |
Mandatory. |
Invoice Number |
Text |
Free text |
Mandatory. |
Invoice Date |
Date picker |
Date |
Mandatory. Not a future date. |
Purchase Order No. |
Text |
Free text |
Optional (confirm, Q25). |
Model |
Text |
Free text |
Mandatory. |
Number of Items (Quantity) |
Numeric |
≥ 1 |
Mandatory. Creates that many unit rows. |
Total Price incl. GST |
Numeric |
Currency |
Mandatory. |
Per Item Rate |
Auto |
Total Price ÷ Quantity |
Read-only. |
Store |
Auto |
User's store |
Read-only. |
Remarks |
Text |
Free text |
Optional. |
Unit details (one row per item)
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Serial Number |
Text |
Free text |
Mandatory. Unique for the asset name. |
Warranty Up To |
Date picker |
Date |
Optional. Alert 30 days before it ends. |
Items Inside Box |
Text (multi-line) |
e.g. charger, mouse, bag |
Optional. |
Remarks |
Text |
Free text |
Optional. |
Dummy screen: Asset Entry. Quantity 10 on the invoice opens 10 unit rows for serial number, warranty, items inside box and remarks.

No new hierarchy form is built: State, District, Block and TU come from the existing AMRIT location master (which already goes down to facility and village), the National level is the national store run by the National Admin, Block and TU sit at the same level under the district, and camps are not stores: the Block or TU issues items to them.
Level |
Source in AMRIT |
Example |
|---|---|---|
National |
National store under Serviceline = Inventory (2.2.G) |
StopTB National Store |
State |
Existing location master |
Assam |
District |
Existing location master |
Kamrup |
Block / TU (same level) |
Existing location master |
Blocks and TUs under each district |
Camp (not a store) |
Camp / facility in existing master |
Receives items issued by the Block or TU (3.6) |
In the Confluence BRD, replace the 2.2.F Hierarchy Node Master table with this section.
AMRIT already maps stores as Main store and Substore, so no new store form is built; inventory stores are created in the existing mapping under Serviceline = Inventory, one per location level.
Level |
Store type |
Location from existing master |
|---|---|---|
National |
Main store |
National (no state) |
State |
Main store |
State |
District |
Substore of the State store |
District |
Block / TU |
Substore of the District store |
Block or TU |
Rules
Admins and users are created in the existing screens: Super Admin creates the Inventory Super Admin, who creates and manages admins at every level; an inventory user is a Work Location Mapping row with Service line = Inventory, a location and an inventory role.
Dummy screen: Admin Management. Inventory Super Admin creates an admin by level and location; the list shows admins in their states and who created each one.

Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Serviceline |
Dropdown |
Inventory |
Mandatory. |
Role |
Dropdown |
Inventory roles (2.2.I) |
Mandatory. The role decides which location fields are needed. |
State |
Dropdown |
States the admin has access to |
Mandatory for State level and below. National roles get all assigned states, so no single state is chosen. |
District |
Dropdown |
Districts of selected state |
Mandatory for District level and below. |
Block / TU |
Dropdown |
Blocks and TUs of selected district |
Mandatory for Block and TU roles. |
Store |
Auto-filled |
Store of the selected location (2.2.G) |
Read-only. Mapping is blocked if the location has no active store. |
Rules
Super Admin creates the inventory roles under the Inventory service line and maps screens to them through the existing role configuration; admin roles manage setup and users, store roles handle stock.
Role |
Level |
Type |
Main responsibility |
|---|---|---|---|
Super Admin |
Platform |
Admin |
Service line, roles, role-screen mapping; creates the Inventory Super Admin |
Inventory Super Admin (National Admin) |
National (one or more states) |
Admin |
Creates and manages admins at all levels; item and asset masters; manufacturer and supplier lists; bulk upload; store mapping; sees all assigned states |
State Admin |
State |
Admin |
District Admins, state users |
District Admin |
District |
Admin |
Block / TU Admins, district users |
Block / TU Admin |
Block / TU |
Admin |
Block and TU users |
National Store Manager |
National |
Store |
Stock entry against invoice, asset entry, transfer to any level, approve state indents; access to all states |
State Store Manager |
State |
Store |
Physical stock entry against receipt, indent to National, transfer to districts, approve district indents |
District Store Manager |
District |
Store |
Physical stock entry, indent to State, local purchase, transfer to Block / TU, approve Block / TU indents and local purchases |
Block / TU Store User |
Block / TU |
Store |
Physical stock entry, indent to District, local purchase, issue items to camps |
Inventory Viewer |
Any level |
Read-only |
Stock and reports for own level and below |
In this document "National Admin" means the Inventory Super Admin.
Y = all, Sub = own location and below, Own = own location only, – = not allowed.
Admin privileges
Privilege |
Super Admin |
Inventory Super Admin |
State Admin |
District Admin |
Block / TU Admin |
|---|---|---|---|---|---|
Service line, roles, role-screen mapping |
Y |
– |
– |
– |
– |
Create Inventory Super Admin, assign states |
Y |
– |
– |
– |
– |
Create / manage State Admins |
Y |
Sub |
– |
– |
– |
Create / manage District Admins |
Y |
Sub |
Sub |
– |
– |
Create / manage Block / TU Admins |
Y |
Sub |
Sub |
Sub |
– |
Employee Master, Work Location Mapping |
Y |
Sub |
Sub |
Sub |
Sub |
Store mapping |
Y |
Sub |
Sub |
Sub |
– |
Item Master, Asset Category Master, Bulk Upload |
Y |
Y |
– |
– |
– |
Manufacturer and Supplier lists |
Y |
Y |
– |
– |
– |
View stock and reports |
Y |
Sub |
Sub |
Sub |
Sub |
View item and asset price |
Y |
Y |
– |
– |
– |
View audit log |
Y |
Sub |
Sub |
– |
– |
Store privileges
Privilege |
National Store Mgr |
State Store Mgr |
District Store Mgr |
Block / TU Store User |
Viewer |
|---|---|---|---|---|---|
Stock entry against invoice (Consumables, Medicines) |
Own |
– |
– |
– |
– |
Asset entry |
Own |
– |
– |
– |
– |
Transfer to State, District or Block / TU |
Own |
– |
– |
– |
– |
Transfer to next level down |
– |
Own |
Own |
– |
– |
Physical stock entry against receipt |
– |
Own |
Own |
Own |
– |
Return to level above |
– |
Own |
Own |
Own |
– |
Raise indent to level above |
– |
Own |
Own |
Own |
– |
Approve / reject indent from level below |
Own |
Own |
Own |
– |
– |
Local purchase entry |
– |
– |
Own |
Own |
– |
Approve local purchase |
– |
Sub |
Sub |
– |
– |
Issue items to camp |
– |
– |
– |
Own |
– |
Stock adjustment (damage, expiry, loss) |
Own |
Own |
Own |
Own |
– |
View stock and reports |
Y |
Sub |
Sub |
Own |
Sub |
View item and asset price |
Y |
– |
– |
– |
– |
Item price and cost are shown only to Super Admin, National Admin and National Store Manager; price columns are hidden on receipts, stock screens and reports at State level and below.
Super Admin or National Admin loads the full StopTB item list into Item Master under Serviceline = Inventory in one Excel upload; columns follow Item Master (2.2.A), and Medical-only columns may be blank for Non-Medical items.
Name of Data Field |
Field Type (Excel) |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Serviceline |
Fixed |
Inventory |
Pre-filled, not editable. |
State |
Dropdown list |
StopTB state name, or ALL |
Mandatory. ALL = one item for all 10 states, saved with the "All States" option (2.2.K). |
Item Type |
Dropdown list |
Medical, Non-Medical |
Mandatory. |
Item Category |
Dropdown list |
Item Category Master |
Mandatory. |
Item Code |
Text |
Free text |
Mandatory. Unique within file and against Item Master. |
Item Name |
Text |
Free text |
Mandatory. |
SNOMED CT Code / Term |
Text |
Free text |
Optional for Medical. Blank for Non-Medical. |
Strength |
Text |
e.g. 500 |
Mandatory for Medical. Blank for Non-Medical. |
UOM |
Dropdown list |
Unit of Measure Master |
Mandatory for all. |
Drug List Type, Item Form, Pharmacology Category, Drug Type, Route of Admin |
Dropdown list |
Existing masters |
Optional for Medical. Blank for Non-Medical. |
Manufacturer |
Dropdown list |
Manufacturer Master |
Mandatory for all. |
Composition |
Text |
Free text |
Mandatory for Medical. Blank for Non-Medical. |
Item Description |
Text |
Free text |
Optional. |
Upload process
Rules
National enters stock against invoices and transfers it to any level; each receiving level records physical stock against the transfer receipt, lower levels request stock through indents and buy locally when needed, and Block / TU issue items to camps.

stock movement flow · National to camps
Solid arrows are transfers (each ending in a physical stock entry at the receiver), dashed arrows are indents, and the coloured path is National sending directly to a district or Block / TU.
One entry per invoice: header fields once, then one line per item; Medicines use the existing Physical Stock Entry line fields, Consumables a lighter line.
Header
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Item Class |
Radio |
Consumables, Medicines |
Mandatory. Decides the line fields. |
Reference Number |
Text |
Free text |
Mandatory (existing field). |
Entry Date |
Date picker |
Default today |
Mandatory. Not a future date. |
Manufacturer |
Dropdown |
Manufacturer Master |
Mandatory. |
Distributor / Supplier |
Dropdown |
Supplier Master |
Mandatory. |
Invoice Number |
Text |
Free text |
Mandatory. Unique per supplier. |
Invoice Date |
Date picker |
Date |
Mandatory. Not a future date. |
Purchase Order No. |
Text |
Free text |
Optional (confirm, Q25). |
Invoice Cost incl. GST |
Numeric |
Currency |
Mandatory. Warn if it differs from the sum of line amounts. |
Item lines
Field |
Consumables |
Medicines |
Validation |
|---|---|---|---|
Item |
Item Master, Category = Consumables (e.g. Cotton, Mask) |
Item Master, Item Type = Medical |
Mandatory. |
Quantity |
Quantity |
Qty (in lowest unit) |
Mandatory. > 0. |
Per Item Cost |
Auto (line amount ÷ quantity) or entered |
Unit Cost Price |
Mandatory. |
Batch No. |
Optional |
Mandatory |
– |
Expiry Date |
Optional |
Mandatory |
Future date. |
Stock is added to the national store on save; medicine details (Strength, UOM, Item Form, Composition, Route of Admin, Drug Type) come from Item Master, and price is visible only to National roles.
Dummy screen: Stock Entry against Invoice.

Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Indent No. |
Auto |
e.g. IND/OD/2026/000045 |
System-generated, unique. |
Indent Date |
Auto |
Today |
Read-only. |
From Store (requesting) |
Auto |
Logged-in user's store |
Read-only. |
To Store (supplying) |
Auto |
Store one level above |
Read-only. |
Indent Type |
Radio |
Consumables / Medicines, Assets |
Mandatory. Decides the filters below. |
Item |
Dropdown with filters |
Item class, category, item name (same filters as stock entry) |
Mandatory when Indent Type = Consumables / Medicines. |
Asset |
Dropdown with filters |
Type of asset >> asset name, model (Asset Category Master) |
Mandatory when Indent Type = Assets. |
Current Stock |
Auto |
Requesting store's stock |
Read-only. |
Threshold (Min) Level |
Auto |
From Item to Store Mapping |
Read-only. Consumables and Medicines only; items below threshold highlighted. |
Requested Qty |
Numeric |
> 0 |
Mandatory. |
Required By Date |
Date picker |
Future date |
Optional. |
Remarks |
Text |
Free text |
Optional. |
Approved Qty |
Numeric |
0 to Requested Qty |
Filled by the level above. Rejection reason mandatory when 0. |
Status |
Auto |
Draft, Submitted, Approved, Partially Approved, Rejected, Fulfilled |
System-managed. |
An indent goes to the level directly above, can be fulfilled by one or more transfers, and is Fulfilled when total transferred equals approved quantity; transfers can also be pushed without an indent, and an indent pending beyond 3 days (configurable) alerts the level above.
Dummy screen: Indent. A Block raises the indent (items below threshold are highlighted); the lower panel shows the District approving part of it.

Current Stock Transfer screen: it has only Date, Reference Number and Transfer To. The new form keeps these and adds State, District and Block / TU selection, item type, gross quantity, batch and a printable receipt.

Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Transfer No. |
Auto |
e.g. TRF/NAT/2026/000123 |
System-generated, unique. |
Date |
Auto |
Today |
Read-only (existing). |
Reference Number |
Text |
Free text |
Mandatory (existing). |
From Store |
Auto |
Logged-in user's store |
Read-only. |
Transfer To: State |
Dropdown |
Assigned StopTB states, e.g. Odisha |
Mandatory for National transfers. |
District |
Dropdown |
Districts of the state |
Optional. Fill to transfer directly to a district (National only). |
Block / TU |
Dropdown |
Blocks and TUs of the district |
Optional. Fill to transfer directly to a Block / TU (National only). |
Item Type |
Radio |
Consumables, Medicines |
Mandatory. |
Item |
Dropdown (search) |
Items of that type in stock, e.g. Cotton |
Mandatory. Multiple lines per transfer. |
Gross Quantity (available) |
Auto |
e.g. 1000 |
Read-only. |
Batch No. |
Dropdown |
Batches of the item |
Mandatory. Default order per Item Issue Method config (FEFO/FIFO). |
Expiry Date |
Auto |
From batch |
Read-only. Warn if within expiry alert days. |
Transfer Quantity |
Numeric |
e.g. 100 |
Mandatory. Not more than the batch's available quantity. |
Unit Price |
Auto |
From stock entry |
Shown only to National roles. |
Against Indent No. |
Dropdown |
Approved indents of the receiving store |
Optional. Blank = push transfer. |
Vehicle / Challan No. |
Text |
Free text |
Optional. |
Remarks |
Text |
Free text |
Optional. |
Status |
Auto |
Draft, In Transit, Partially Received, Received, Cancelled |
System-managed. |
After saving, a Print Receipt button produces the Transfer Receipt: transfer no., date, from store, to store (state, district or Block / TU), items, batches, expiry and quantities, with signature lines for sender and receiver; price prints only on the National copy. State and District see only their direct child stores in Transfer To.
Dummy screen: Stock Transfer (National). State is mandatory; filling District sends stock directly to the district store.

Dummy screen: Transfer Receipt (print).

Built on the existing Physical Stock Entry screen: choosing the transfer fills the item lines, and the receiver corrects quantities to what physically arrived.
Current Physical Stock Entry screen: today the user types every line by hand. In the new flow, choosing the transfer number fills Item Name, Batch No. and Expiry Date; the user enters the actual quantity and any damage; and Unit Cost Price is hidden at State level and below.

Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Reference Number (Transfer No.) |
Dropdown |
In Transit transfers to the user's store |
Mandatory. Pulls the item lines. |
Date |
Date picker |
Default today |
Mandatory. Not before the transfer date. |
Item Name / Batch No. / Expiry Date |
Auto |
From transfer |
Read-only. |
Transferred Qty |
Auto |
From transfer |
Read-only. |
Actual Qty Received (in lowest unit) |
Numeric |
0 to Transferred Qty |
Mandatory. Pre-filled; edit to the actual quantity. |
Damaged Qty |
Numeric |
≥ 0 |
Optional. Actual + Damaged ≤ Transferred. |
Damage / Short Reason |
Dropdown |
Short received, Damaged in transit, Expired, Wrong item, Other |
Mandatory when Actual ≠ Transferred. |
Damage Remarks |
Text (multi-line) |
Free text |
Mandatory when Damaged Qty > 0. |
Unit Cost Price |
Hidden |
Existing column |
Hidden at State level and below. |
Received By |
Auto |
Logged-in user |
Read-only. |
Dummy screen: Physical Stock Entry against Receipt. Item 2 arrived with 5 damaged, so only 95 enter stock and a discrepancy goes back to National.

Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Purchasing Store |
Auto |
User's District or Block / TU store |
Read-only. |
Item Class |
Radio |
Consumables, Medicines |
Mandatory. |
Item |
Dropdown (search) |
Items of that class |
Mandatory. |
Manufacturer |
Dropdown |
Manufacturer Master |
Mandatory. |
Distributor / Supplier |
Dropdown |
Supplier Master, or add a local supplier |
Mandatory. |
Invoice Number and Date |
Text / Date picker |
Free text / date |
Mandatory. |
Invoice Cost incl. GST |
Numeric |
Currency |
Mandatory. Who can see it is open (Q17). |
Quantity |
Numeric |
> 0 |
Mandatory. |
Per Item Cost |
Auto |
Invoice cost ÷ quantity |
Read-only. |
Batch No. / Expiry Date |
Text / Date picker |
Free text / future date |
Mandatory for Medicines. |
Invoice Copy |
File upload |
PDF / image, ≤ 5 MB |
Mandatory. |
Approval Status |
Auto |
Pending, Approved, Rejected |
Stock is added only after approval: District approves Block / TU; State approves District. |
Name of Data Field |
Field Type |
Value/Options |
Validation/Logic/Condition |
|---|---|---|---|
Issuing Store |
Auto |
User's Block or TU store |
Read-only. |
Camp |
Dropdown |
Camps under the Block or TU |
Mandatory. |
Issue Date |
Date picker |
Default today |
Mandatory. Not a future date. |
Item / Batch |
Dropdown |
Items and batches in block stock |
Mandatory. Multiple lines per issue. |
Quantity Issued |
Numeric |
> 0 |
Mandatory. Not more than block stock. |
Returned Qty (unused) |
Numeric |
≥ 0 |
Optional. Entered when the camp brings back unused items; adds back to block stock. |
Persons Screened / Tests Done |
Numeric |
≥ 0 |
Optional. Used for usage per person in reports. |
Remarks |
Text |
Free text |
Optional. |
Camps hold no stock in the system: items issued to a camp leave block stock and are counted as consumption, net of any returned quantity.
Every level gets monthly reports for its own stores and everything below; reports export to Excel and PDF, run under Serviceline = Inventory, and show price columns only to National roles.
Report |
Content |
Filters |
Primary users |
|---|---|---|---|
Opening & Closing Balance (monthly) |
Per item per store: opening, received, local purchase, transferred out, issued to camps, damaged/expired, closing. Opening = previous month's closing. |
Month, level, store, item class |
Every level |
Consumption Report |
Items issued to camps, by state, district, Block / TU, camp, item and month; usage per person screened |
Period, state, district, Block / TU, item |
Every level |
Forecasting Report |
Per item per store: average monthly consumption (last 3 months), current stock, stock in transit, months of stock left, suggested quantity for the next N months |
Level, store, item, months ahead |
Every level |
Threshold Report |
Items at or below threshold (Min) level, with current stock and suggested quantity |
Level, store, item class |
Store roles, admins |
Indent Register |
Indents raised, approved, rejected, fulfilled, with ageing |
From/To store, indent type, status, date |
Store roles, admins |
Transfer Register |
Transfers and receipts with status and ageing; reprint receipt |
From/To store, status, date |
Store roles, admins |
Pending Receipts |
Transfers In Transit beyond 7 days |
Store, days pending |
Receivers, admins |
Discrepancy / Damage Report |
Short and damaged quantity at receipt, remarks, closure |
Store, reason, date |
Senders, admins |
Local Purchase Report |
Local purchases by store, supplier, item, approval status |
Level, store, date |
District, State, National |
Near-Expiry / Expired Stock |
Batches within alert days |
Level, store, days to expiry |
All |
Stock Ledger |
Every movement per item per store |
Store, item, period |
All |
Asset Register |
Assets by store, type, asset name, model, serial number, warranty, status |
Type of asset, store |
National, admins |
Warranty Expiry Report |
Assets whose warranty ends within 30/60/90 days |
Type of asset, days |
National |
Inventory User List |
Work Location Mappings with Serviceline = Inventory |
State, level, role, status |
Admins |
Bulk Upload Log |
Uploads with rows added and rejected, uploader |
Date, user |
Inventory Super Admin |
Forecast quantity = average monthly consumption × months ahead + threshold (Min) − current stock − stock in transit; threshold levels come from Item to Store Mapping (Min Qty). The forecast is a report that guides indents; micro-planning stays out of scope.
Dummy screen: Reports. Report tabs with filters; shown here is the monthly opening and closing balance, with the forecasting columns below.

Stock Ledger output should match the existing Stock Register Format.
Audit trail