Pharmacy Stock Taking and Adjustment Process - hmislk/hmis GitHub Wiki

Overview

Stock taking in the pharmacy system is implemented through bill-based artefacts that capture both the system snapshot and the subsequent adjustments. This ensures that every stage of the process—counting, reconciliation, authorisation, and adjustment—is traceable within the same accounting and audit framework used for other pharmacy operations.


Key Artifacts

  1. Stock Bill (Snapshot Bill)

    • Generated at the start of a stock take.
    • Serves as the system snapshot of current stock on hand.
    • Each Bill Item and its PharmaceuticalBillItem with reference to stock objects and current quantities in units.
  2. Stock Count Sheet (Excel Extract) to be downloaded after settling the Stock Bill

    • Downloadable Excel file generated from the Snapshot Bill.
      • BillItemID
      • Category
      • Item Name
      • Item Code
      • Batch Number
      • Expiry Date
      • May contain system quantities (Guided Count) or exclude them (Blind Count), depending on configuration.
    • Acts as the data collection tool for recording Physical Quantities.
  3. Physical Count Bill

    • Created when the completed Stock Count Sheet is uploaded back into the system.
    • References both the original Snapshot Bill and its Bill Items.
    • Identify from the BillItemID field to get details about the bill, quantity and stock details
    • Stores user-entered Physical Quantities alongside system snapshot values.
  4. Authorisation Workflow

    • Physical Count Bill is routed to an Authoriser (e.g., Pharmacy Manager).
    • Authorisation confirms validity of entered quantities.
    • Audit logs track reviewer, timestamp, and decision.
    • It is recorded as another Bill and a List of Bill Items
  5. Stock Adjustment Bill

    • Automatically generated after authorisation.
    • Contains item-level adjustments:
      • Stock Gain (Physical > System)
      • Stock Loss (Physical < System)
    • Posted directly to the Inventory Ledger.

Process Flow

1. Initiation (System Snapshot)

  • A Snapshot Bill is generated to freeze stock balances at the selected cut-off time.
  • Each stock entry in the bill is linked to a Stock ID (batch + location).
  • A Stock Count Sheet (Excel) is produced for field use.

2. Physical Counting

  • Pharmacy staff conduct batch-wise counts, including expiry dates and lot numbers.
  • Counts are recorded in the downloaded Excel sheet.
  • Physical quantities are entered against each Stock ID.

3. Upload and Reconciliation

  • The filled Stock Count Sheet is uploaded back into the system.

  • A Physical Count Bill is created, referencing the Snapshot Bill and its items.

  • Variances are calculated:

    • System Quantity vs. Physical Quantity.

4. Authorisation

  • The Physical Count Bill enters an authorisation queue.
  • The Pharmacy Manager or designated authority reviews variances.
  • Options: Approve, Reject, or Request Recount.

5. Adjustment Posting

  • Upon authorisation, the system generates a Stock Adjustment Bill.
  • Adjustments are applied item-wise:
    • Gain Bill Items increase stock.
    • Loss Bill Items decrease stock.
  • Adjustments are committed to the Inventory Ledger.

6. Closure

  • All four bills (Snapshot, Physical Count, Authorisation and Adjustment) remain linked for each other by referance bill item or backword referance bill item

  • All Bill Items of all bills are linked to each other by referance bill item

  • Missing or duplicate entries Missing Entities are taken as having to be uploaded later Duplicate ones are allowed, and the stock quantities will be added for each upload

Conclusion

This bill-based approach to stock taking ensures a robust, auditable, and standards-compliant process. By linking Snapshot Bills, Physical Count Bills, and Adjustment Bills, the system provides full traceability from system snapshot → physical verification → authorised adjustment. This framework enhances accuracy, accountability, and compliance in pharmacy logistics management.