Odoo Inventory Configuration

This page describes Odoo inventory relevant setup and configuration, following which you can effectively manage inventory integrated with Bahmni Clinical features.    

Warehouse & Locations

Go to "Menu / Inventory / Configuration / Settings", and find setting for “Location & Warehouse”. Check for configuration element "Warehouses and Locations usage level" and choose your option.

  1. Manage only 1 Warehouse with only 1 stock location - this is the simplest of setup
  2. Manage only 1 Warehouse, composed by several stock locations - our examples in WIKI, assumes such a setup. 
  3. Manage several Warehouses, each one composed by several stock locations - for advanced and more complicated setup.

If you have chosen multiple warehouse/locations, you should see it reflect under your “Inventory” landing page. 

Lets say, we have chosen option 1 or 2 above, we can now define different “Internal” inventory locations like "Main Stock Room", “OPD Pharmacy”, “IPD Pharmacy”, “Procedure Room”, "Samples Stock" under the a warehouse. So the hierarchy may be

  • WH (Warehouse Name)
    • WH/Stock = the main stock room (this would be created by default, usually). 
    • WH/OPD Pharmacy   = OPD Pharmacy stock room
    • WH/IPD Pharmacy     = IPD Pharmacy stock room
    • WH/Procedure Room = Surgery Stock Room
    • WH/Samples Stock    = Maybe Doctor's received samples stock room where doctors may give away meds at her discretion.  


Product Relevant Configuration

Go to "Menu / Inventory / Configuration / Settings". The most relevant configurations are described below, but you should review other configuration elements that might apply for your implementation

Traceability Settings

  • Enable “Track lots or serial numbers”. This will enable product tracking by lot or serial number, which is relevant for medications or other consumables. You may still decide to have “no tracking” (by lots/serial number) at individual product level. 
  • Enable “Define Expiration Date on serial numbers”

Products Settings

  • “Units of Measure” : Choose “Some products may be sold/purchased in different units of measure (advanced)”. 
    • You should be able to see some predefined “Units of Measure” already present under "Configuration / Units of measure" menu. 
  • "Product Variants": choose option "No variants" or "Products can have several attributes, defining variants" as applicable.

Product Categories

Go to "Menu / Inventory / Configuration / Products / Product Categories".

  • You should see some predefined category hierarchy. for example: you may want to create a category called “Fees and Charges” under “All / Services” for any type of Service that you may define, like Specialist Fee, Minor Dressing Fee etc. 
  • You may also want to re-organize the product categories in hierarchies. Typically, the product categories are hierarchized as "All / Saleable" and "All / Services". Your category hierarchy may look like below 


Individual Product Specification

Once the products are synchronized from OpenMRS, you may want to configure each products.  

Go to “Menu / Inventory / Products” and search for a product and edit. e.g “Ibuprofen 400mg”

  • Usually, Drugs etc will be synced as product type “Saleable Product” that can be stocked, and Lab tests/Radiology tests etc will be synced as “Service”. 
  • In “General information” tab, configure properties like “Sales Price”, “Cost Price”, “MRP”, “Units of Measure” etc
  • In “Inventory” tab, configure properties like Routes (Buy or Make to order), tracking options (No tracking, by serial number, by lots”, vendors for this product etc (especially for stockable product)

NOTE: Tracking options are important, especially if you are managing purchases through Odoo and dispensing drugs by lots or serial number. 



Customize Product Lots/Serial list view

If you have enabled product tracking by “lots/serial number”, and you follow a purchase/receive process for that product, you can define sale price for each lot while receiving the products. 

List of lots/serial information can be viewed form “Menu / Inventory / Inventory Control / Lots/Serial Number”. By default the screen shows up with a table showing fields - “lot/serial number”, “reference”, “product”. 


If you would like to see fields like “cost price”, “sale price” and “expiry date”, you need to customize the odoo default view. To do this see follow instructions below

  1. Enable developer mode
  2. Go to“Menu / Inventory / Inventory Control / Lots/Serial Number”, and from Odoo developer tools (top right corner), select “edit treeview”, edit the XML view definition and add the following fields. 
    Losts TreeView
        ....
        <field name="cost_price"/>
        <field name="sale_price"/>
        <field name="life_date"/>
  3. Save and reload the page. You should see the view like below with additional columns

On this Page

Feature Details


Usage Details


Related Links

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)