Welcome to Open mSupply for Desktop, Web & Android!


Open mSupply builds on over 20 years of mSupply, over which time it has become the most used Logistics Management Information System (LMIS) in low & middle income countries.

What platforms are supported?πŸ”—

Open mSupply runs on Desktop (Windows, Linux & Mac), as a web application in your browser, or also as an Android application (for tablets, not for phones at this stage).

Where can I download it?πŸ”—

We provide a number of downloads on our releases page hosted in our GitHub repository. The latest version will be shown at the top of the list of releases - we generally recommend using the latest version where possible.

Within each release there is an Assets section which has the files you need to install Open mSupply.


There are installers built for each release, providing:

  • Server: which supports either SQLite or PostgreSQL and runs as a windows service. The installer name for the server is Open_mSupply_Server_[version].exe
  • Desktop: A windows application which allows you to connect to a running server. The installer name for the server is Open_mSupply_Desktop_[version].exe
  • Standalone: combines the above two; runs a server as a windows service and has a windows application which will connect to it. The installer name for the server is Open_mSupply_Standalone_[version].exe
  • Demo: A pre-configured server installation which does not require a central server to run. The installer name for the server is Open_mSupply_Demo_[version].exe


The android version is distributed as an .apk file which you can install. This file has the name open-msupply-[version]-release.apk


For the mac desktop version, we provide a .dmg file, which has the name Open_mSupply_[version].dmg.

What does it do?πŸ”—

In short, Open mSupply manages your inventory, recording every receipt and issue of goods, and thereby providing a running balance of your stock on hand for each item.

Open mSupply does much more than that. Features include:

  • Inventory management
    • Easily see per-batch stock on hand
    • Manage shelf locations for your store/warehouse
    • Assign locations to incoming stock, or change locations as you rearrange stock in your warehouse
    • Perform stocktakes, and assign reasons for inventory adjustments
    • Repack stock
  • Receive and fulfil orders from customers (facilities you supply)
  • Place orders with your supplying store
    • Quantify amounts required based on simple or complex formulas
    • Track order status as your supplying store fulfils and ships the order!
    • Receive goods into stock when the order arrives
  • Be alerted to low stock levels from the dashboard
  • Perform basic dispensing
    • Manage patient records
    • Create a prescription for a patient
  • Manage cold chain
    • View logs from temperature sensors
    • Upload data from USB temperature loggers
    • Be alerted of temperature excursions and breaches
    • Connect temperature monitoring devices to stock via stock locations
  • Extend functionality of the base system with the use of front-end plugins. These allow for custom development of simple tasks such as adding fields to records which can then be displayed in lists and editing forms. For further details, see the plugin readme.

What makes mSupply special?πŸ”—

There are a lot of systems that manage inventory. Open mSupply has unique features that make it ideal to use for health supply chains in low resource settings:

  • Offline first: mSupply is designed from the ground up to work without internet. We know from 20 years of experience that even the most reliable internet connections sometimes fail or get overloaded. mSupply allows you to work without having to worry about second-by-second internet quality. Of course, when you need to place orders or receive updates from other facilities, you need internet for a few minutes then.
  • Scalable: We've designed Open mSupply to handle billions of transactions a year, but to also work on an Android tablet! You can implement mSupply in one facility, knowing that if you later decide to deploy thousands of sites, mSupply will still be the right tool.

To get some insight into the full breadth of mSupply's functionality, have a look at the legacy mSupply software documentations at - it's almost 1000 pages if you print it all (so maybe don't ☺️)


The following table outlines some of the common terms used in mSupply, and also guides users of legacy mSupply regarding terminology improvements we have made.

Open mSupply TermLegacy mSupply termDefinition
Outbound ShipmentCustomer InvoiceThe creation of a supply of goods to a particular customer (facility)
Inbound ShipmentSupplier InvoiceThe receiving of a supply of goods from a particular supplier
Inbound ShipmentSupplier InvoiceThe receiving of a supply of goods from a particular supplier
RequisitionCustomer RequisitionsAn order for supply of goods made by a particular customer (facility)
Internal OrdersSupplier RequisitionsA request for stock made to a particular supplier (facility)
Outbound ReturnSupplier CreditThe return of supplied goods to a particular supplier (facility)
Inbound ReturnCustomer CreditThe receiving of a return of goods from a particular customer (facility)

Getting StartedπŸ”—

To run Open mSupply you will require an mSupply server to operate as a central server. While we are planning to create a new open source central server, that is not yet available.

Note that we are also currently working through testing the migration process and the integration of Open mSupply with an existing mSupply system. As such, we aren't recommending that you upgrade without talking to us first.



  1. You need an existing mSupply system with a Legacy mSupply server with web and sync server modules
  2. As of December 2023, it is not possible to migrate an existing Legacy (or Mobile) mSupply store to an Open mSupply store; only new stores can be created in Open mSupply


  1. Any Open mSupply stores need to be created in the Legacy mSupply central server as detailed in Creating new stores. Note that turning an existing customer into a store is not currently supported for Open mSupply sites.
  2. Users need to be created and configured for the store(s) in the Legacy mSupply central server as detailed in Managing Users
  3. The Open mSupply site needs to be created in the Legacy mSupply central server as detailed in Creating New Sync Sites
  4. The store(s) will need to be added to the Open mSupply site in the Legacy mSupply central server as detailed in Adding stores
  5. Deploy Open mSupply to your device from the Open mSupply GitHub repository. Consult with TMF support to make sure that you are deploying the correct version
  6. Initiate Open mSupply on the device. You should see something like the screen below.