Basic Hospital Information Management Application

Bhima is a free, open source accounting and hospital information management system (HIMS) tailored for rural hospitals in Africa. We are an international team based in the Democratic Republic of the Congo.

» Home / Inventory Management / Inventory


In BHIMA, “inventory” refers to information about products or services are sold to clients, or any assets or material that must be tracked over time.

The difference between inventory and stock in BHIMA is that inventory is the description of a product (or service), whereas stock is the physical asset stored in the depot.

For example, an inventory item might be a “Appendectomy” which is a service and will not have a representation in stock. However, the inventory item “Quinine 500mg” will have a representation in stock as pills bought on a given date with a quantity and expiration date. Similarly, a computer used in a specific department would be an asset that might assigned to someone but still considered to be in a “depot”.

There are two modules that compose BHIMA’s inventory management:

  1. Inventory Registry
  2. Configuration

We’ll cover each of these below.

Inventory Registry

The Inventory Registry provides an overview of all inventory items in the application. To access the Inventory Registry module, under the main menu, select Inventory and then Inventory Registry:

menu > Inventory > Inventory Registry
⇒ Opens a registry that lists all inventory times in the system, allows you to create new ones, or import an inventory from a CSV file.

Each line of the inventory registry describes one type of inventory item. At the end each line is an “Action” menu containing links to the Invoices Registry, Stock Movements Registry, Articles in Stock Registry, and Inventory Changes Report.

Creating an Inventory Item

To create a new inventory item, click on the + Add Inventory button which will open a modal window to enter the inventory information. The following information is required:

  1. Code - a unique identifier for the product or service. This code is usually a shorthand method of looking up inventory items useful in both the pharmacy and invoicing.
  2. Name - the full name of the inventory item.
  3. Price - the default sale price of the inventory item. Note that can be later modified by a price list for a patient, patient group, or debtor group. The price is always set in the enterprise currency.
  4. Group - the inventory group set in the configuration section.
  5. Type - the type of inventory item. This distinguishes between goods ands services.
  6. Unit - the unit of measurement for the inventory item. This is typically “pills”, “tablets”, “milligrams”, “liters”, “boxes” or some other basic unit.
  7. Is an asset - For items which are organizational assets (eg, computers, etc)

There are also some optional properties:

  1. Consumable - determines whether consumption information should be tracked for stock items. Defaults to false.
  2. Default Quantity - the default quantity given in an invoice. Defaults to 0.
  3. Weight - the weight of the item. Defaults to 0. Note: BHIMA currently does not use this field for anything.
  4. Volume - the volume of the item. Defaults to 0. Note: BHIMA currently does not use this field for anything.
  5. Delay - the delivery lag time (in months) of the item. Defaults to 1 month.
  6. Average Consumption - manually set the average consumption of an item. If left blank, the average consumption will be automatically calculated.
  7. Purchase Interval - (?)
  8. Sellable - indicates if the item can be sold to clients in the Patient Invoice module. Defaults to true.
  9. Note - an open text field for notes on the item.
  10. For assets there are a few additonal fields related to manufacturer brand and model names.

As mentioned above, the inventory requires some prerequisite information beforehand. These prerequisites must exist in the system before creating the inventory item.


  • Inventory Group: The inventory group contains the accounting information (inventory, expense, and income accounts) for inventory in this group
  • Inventory Type: The inventory type you want to add is an item, a service, or something else
  • Unit or dosage form: Does the inventory unit exist in the system, otherwise this unit must be added.


This module allows to create information required for inventory, such as:

To access the module related to the inventory configuration:

menu > Inventory > Configuration
⇒ Opens a page that allows you to create, edit, and delete inventory groups, inventory types, and inventory units.

Inventory Groups

The inventory group defines the accounting information for all inventory items in the group. An Inventory Group is a collection of items that share the same:

Clearly, these accounts must exist prior to using them. They are created in Account Management.

The following properties are required for Inventory Groups:

  1. Name - the name of the group.
  2. Code - a shorthand way to refer to the group, similar to an inventory item’s code.
  3. Sale Account - an income account records the income from selling the items in the group.

There are also the following optional properties:

  1. Stock Account - the value of assets are stored in this account. The type of account is an asset account. It is required for stock management.
  2. Cost of Goods Sold Account - the value of assets sold. The type of account is an expense account. It is required for stock management.
  3. Expires - informs the application if expiration dates should be tracked. Defaults to true.
  4. Unique Item - informs the application that this item does not have stock. Defaults to false.

Inventory Types

In BHIMA the inventories can be either:

If a type is missing, you can easily add it. In the inventory type section, click Add.

Inventory Unit

An inventory unit is the smallest unit of an inventory item considered. This might be “pill”, “tablet”, “box”, “liter” or any similar unit of measure.

If a unit is missing, you can easily add it. In the unit or inventory dosage form section, click Add.