misc:test

This is an old revision of the document!


msupplybanner.jpg

About mSupply Section

Thank you for choosing mSupply. mSupply is now a family of software products, a team of trainers and consultants. Before you launch in (if you haven't already!), we suggest you plan to take the following steps.

  • Get a feel for Open mSupply. If you're running a vertically integrated supply chain, Open mSupply will likely work well for you. It is open source (free of charge) and is the product that The mSupply Foundation is prioritising for development. As of February 2025, a proprietary Legacy mSupply Central server is still required at the core of an mSupply installation, but most stores in the supply chain below the 'central' store(s) can be Open mSupply. The plan is to develop all of the central server functionality in Open mSupply.
  • Read the rest of this introduction.
  • Read the setup, tutorial and licence chapters in this manual.

Please note that installation requires basic computer skills:

  • You need to be able to locate a file using the “open” and “save” windows.
  • If you are not sure, why not try, and email us if you get stuck.

mSupply is designed to handle the following tasks:

  • Recording quotations received from various suppliers in a way that makes for easy comparison of true cost prices.
  • Create tenders for suppliers to respond to.
  • Ordering (Purchasing) of items from a particular supplier, using actual usage figures to calculate the required quantities.
  • Entering of incoming goods into inventory.
  • Manufacturing items. That is, building new items from raw materials in your stock.
  • Tracking Accounts Payable and Accounts Receivable
  • Issuing of invoices for customers, and recording the transaction against inventory.
  • Customers are able to order on-line via the internet, and can view stock status and the status of their orders.
  • Exporting purchase and invoice data for import into an accounting program.
  • Reporting on transactions and other data in almost any manner you want!
  • If you need help with installing mSupply please feel free to email us at support@msupply.org.nz

About this user guide

The latest and most authoritative version of this User Guide is located on-line at http://docs.msupply.org.nz/. You can export the chapter you're viewing in PDF format by clicking the export:pdf tab to the right. It may then be viewed off-line within Acrobat Reader or other PDF viewer. To obtain the whole user guide in PDF format, visit mSupply site

If you are reading a PDF version, it is likely that a more up-to-date version is available on-line.

The software is under constant development as new features and facilities are added. We strive to ensure that the user guide and the graphics that it contains reflect these developments, but occasionally you may find that there are differences between the program itself and the guide or its graphics, where the updating of the guide has not quite kept pace with the development of the software. These are usually of a minor nature, but should you have any difficulties, do please send us an e-mail with details of your problem.
It should also be noted that with the considerable range of preferences and user permissions, a particular user's window may have features included or omitted (according to their preferences and their permissions) when compared with the screenshots appearing in the guide.

As mSupply is compatible with both Windows OS and Apple Mac OS, there is a mix of screenshots in the manual taken from each operating system.

About us

Sustainable Solutions was established in 2001 with the primary aim of supplying and supporting mSupply software in developing countries. We are committed to producing software that enables excellence in health care delivery. We take pride in looking after people who choose to use our services.

We have offices in:

  • Kathmandu, Nepal
  • Auckland, New Zealand
  • Dundee, United Kingdom
  • Belfast, United Kingdom
  • Melbourne, Australia

We can be contacted at:

Please feel free to request more information.

Thanks

  • This software grew out of necessity at the Medical Supply Department, Kathmandu, Nepal. We learnt a lot from Jaap Zijp's software “Bhandari”, and from the staff at MSD where mSupply was originally developed and tested.
  • Ujwal Khatry has stuck with Sustainable Solutions for twenty years, including the startup period where our company name could well have been a misnomer.
  • Jim Staples of 4D inc. http://www.4D.com kindly arranged an initial donation of the 4D development environment we use.
  • Thanks to those people in the 4D tech mailing list who have helped for no benefit to themselves.
  • John Ross, Pharmacist of Patan Hospital, Kathmandu, believed in the quality of mSupply enough to use it long before it was fully ready
  • David Adams kindly donated his superb texts on 4D.
  • The moderators of the E-Drug mailing list have been gracious in letting us use that list for occasional announcements.
  • Juliet has always been supporting and more through the ups and downs of starting a new organisation.

mSupply software is copyright Sustainable Solutions, 2006, UMN/INF/Interserve 1996 to 1999. You may only use the software in accordance with the accompanying licence agreement.

Licence Agreement and Costs

Commercial users or any user wanting multi-user functionality enabled must obtain a licence from Sustainable Solutions.

Please view our web site http://www.msupply.org.nz for up-to-date pricing.

A free version of mSupply is available for Non-commercial use

  • You may use mSupply software in single user mode for free as long as it is used:
    • in an approved not-for-profit organisation
    • in a developing country.
  • Sustainable Solutions shall be the sole arbiter of those qualifying for free use.
  • All users (free and paid) must register with Sustainable Solutions to obtain a registration code. Information supplied will not be used for any purpose other than generation of registration code.
  • Users who have obtained a free licence number are not eligible for free support.

Please contact us for quotes regarding customised versions and installation and training packages.

Changes in recent versions

The mSupply version history is available here: http://msupply.org.nz/history



Previous: 1. About mSupply | | Next: 1.02. Why mSupply?

If you aren't familiar with using a computer, you should read this chapter. We also recommend you work through the 3. Tutorial section of this user guide.

General terms

Menus: choose New item from the Item menu (sometimes also written as choose Item>New item) means click on the word Item in the menu bar, then choose New item from the menu that drops down.

Keyboard keys: a handful of keys on the keyboard are used extensively and are indicated in italics. The most common are: Tab, Shift, Ctrl, Alt, Enter and Backspace.

Field: an area on the screen (usually a white box) where you can make an entry, either text or numbers. In many places, you can use your mouse to hover over a field for a description of what is required.

Typed data: anything that must be typed into a field is shown in monospace font. For example: Type 100 and press Enter.

Checkbox: a box that changes from having an “X” in it to being blank each time you click in it. To “check” a checkbox means to click it so that an “X” appears (if there is not one already present). Checkboxes have text beside them explaining what the box is for.

Tab & Shift: you can generally move from field to field in a window using the Tab key. Holding down the Shift key while pressing the Tab key will move from field to field in the reverse order to normal. Note that on Windows, some buttons are “tab-able”. That is, pressing the Tab key moves the “focus” to a button. Pressing the Return or Enter key will then activate that button.

Highlight button: pressing the Enter key will operate the highlighted button in a window. This is is usually the OK button.

Double-click: in lists (e.g. of suppliers, customers or items), double-click using the left button of the mouse on a line to edit or view more details.

Insertion point: the blinking line in a field that indicates which field is currently accepting typed input.

OK button: can be operated by pressing the Enter key.

Cancel button: can be operated by holding down Ctrl key (cmd on Macs), and pressing the period key (full stop).

Path to a file (or document): a way of describing where a document is stored on your hard disk. It is written as hard disk:folder 1:folder 2:document, which is the same as C:\folder 1\folder 2\document.

Modifier keys: are different for Windows and Macs. We've tried to list both in the manual, but sometimes one might slip through.

  • The Windows Ctrl (control) key does the same as the cmd (command) key on Macs
  • The Windows Alt (alternate) key does the same as the opt (option) key on Macs.

Column headings: can be clicked to sort the list by that column.

Negative values: are generally not required in mSupply. Even when you are entering returned goods from customers, or returned goods to suppliers, you enter positive values. mSupply automatically converts the invoice total to a negative amount when it is a credit to a supplier or from a customer.

mSupply terms

Basics

Items: Items are the products we manage in mSupply, including medicines, consumables, equipment, laboratory and radiology items or even larger assets such as vehicles and furniture. An item may or may not have stock lines at any given time. For example: In the example data file provided with mSupply, “Amoxycillin 250mg tab/cap” is an item. When you first start to use the example data file it has 2 stock lines. (You can view them under the “stock” tab of the Item details window (more on that later!).

Item Lines (or “Stock Lines”): Represent different batches of the same item.

Stock: Represents the physical stock (inventory) in your store.

Stores: Stores are facilities using mSupply (desktop or mobile). Some facilities can run multiple stores. For example, there may be a pharmacy in the emergency department that manages stock completely separately to the main pharmacy – this can be a separate store (if they are using mSupply).

Locations: Locations are places within stores where items are kept. Locations can only exist within a store. A large store like a central warehouse may have several thousand highly specific locations (e.g. A.02.04, B.01.03), while a small store may only have a few locations (e.g. Room 1, Room 2). Items may also be stored without assigning a location: this is common in very small facilities, where items are just stored alphabetically.


People

Suppliers: Suppliers are facilities that a store orders or receives stock from. Suppliers may be external (e.g. private drug companies or wholesalers) or internal (e.g. central medical store, provincial warehouses).

Donors: Donors are external entities who pay for donated stock (e.g. UNICEF, USAID). No donor is entered when the government or medical store is paying in a normal financial transaction. When the donor is recorded, you can track donated items through the supply chain and run donor transaction reports and stocktakes.

Customers: Customers are recipients of items, excluding patients (usually). This includes health centres, hospitals, wards, private clinics and pharmacies, touring medical teams, outreach services and any other entity that an mSupply store issues stock to.

Patients: Patients are individual people who receive items from a prescription. When a store uses mSupply in dispensary mode, patients receive unique ID numbers and we can track their prescription history, allergies, payment history, insurers and notes.

Prescribers: Prescribers are authorised medical professionals who provide prescriptions to patients, which we can dispense in mSupply. Prescribers may include doctors, nurses and other authorised individuals.

Users: Users are the people using mSupply (you!). Each user has their own password and set of permissions (which can vary from store to store). System logs track everything that users do in mSupply.


Transactions and Features

Builds: Builds are transactions that record the manufacturing of an item by turning raw materials into a finished product.

Stocktakes: Stocktakes are physical counts of the stock in your store including all item details, such as the item name, quantity, batch and expiry date.

Purchase Orders: Purchase Orders are used to order stock from an external supplier i.e. a supplier who does not use mSupply (e.g. private drug companies, wholesalers, private pharmacies).

Goods Receiving: Goods Receiving is used to receive stock from an external supplier who we previously ordered stock from via a purchase order. We can then create a Supplier Invoice directly from the goods receipt to add received stock to our inventory.

Supplier Invoices: Supplier Invoices are used to add received stock to our inventory. They are also known as “bills”.

Internal Orders: Internal Orders are used to order stock from an internal supplier i.e. a supplier who does use mSupply (e.g. central medical store, provincial warehouses).

Requisitions: Requisitions show internal orders placed to our store from customers using mSupply. Examples of customers using mSupply include provincial warehouses, public hospitals and health centres. We can create a Customer Invoice directly from the requisition to issue stock to a customer.

Customer Invoices: Customer Invoices are used to issue stock to a customer from our inventory.

Prescriptions: Prescriptions are instructions written by a prescriber authorising a patient to be provided a medicine or medical device. mSupply can record dispensed prescriptions and maintain patient dispensing histories.

Patient Credits: Patient Credits are used to return items from patients and record credits in their favour. mSupply tracks patient credits and applies them to outstanding prescription payments.

Payments: Payments are used to record payments made to suppliers. mSupply tracks outstanding payments from supplier invoices.

Cash Receipts: Cash Receipts are used to record payments received from customers for customer invoices. They can also be used to record patient payments for dispensed items. mSupply tracks outstanding payments owed by customers and patients.

Supplier Credits: Supplier Credits are used to return items to suppliers and record credits in your favour. mSupply tracks supplier credits and applies them to outstanding supplier payments.

Customer Credits: Customer Credits are used to return items from customers and record credits in their favour. mSupply tracks customer credits and applies them to outstanding customer payments.

Cash Register: The Cash Register records incoming and outgoing cash transactions and displays a current balance. mSupply tracks all cash movements and records them here.


Configuration

Visibility: Visibility allows us to control what stores, customers, suppliers and items a user can see when logged into a specific store.

Preferences: Preferences are system-wide settings that apply to all stores and users.

Store Preferences: Store Preferences are settings that apply to specific stores.

Permissions: Permissions are settings that apply to specific users as either individuals or groups.



Since its creation in 1998, mSupply has grown and multiplied as it has been applied to different challenges. The original Free-user (Windows or Mac based) application continues to be downloaded and used regularly. In fact, it comes packed with (almost) all the bells and whistles of some of our most sophisticated installations, but is only suitable for a small, 'single concurrent user' facility.

So which are the right mSupply products for your organisation?

Free-user

  • PC or Mac application - Download here. The database resides on the computer that the application has been installed on. It can be used by only one user at any one time.
  • Free! You still need to register mSupply with Sustainable Solutions, but we don't charge you for it - and we don't sell your contact details either!

Single-user

  • Same as Free-user, but for users who wish to make use of Support1) and Up-to-Date (UTD)2)
  • A software license needs to be procured, generally for about 1/3 of the price of a multi-user client, and then Support and UTD on top of that.

Multi-user (Server / client)

  • For situations where more than one user needs to access the database at one time. The database is hosted on a file server and mSupply server software is installed on that hardware. Users have access to this data through mSupply client software installed on client PCs that communicate to the server through a Local Access Network (LAN). Remote users can access the server through Remote Desktop Protocol (RDP) or similar.
  • A software license needs to be procured for each concurrent client. Support and UTD is optional, but highly recommended. Most of our customers are very happy to pay for these services.

Synchronised Multi-user

  • If the internet connection to remote users in a Multi-user configuration is inadequate, then synchronisation allows a Primary - Satellite configuration to be deployed. 'Satellite' multi-user servers are installed at remote sites where users operate mSupply on their local store without worrying about the internet connection. In the background, these 'satellite' servers will synchronise their local store data with a 'Primary' server when the internet connection becomes adequate.
  • A software license needs to be procured for each concurrent client for each server. The Synchronisation server Module and Web Server Module are required on the central server.

Synchronised Single-user (Single-user sync)

  • There are situations where the remote sites (with poor internet access) are just single-operator stores needing to manage and report their stock using the fully featured mSupply client. Procuring the minimum multi-user satellite server configuration for each of these sites would be expensive. A solution has been developed that entails installing single-user client machines (normally laptops) at these remote locations and then synchronising them to the primary server much like the Synchronised Multi-user configuration.
  • Lower cost than conventional synchronised multi-user as the single-user client license is less costly than multi-user client licenses. The Synchronisation server Module and Web Server Module are required on the central server.

mSupply Mobile (Android)

Open mSupply

Comparison table

The key differences between the configurations basically comes down to how the user(s) interact with the database. We hope this table helps in making that decision.

Product / configuration Description Software price implications
- refer Pricing
Free-user PC or Mac application - Download here. The database resides on the computer that the application has been installed on. It can be used by only one user at any one time. Free! You still need to register mSupply with Sustainable Solutions, but we don't charge you for it - and we don't sell your contact details either!
Single-user Same as Free-user, but for users who wish to make use of Support3) and Up-to-Date (UTD)4) A software license needs to be procured, generally for about 1/3 of the price of a multi-user client, and then Support and UTD on top of that.
Multi-user (Server / client) For situations where more than one user needs to access the database at one time. The database is hosted on a file server and mSupply server software is installed on that hardware. Users have access to this data through mSupply client software installed on client PCs that communicate to the server through a Local Access Network (LAN). Remote users can access the server through Remote Desktop Protocol (RDP) or similar. A software license needs to be procured for each concurrent client. Support and UTD is optional, but highly recommended. Most of our customers are very happy to pay for these services.
Synchronised Multi-user If the internet connection to remote users in a Multi-user configuration is inadequate, then synchronisation allows a Primary - Satellite configuration to be deployed. 'Satellite' multi-user servers are installed at remote sites where users operate mSupply on their local store without worrying about the internet connection. In the background, these 'satellite' servers will synchronise their local store data with a 'Primary' server when the internet connection becomes adequate. A software license needs to be procured for each concurrent client for each server. The Synchronisation server Module and Web Server Module are required on the central server.
Synchronised Single-user\\ (Single-user sync) There are situations where the remote sites (with poor internet access) are just single-operator stores needing to manage and report their stock using the fully featured mSupply client. Procuring the minimum multi-user satellite server configuration for each of these sites would be expensive. A solution has been developed that entails installing single-user clients machines (normally laptops) at these remote locations and then synchronising them to the primary server much like the Synchronised Multi-user configuration. Lower cost than conventional synchronised multi-user as the single-user client license is less costly than multi-user client licenses. The Synchronisation server Module and Web Server Module are required on the central server.
mSupply Mobile mSupply Mobile is Open Source software that is similar to the synchronised Single-user configuration, but the users operates the software app on an Android tablets. This app has a reduced feature set, but is more than adequate for most Last-Mile needs. Local stock details are synchronised back to the Central server, and can be monitored and reported on there. Pricing is even lower than for Synchronised Single-User. This was the way forward for the medical supply chain in small and remote facilities - until Open mSupply (see below) took that honour! The Synchronisation server Module and Web Server Module are required on the central server.
Open mSupply Open mSupply is the Open Source software multi-platform mSupply software that has been under development by the mSupply Foundation since 2020. Open mSupply has all of the flexibility of all of the other versions of mSupply with the benefit of being Open source. Local stock details are synchronised back to the Central server, and can be monitored and reported on there. Pricing for smaller facilities (single-user stores) is the same as mSupply Mobile. We see this as the way forward for the medical supply chain in both small and remote facilities and in large multi-user facilities. The Synchronisation server Module and Web Server Module are required on the central server.
mSupply Customer Web Interface Allows staff of Customers in your mSupply system order stock on-line. It runs on a browser on any device: tablet, smartphone, net-book, desktop computer etc. It's a little hard to see why this should be chosen over Open mSupply, as the costs are very similar, without the benefit of being able to operate a store… Depends on your situation - contact us. The Web Server Module is required on the central server.
FrontlineSMS integration mSupply has the ability to integrate with a FrontlineSMS installation. This allows a customer to send their current stock levels to mSupply using an SMS (text) message from any mobile phone. This is particularly useful if, for example, you are a mobile or remote health post or dispensary which doesn't have internet access and only needs to send in information about a few items at a time. SMS module is required on the central server.

Other modules are available for addition to the basic mSupply application:

Module Comments Software price implications - refer Pricing
FrontlineSMS Allows users to send their current stock levels to mSupply using an SMS (text) message from any mobile phone - even with only 2G reception!. This can then be used by mSupply to determine how much stock to send to the facility. Equal to the price of 1 client license.
Product (drug) Registration Allows integration of product registration (control of what products can be supplied by authorising particular suppliers and products) by recording and tracking the status of supplier's registrations and storing the documentation for easy retrieval. Equal to the price of 2 client licenses.
Web Server Module Allows you to access mSupply data on the server from any networked computer that has internet access.
This module is a prerequisite for several other modules.
Equal to the price of 2 client licenses.
Synchronisation server Module Maintains data integrity between a central mSupply server and 'satellite' mSupply servers. It therefore only applies to situations where there is a multi-mSupply server setup.
Requires the Web Server.
Equal to the price of 2 client licenses.
Tender Management Allows execution of a full tender process including publishing of the tender through a web site, and so allowing tenderers to submit tenders on-line.
Requires the Web Server.
Equal to the price of 1 client license.



Software costs

When procuring software, an obvious question is what does it cost. We try to be as up-front as possible about what mSupply software costs. Even so, it's complicated. As you can see above, the mSupply ecosystem is complex and each component has different costs. For a start, we've tried to document the software costs on our pricing page. The amounts that you might pay for mSupply software can be divided into three components:

  • License costs Thanks to the generous support of many donor agencies over the decades of mSupply's existence, only the mSupply products built on the (very good!) 4D database engine incur a license fee, up-front, lasting forever - refer Pricing. Not all of the 4D based mSupply products have a license fee; Free-user is … free ;-).
    mSupply Mobile and Open mSupply are both Open Source software, and so are FREE of licence fees.
  • Installation costs mSupply systems need to be configured to the needs of the supply chain system. In principle, software and hardware configuration can be done by system administrators in the host organisation. However, in most cases, the mSupply Foundation is engaged to assist with software and hardware configuration. This is often done initially by one or more consultants travelling to the country for a number of weeks. The costs of this will normally be in the tens of thousands of dollars. Once a country has an mSupply system up and running, additional stores and sites can normally be added at much lower costs, with indicative prices below. For large implementations, local configuration capacity needs to be developed, and the mSupply Foundation is very keen to train local system administrative configuration capacity.
    • Configure a store, not including storage locations and complex user profiles: USD 100
    • Configure hardware:
      • Tablet: USD 25
      • Single-user PC: USD 100
      • Server: USD 200
  • Maintenance costs As with any technology systems, there are ongoing maintenance costs including keeping software up-to-date5) and providing support. This support could be provided by system administrators in the host organisation. However, in most cases, it has been found to be more effective to engage the mSupply Foundation to provide support, at least in part. For large implementations, local support capacity needs to be developed, and the mSupply Foundation is very keen to train local system administrative support capacity.
    • For mSupply products that have a license fee, Up-to-date and support is charged as detailed here.
    • For Open source products, support is charged as detailed here.

And all the other costs

Software is never the largest component of deployment and operational costs. Local circumstances can vary dramatically, but in one a typical developing country with in excess of 500 mSuppy stores, the experience has been that after the expensive initial deployment, deployment and operational costs have been:

Cost type Deployment Annual operation
License 0% (Open source) 0% (Open source)
Configuration / Support 5.6% 7.6%
Hardware 37.3% 9.1%
Internet 0% 36.6%
Training 57.1% 46.6%

Note that in this particular country, the annual costs of a the cheapest commercially available cellular internet connection exceeded the capital cost of the 10“ Android tablets.

Key conclusions:

  • Training is the highest cost (rightly so!)
  • Provision should be made for hardware depreciation (devices do break, get stolen, etc.)
  • Software costs are normally < 10% of the costs (capital and operational)

We need two servers!!!???

The ICT industry is plagued by the practice of using the same term to refer to software, hardware or both combined! As it relates to mSupply in multi-user environments, there is often confusion over two of these:

  • The term 'Server' can refer to:
    • The mSupply server computer software which runs the mSupply database,
    • The hardware which the mSupply server software is installed on, and;
    • Both the hardware and the software acting together. This is possibly the most common usage. When we say something like “send to the server” we mean send data to the server software operating on the server hardware.

The server hardware can actually be a cloud hosted 'service' rather than physical hardware that you own and try to manage. Sometimes the server hardware is referred to as a 'file server', and this can help to avoid confusion. In any case, for any multi-user mSupply installation, including mSupply mobile, both server software and server hardware are needed, and both of them cost money.

  • Similarly, the term 'Client' can refer to:
    • The mSupply client computer software which accesses the mSupply server (software) database on the server (hardware),
    • The hardware which this client software operates on, and;
    • Both the hardware and the software acting together.

Sometimes the client hardware is referred to as a 'client PC' (Mac or Windows) and this can help to avoid confusion. Again, for any multi-user mSupply installation, including mSupply mobile, both client software and client hardware are needed. For mSupply mobile, the client hardware is an Android Tablet - refer Mobile (Android) user guide v2.0 - featuring offline operation.

We are a software company, so when we use these terms, we will almost certainly be referring to our software, but sometimes not. The context normally helps, but please forgive us if we fail to distinguish between these meanings!



This list isn't exhaustive.

All sites are multi-user with the number of sites x number of concurrent users at each site in brackets unless denoted by SU (=“Single User”) after the name.

Our 3 largest users are:

Country Total Sites Desktop Sites Mobile Sites
Myanmar 900 900 0
Côte d'Ivoire 1996 1200 796
Papua New Guinea 447 42 405

Open mSupply installations are in:

  • Djibouti
  • Timor-Leste
  • Mali
  • Sao Tome
  • with Côte d'Ivoire, Niger, Chad, Republic of Congo all planned for 2025

Africa (16 countries)

Angola
  • Went live at CECOMA (their CMS) in September 2023)
Côte d'Ivoire
  • Designated national system
  • Type of system: WMS & ELMIS
  • As of December 2021: over 700 sites- mixture of desktop and mobile
  • 30 sites with World Bank funding from 2021
Djibouti
  • Went live at 14 sites May 2023
Democratic Republic of Congo
  • Cordaid (3)
Gambia
  • Gambia Central Medical Stores (14)
Ghana
  • Central Medical Stores (5)
  • Status 2015: CMS was destroyed in a fire in 2014, and the project has been on hold since then.
Niger
  • 2 regional warehouses managed by Chemonics (SU) - 2020
Nigeria
  • Six Government state stores (6 x 3)
  • Ten Government stores managed by Axios (10 x 2)
    • Axios HQ, Abuja (4)
    • Axios uses mSupply synchronisation to connect sites that don't have full time internet access. This system has been in use since 2010, and continues to function well.
  • FCMS Store, Lagos (5)
  • Jigawa CMS
  • From March 2016: 20 new users spread over 6 states (Kaduna, Katsina, Zamfara, Kano, Jigawa, Yobe)
  • Private non-pharmaceutical supplier, Lagos (STIL)(SU)
  • UNFPA warehouse, Lagos (5 users) - 2021
Liberia
  • Axios: 1 site synchronising to a central server
  • Liberia MoH: 11 sites being consolidated to a single mSupply installation Dec 2016
  • using EPI module: yes
Malawi
  • Orant Charities (SU). From 2017.
  • Nkhoma Hospital Pharmacy Department. From 2015
Mali
  • UNFPA Open mSupply pilot, December 2024 onwards
Sāo Tomé and Principe
  • Designated national system
  • Type of system: WMS & ELMIS
  • National supply chain system (10 users 2021, expanding to 40 users in 2022)
Sierra Leone
  • Designated national system
  • Type of system: WMS & ELMIS
  • MRC (SU)
  • Crown Agents Ebola Response and Free Health care distribution (20) - several stores around Freetown running from a single cloud server.
  • National Pharmaceutical procurement unit (2017). Central server with 18 users, 13 regional sites, et al.
  • LSHTM Ebovac (2017). Server with 5 users.
South Sudan
  • Designated national system
  • Type of system: WMS & ELMIS (expanding to ELMIS H2 2022)
  • MoH Central Medical Stores (5 users)
    • Expanding to whole country in 2022
  • UNDP Juba (5 users)
Zambia
  • Churches Health Association (4 users)
Zanzibar
  • ZILS (5 users)
    • this system employs an EDI interface to pick up orders sent to a dropbox folder from the Zanzibar LMIS system and incorporates it into mSupply
    • expanding to Pemba in 2022

Pacific (15 countries)

Cook Islands
  • Desktop Sites (5) - 2018
  • Mobile Sites (10) - 2018
  • using EPI module: yes
Federated States of Micronesia (FSM)
  • 7 users at CMS/main hospital - 2012
Kingdom of Tonga
  • Central Pharmacy Medical Stores (3)
  • Vaiola Hospital (4)
  • Haapai Hospital (SU)
  • Vava'u Hosptial (SU)
  • 'Eua Hospital (SU)
  • Mobile (11)
  • National Covid 19 vaccination program run using mSupply mobile - 2021
  • using EPI module: yes
Kiribati
  • Designated national system
  • Type of system: WMS & ELMIS & Covid Vaccination Record
  • Tungaru Hospital (9)
  • 3 34 sites using mSupply mobile
  • National Covid 19 vaccination program run using mSupply mobile
  • using EPI module: yes
Marshall Islands
  • Ministry of Health/Majuro Hospital (2)
Nauru
  • Central Hospital and Stores (6 users)
Palau
  • 3 sites including CMS- went live in 2022.
Papua New Guinea
National Department of Health
  • Designated national system
  • Type of system: WMS & ELMIS
  • Central server (cloud hosted) with 12 client users
  • 28 Sync server sites (Area medical stores (AMS), provincial hospitals) with 118 client users
  • 13 Single-User desktop sync sites (district hospitals)
  • 105 Mobile sites (Health centres)
  • 300 Mobile sites (UNICEF) 2022
  • using EPI module: yes
Burnett Institute
  • 8 mobile sites (Strive project)
Solomon Islands
  • Designated national system
  • Type of system: WMS & ELMIS
  • National Medical Stores (14 users + Web server + Tender module)
  • National Referral Hospital (4)
  • mSupply mobile- 50 Second Level Medical Stores (phased installation from October 2016)
Tokelau
  • 3 sites covering country - 2018
Tuvalu
  • Princess Margaret Hospital (2)
Vanuatu
  • Designated national system
  • Type of system: WMS & ELMIS
  • Central Medical Stores (2)
  • Vila Central Hospital Pharmacy and Store (3)
  • Lenekel Hospital (2)
  • Norsup Hospital (2)
  • Luganville Hospital (2)
  • using EPI module: yes
Fiji
  • Designated national system
  • Type of system: WMS & ELMIS
  • National deployment to 230 sites started October 2020.
  • Aspen Hospitals x 2
Samoa
  • Nationwide deployment (approx 18 sites) started July 2020 - completed 2022
  • Using mSupply Coldchain for monitoring fridges, including receiving Telegram alerts for breaches.
Niue
  • Using mSupply for pharmacy store and all dispensing.
  • Using mSupply Coldchain for monitoring fridges

Asia (3 countries)

India
  • Meyer Free Clinic
Nepal
  • INF (3 sites- SU)
  • MSMT (SU)
  • Patan Hospital (SU)
  • Lal Gadh Hospital
  • Gurkha Welfare scheme (26 sites, SU) Funders: DFID, GWT
Afghanistan
  • Six NGOs responsible for medicine distribution in provinces synchronise data back to a management server in Kabul (July 2016). Includes automated generation of a multi-workbook Excel spreadsheet that includes macros that submit data to a Ministry of Health database.
  • UNDP warehouse (2019- 5 users)
  • CMS warehouse (2019- 5 users)
  • AFIAT project: 70 sites
  • UNCEF : starting to roll out as national system from May 2025

South-East Asia (4 countries)

Cambodia
  • World Mate Emergency Hospital
  • WMEH Warehouse
Laos
  • Designated national system
  • Type of system: WMS & ELMIS
  • 186 sites (complete Nation implementation) using mSupply synchronisation
Myanmar
  • Designated national system
  • Type of system: WMS & ELMIS
  • 31, no 42 150 362 639 sites using synchronisation to connect to a cloud server, with plans to extend to 3000 sites over the next few years.
  • Medical Action Myanmar (Dec 2017) - 25 mobile sites connecting to a cloud server running mSupply.
  • UNICEF funded EPI program - approx 350 sites starting 2021
  • using EPI module: yes
  • Zenith TRI (2022 onwards): another ~40 sites on a separate system serving NGOs
Timor-Leste
Ministry of Health
  • Designated national system
  • Type of system: WMS & ELMIS
  • Sites
    • SAMES (10)
    • Hospital Nacionale Guido Valedares (5)
    • Dili Central Medical Services (Mobile)
    • 100 mSupply mobile sites (expanding to over 300 in 2022)
    • National Laboratory, Dili & 5 regional laboaratory sites
Menzies Health
  • Central laboratory
  • 8 remote laboratory sites

Americas (3 countries)

Colombia
  • Bogota warehouse supported by Chemonics (2022)
  • Valle del Cauca regional warehouse
  • Cundinamarca regional warehouse
Haiti
  • National warehouse run by Chemonics (2021)
  • National Logistics System (2023/24)
USA
  • SafeNetRx (was Iowa Prescription drug corporation)
    • users: 2
    • Web server: clients from all over Iowa place orders using the mSupply web interface
    • SafeNetRx are the largest non-governmental supplier of free medicines in the USA.

Europe and the United Kingdom (1 country)

United Kingdom
  • UK Microbiological Products supplier (Private company). Since 2012
  • UK Med, suppliers of the UK-EMT (Emergency Medical team), responsible for the UK's international emergency medical response.



This section outlines the approach and ethos of Sustainable Solutions as well as the main areas of functionality that mSupply covers.

People

  • Our aim is to serve developing countries with solutions that provide real benefit.
  • We are driven by a desire to serve, rather than by profit.
  • That said, we are a profitable company with no debt and a commitment to stay in business for as long as we are needed.
  • We have a balanced mix of expatriate and Nepali staff who work on mSupply.

Experience

  • We've been working on mSupply since 1998, and full-time as Sustainable Solutions since 2001. In that time we've done hundreds of days of training, converted hundreds of thousands of records from other systems to mSupply, and installed mSupply in hundreds of locations.
  • Our experience in Nepal, and in many other developing countries, gives us a unique perspective and understanding of the challenges and opportunities involved in working in similar environments.
  • We know that a decision to install mSupply is a big one. We're committed for the long term. We're planning to be here decades from now.

Ease-of-use

  • mSupply is very easy to install- 10 minutes and a whole department is up and running.
  • mSupply uses an easy-to-use graphical interface that makes it a breeze to add purchase orders, patient prescriptions, tenders, etc.
  • The system is also made with high-usage warehouses and busy pharmacy departments in mind. he system automates item purchases, receipts and sales for the warehouse administrator, and also provides features such as abbreviated directions entry for quick prescribing of medicines.
  • There is always a balance between features and usability. While we know we don’t always get it right, we try to make sure we don’t add features that aren’t really needed. Also, we make sure that features only needed by one client don’t clutter up the interface for everyone.

Stability and reliability

  • The initial mSupply server installations in 2002 have run since then without ever crashing.
  • We have more than ten years of experience in keeping mSupply installations running in developing countries, so we know what it takes to make a reliable system. All multi-user mSupply systems we have installed are still running.
  • mSupply includes an automated internet backup system, so backups are automatically transferred to a remote secure site.
  • Server backups are automatic with configurable frequency.
  • mSupply keeps a log of every action you make, and if there is a power failure then the log can be used to restore all unsaved data on the server.

Security

  • We do not know of any instances of a security breach of an mSupply server
  • There is a full password protected login and permissions system, allowing each user’s access to functions to be controlled and recorded.
  • A user log records all significant user interactions, allowing an audit of which user performed which actions.

Local or Cloud or both!

  • mSupply can run in many different ways, depending on whether you want to run a local or cloud-based service:
    • Local server with client connecting over your local network
    • Cloud based server with clients connecting via a special application or a web browser (e.g. Citrix)
    • If you have several sites and want to manage them centrally, but the internet does not support a cloud-based service, then mSupply also supports running individual servers at mulitple locations that then synchronise their data back to a central server when communications are available.

mSupply mobile

  • On Sept 2nd 2013 we officially released mSupply mobile. It allows you to run a small medical store using a tablet computer (iPad or Android or Windows). An internet connection is required, but users in developing countries are successfully using mSupply mobile over an EDGE (2g) mobile network.

As of mid 2016, the internet connection does not need to be there all the time! See Mobile (Android) user guide

  • mSupply mobile can give stock visibility and automated replenishment for hundreds or thousands of stores connected to a single server, which may be hosted on your premises or be cloud-based.

Scalable

  • The same data file can grow from being used in a single-user system to having hundreds of concurrent users with millions of transactions.

Customisation

  • Many mSupply users have unique needs requiring some customisation of the standard mSupply software. mSupply allows customised versions that can still be easily upgraded as new releases are made. Often customisation is done at no extra cost if the client has a current up-to-date contract.

Specially designed for pharmaceuticals

  • mSupply is built from the ground up to handle batches and expiry dates.
  • There are multiple ways of classifying medicines, and mSupply supports ATC coding, WHO’s EDL6) categories and the user’s own custom categories.
  • Many of the reports are specific to the needs of pharmaceutical distribution

Reporting

  • The in-built reports have been developed since the beginning in response to user requests.
  • Users can easily create their own custom reports and save them for use again. Saved reports are available from a menu in the custom report window.
  • Items, Names, and transactions all have lots of spare fields that users can use to store custom data, and then use those fields in reports.
  • mSupply dashboard allows managers in remote locations to log on with a web browser and view reports.

Mistake tolerance

  • mSupply provides easy merging of duplicate items.
  • Easy adjustment of inventory errors (but with a full audit trail!)
  • Most fields allow entry by name or code, and allow partial entry of as much of the name or code as the user knows.
  • Easily find transactions you've entered, by number, by customer/supplier name, by a list of recent transactions or by a custom search.
  • If the user’s hardware is powerful enough, fuzzy find searches allow finding data even if the search terms are incorrectly entered.

Backorders

  • Items that you are unable to supply to customers are put onto backorder. A report of all backordered items is easily generated. When the stock for the backorder becomes available a customer invoice is automatically created awaiting your confirmation.

Web interface for customers

  • mSupply allows customers to remotely log in via a web browser and place orders, view order status, stock status and transaction history. This system is in daily use.

Customer stock history / indent ordering

  • mSupply supports a unique system of centralised supply where the distribution point submits current stock on hand figures, and mSupply calculate a rational quantity to supply, knowing the historic stock on hand, the ordering cycle, and the amount supplied during the previous cycle.
  • mSupply also supports the simpler imprest system where the amount given to customers is based on a fixed level of stock, as is commonly done when supplying wards in hospitals.

Quantification

  • mSupply uses a powerful ordering system that allows accurate real-time analysis of how much stock should be ordered, based on historic consumption, order lead time, the ordering frequency, desired “buffer” stock levels and current stock levels. Unmet demand from customers, backorders, and stock on order are also taken into account.
  • This system has proven reliable, and requires little user intervention, unlike systems that require you to set minimum and maximum stock levels. mSupply still allows minimum stock to be set if really needed.

Procurement

  • mSupply handles purchase orders in multiple currencies, and allows split deliveries.
  • The goods receipt module allows full or partial receipt of each purchase order plus addition of stock not ordered.
  • Ad hoc quotes from suppliers can also be handled.
  • The quantification, tender management and purchase order systems all tie together so data flows from one to the other without requiring re-entry.

Tender management

  • The Tender Management module provides detailed production and management of tenders including using mSupply data to determine quantification, printing invitation letters, comparing tender submissions and automatically producing Purchase Orders for the winning tender supplier.
  • The Remote Tender Management Module provides posting of tenders by suppliers to https://tenders.msupply.org.nz secure web site. You download and automatically import completed tenders to mSupply for easy comparison of supplier responses, choosing the winning supplier and creation of purchase orders.
  • Supplier Registration functionality is planned to be developed as part of the Tender management module.

Dispensing

  • mSupply integrates well into hospital pharmacies, providing easy breakdown of bulk packs for dispensing.
  • Prescribers are recorded, and prescriber reports allow analysis of prescribing trends and costs.
  • Drug interactions are handled, as is repeat dispensing.
  • Patient history is recorded and easily accessible.
  • Customisable abbreviations allow rapid entry of patient instructions on to printed labels.
  • Medicine labels are produced using specialist label printers. Busy sites using mSupply produce hundreds of thousands of labels per year.

Multiple sites from one server

  • mSupply is able to handle multiple virtual stores within a single data file. A common use for this is a hospital, where several stores may be present, but each needs to run independently.
  • Stores can run in either dispensary or store mode, so one server can handle both a hospital pharmacy and a warehouse store simultaneously.
  • Using Citrix and a DSL internet connection you can run a whole country's medical distribution system from a single server, greatly reducing infrastructure requirements while dramatically improving availability and reliability.

Stock control

  • Because mSupply tracks each batch separately, full FEFO 7) can be maintained for every item.
  • There is a full audit trail for each stock line.
  • Each stock line has a record of warehouse location, enabling easy warehouse management
  • If stock lines have the same batch number, expiry and pack size, they can be split and combined.
  • Stock lines can be re-packed to different pack sizes for convenience. Warehouses will find it easier to handle cartons with a pack size of, say, 12,000 tablets while dispensaries will be dispensing individual tablets, and so will want a pack size of 1.

Warehouse management

  • Full Location management
    • mSupply allows volume based calculations of available storage, that is especially critical for cold chain items.
    • Volume information is used to provide either reports or a graphical depiction of how full each section of the warehouse is.
    • Alerts are given when placing purchase orders if there will not be enough space to hold the incoming goods.
  • Basic bar-coding functionality is planned to be developed soon.

Vaccines monitoring

  • mSupply allows recording of VVM8) status for batches, and allows sorting available stock by VVM status rather than by expiry.

Mobile communications

  • mSupply integrates with Frontline SMS to provide an interface for using SMS messaging to submit information such as stock levels and goods receipt confirmations to mSupply.

Hospital information system

  • A simple hospital information system has been developed as part of mSupply. It is designed to provide a basic service to record critical data:
    • Recording a hospital's wards and beds.
    • Recording inpatient admissions (admitting a patient, assigning them to a ward and bed).
    • Recording ICD9) 10 disease codes for each patient admission. You can assign multiple disease codes, and prioritise them (primary, secondary, etc..).
    • Moving patients to different wards/beds.
    • Recording discharge data (patient status at time of discharge)
    • Reporting on bed occupancy rates as a whole and by ward, and other useful statistics e.g. average length of stay, ICD10 statistics.
  • The mSupply HIS is a cost effective alternative to large commercial installations.

Product / medicine registration

  • mSupply's Registration module allows mSupply to manage registration of suppliers and their products on a per brand, dose, and form basis.
  • mSupply will record and track the status of supplier's registrations and stores the documentation for easy retrieval.

No data lock-in

  • All data in mSupply can be exported as industry-standard XML or as an SQL dump, allowing use by other systems as needed.
  • A public API has been developed, allowing any system to retrieve and submit information from/to mSupply.

Cross-platform

  • mSupply is available for Windows and Macintosh.
  • We recommend Windows servers, but client computers can be either Windows or Macintosh.

Interaction with other systems

  • mSupply can either query other systems or provide data in real time via XML web services and other industry standard connectors.
  • mSupply provides automated seamless integration with Moneyworks accounting software and general export files which can be easily customisable for import to other systems.

All of these features combine to make a very powerful medical inventory supply chain management system which has been tried and tested in dozens of locations around the world. We believe it has a unique set of features that no other product offers for managing medical supplies in developing countries

For full information, visit http://www.msupply.org.nz A demo version is available here

The home page for the documentation wiki is here

Creating a new item

In this section of the tutorial, we are going to add two new items to our mSupply database. From the navigator's opening screen, click on Item, the 3rd large icon on the top of the screen.

The following screen appears:

Click on the New item icon (the large “+”). You are presented with a window with a number of fields to enter:

Below is a list of fields and the text to be entered into each field. You can use Tab to move from field to field or, using the mouse, click on the field you want to edit.

  • Type: The default entry normal is shown in the drop-down list and should not be changed.
  • Item code: Enter amo500c.
  • Item name: Enter Amoxycillin 500mg tab/cap.

If you make a mistake, you can click in a field and edit the value.

  • Units: The default entry is None. The options are: unit, ea (for each), gm and ml.
  • Price list: Click in the box so a check appears in it. This means that when we export a price list, the price for this item will be included.
  • Shelf location: Enter a3. Amoxycillin is stored on shelf 3, section a of our imaginary store. Note that “A” is interpreted differently from “a”, so it is important to be consistent and use all upper case or all lower case letters for shelf locations.
  • Preferred pack size: Enter 100. This means we want a 100-unit pack to be our standard for comparing prices of this item.
  • Category: If a list of categories has been defined, this field allows the item which is being added to be placed in its appropriate category.
  • Normal stock, Critical stock, Essential drug, ATC category, DDD value, DDD factor, Weight, Non stock item, Default customer: For this tutorial, ignore these fields and leave them blank.
  • Click the OK & Next button to add this item to mSupply. The window's fields will clear allowing you to add a further item.

If you have no more items to add, click the OK button. If you accidentally click OK & Next and then want to exit, just click the Cancel button. The Amoxycillin 500mg tab/cap would still be entered, as it was saved when you pressed the OK & Next button.

Proceed to add a further item with the following details:

Field Enter….
Item code amo125s
Item name Amoxycillin 125mg/5ml syrup
Units mL
Price list check the checkbox
Shelf location a7
Preferred pack size 60

Click OK now that you have added the item, then click Cancel to exit the window.

Congratulations! You have now added 2 items to our example data file. Let's go and see how to find them.

Viewing item details

Click on Show items from the navigator's Item panel.

nav_show_items.jpg

You will be presented with a window to find items:

find_item.jpg

Type a into the text entry area, then click the Find button. A list of all the items whose name or code starts with “a” is shown.

We will choose the Amoxycillin 250mg tabs/caps - an item that was already in the example data file. To choose the item, double-click anywhere on its line in the window. You will now see a window that displays a lot of information about “Amoxycillin 250mg tab/caps”. You can see stock on hand, view and edit supplier quotations, view usage for the last 24 months, view backorders, and read and edit notes.

At this stage, we only want to know how to view the information. For an explanation of all the information displayed see 4.01.01. Items - General tab. When you have finished viewing the information, click the OK button to return to the list of items.

If you want to view a different item, you can double-click its line. Otherwise, click the X button in the top right corner (on Windows) or the top left corner (on a Mac) to exit and return to the navigator screen.



Adding a customer or supplier

In this section of the tutorial, we will add a new supplier and a new customer.

Adding a supplier

From the top of the mSupply navigator screen, click on the 2nd of the large icons, Suppliers, and then click on New Supplier from the navigator panel. You will see this window:

You can enter the details for your new supplier in this window.

Field What to do….
Name
Code Enter “Acmep” to identify the Supplier (Acme Pharmaceuticals).
You need to choose a unique code for each name.
Try to choose a logical system, as the code is used to look up the Supplier (or Customer) when you are entering invoice data.
(for example, try to start the code with at least the first three letters of the Supplier name)
Charge to Enter “Acmep” again. This field is only used when exporting data to an
accounting program - this code must match the code
you use for the supplier in your accounting program.
Name Enter “Acme Pharmaceuticals” - the name of our supplier.
Master ID Ignore for now
Contact
Email, Web site etc. Fill in with the appropriate details
Status
Hold checkbox If this box is checked for supplier or customer, that particular supplier or customer can neither supply nor be supplied with items.
Preferred checkbox Leave unchecked
Price Category
Price Category This applies to customers. It is possible to assign multiple sell prices to customers. Leave it set to “A”.
Currency
Currency The field is automatically filled in with “Nrs”
(=Nepali rupees - the default currency in our example data).
This is the currency that this supplier will use to bill us.
Supplier details
Margin Enter “10”. Items purchased from this supplier will have a 10%
margin added to calculate the selling price.
Freight factor Enter “1”. Acme Pharmaceuticals does not charge any freight to us.
Their prices are “CIF”(Cost, Insurance & Freight to named port). This field is only used for comparing quotations from suppliers
- it is not used for actual invoices.
Printing
Print invoices Ignore for now
Category
Customer check box Leave this box unchecked, as we are entering a new Supplier.
Supplier check box As you chose “new supplier” this box is already checked.
Manufacturer Leave unchecked
Benchmark Leave unchecked
Other
Category 1-6 Ignore for now
Custom 1-3 Ignore for now
Flag Ignore for now
Comment You can enter a brief note here (Ignore it for now)
Addresses
Address, Main, Postal and Shipping address. You can complete these with appropriate values.

If you are satisfied with the details, click OK. You will be returned to the mSupply navigator screen.


Adding a customer

From the top of the mSupply navigator screen, click on the 1st of the large icons, Customers, and then click on New Customer from the navigator panel. You will be presented with a window similar to the New Supplier one above to enter the customer's details.

Fill in the fields as follows:

Field What to do
Name
Code Enter “bluec”
Charge to Enter “bluec”
Name Enter “Blue Cross Hospital” - the name of our customer.
Master ID Ignore for now
Contact
email, web site, etc. You can complete these with appropriate values.
Status
Hold checkbox If this box is checked for supplier or customer,
that particular supplier or customer can neither supply nor be supplied with items.
Price Category
Price Category This applies to customers. It is possible to assign multiple sell prices to customers. Leave it set to “A”.
Category
Customer check box As you chose “new customer” this box is already checked.
Supplier check box Leave this box unchecked, as we are not entering a new Supplier.
Manufacturer, Benchmark check boxes Leave these unchecked too
Other
Category 1-6 Ignore for now
Custom 1-3 Ignore for now
Flag Ignore for now
Comment You can enter a brief note here (Ignore it for now)
Print invoices Ignore for now
Addresses
Address, Main, Postal and Shipping address. You can complete these with appropriate values.

Click the OK button to save the details and exit the window.

Editing a customer or supplier

Let's now look up Acme Pharmaceuticals.

  • Choose Show suppliers from the navigator's Supplier panel. You are presented with a window to enter as much of the supplier's name or code as you know.


For information on the Normal - Fuzzy slider, see Editing a Customer, Supplier or Manufacturer

For this tutorial, just click the Find button. You will get a list of all suppliers.



  • Double-click “Acme Pharmaceuticals” entry in the list. You will be shown the same window the same as you used to add Acme Pharmaceuticals as a new supplier.

  • Note the window has Tabs down the left side in the sidebar: General, Invoices, Backorders, Quotes, Notes, etc. Let's add a note for Acme pharmaceuticals:
  • Click on the Notes tab.

  • Click on the New Note button. Today's date is entered automatically and highlighted. Click inside the Note Entry field.
  • Enter This is a test note then click the OK button.

  • The first line of your note text will appear in the list of notes.
  • Click OK to exit viewing/editing the Acme Pharmaceutical supplier, then click OK again to exit the list of suppliers.




For a glossary of terms please refer to section 1.05. Terms, definitions and conventions used in this user guide

Only mSupply®'s basic features are covered in this tutorial. The enhanced features are covered in-depth in later sections of the user guide.

This chart shows the common steps in most pharmaceutical supply processes. The manufacturing step only applies to manufacturers.

mSupply work flow diagram

The two most common transaction types in mSupply are the supplier invoice (si) and the customer invoice (ci). These transactions record stock purchases from suppliers, and stock supplies to customers respectively. mSupply records stock adjustments through these two transactions. So, given an opening balance of stock, mSupply will show a series of transactions that result in the recorded closing stock.

Of course, there is much more to it than that, but these two transactions are the core of the system.

Note that mSupply has dozens of preference settings (File>Preferences) which change the behaviour of many aspects of the software. If you have changed the preferences from their default settings, some parts of this tutorial may not be as stated below. To work through the tutorial, we recommend you start with a fresh copy of the example data to ensure the preferences are set correctly.

Before starting the tutorial, you will need to have installed mSupply and opened the example database. If you haven't done so, see section 2.02. Installation.

mSupply runs best with a screen resolution of 1024 x 768 or greater. If you have your screen set to 950 x 850 or lower, some windows will not fit on the screen. To change screen resolution:

  • Windows: right-click anywhere on the desktop, select Properties > Settings, and make the necessary changes.
  • Macintosh: Choose Apple > System Preferences… then click on the Displays icon and set a new resolution



Previous: 3. Tutorial | | Next: 3.02. Logging in

In some countries, an invoice for incoming goods is referred to as a “bill” - in mSupply we use “supplier invoice” to mean the same thing.

Let's suppose we have just received a shipment containing two items from Acme Pharmaceuticals, and we want to enter these goods into stock. The invoice looks like this:

From: Acme Pharmaceuticals Bill: no.A939
Item Quan Pack Batch Expiry Price Extension
Amoxycillin Caps 250mg 1000 100 b93333 31/12/2015 344 344,000.00
Cotrimoxazole 240mg/5mL susp 65 60 bb23d 31/10/2015 21 1,365.00
Cotrimoxazole 240mg/5mL susp 100 60 bb22d 31/01/2016 21 2,100.00
Total: 347,465.00

Choose Supplier>New invoice from the menu or mSupply navigator screen.

The cursor will be positioned in the Name field. Type a and then press Tab. If there is only one supplier whose name starts with “a”, the details will automatically be filled in.

In our case, there are two suppliers whose names starts with “a”, so you will see a window listing both of these suppliers. Double-click the line containing “Acme Pharmaceuticals” to choose them for this invoice. The insertion point will jump to the Their ref field.

  • Type A939 into the Their ref field. Press Tab to advance to the Comment field.
  • In the Comment field you can type a comment or information to identify the invoice.
  • Note that the margin is showing as 10 percent (the percentage that will be added to your cost price to obtain the selling price).
  • Click the New line button to add the first invoice line. You will be presented with the window for adding invoice lines.

  • The cursor will be positioned in the Item field. Type a, then press Tab. You will see a window listing all items whose name starts with “a”. Double-click the Amoxycillin 250mg tab/cap entry to choose it.
    • In the Quantity field, enter the number of packs received 1000. Note that this is the number of packs, not the total quantity of capsules.
    • Enter the pack size 100.
    • You can ignore the Location and Volume per pack fields for this tutorial.
    • Enter the batch number b93333.
    • Enter the expiry date 31/12/14 (Presuming you have dates set up to enter as dd/mm/yy. If your dates are set to the USA's mm/dd/yy format, enter 12/31/14). You only have to enter 2 digits for the year as long as the year is between 1961 and 2060. Dates outside this range must have the year entered as four digits (yyyy).
    • In the Invoice line cost field enter the pack cost price 344.
    • The table shown in the picture at the bottom appears if you have Show previous purchases checked in your preferences. It will show purchases you have made of this item in the past.
    • Donor is the donor who provided funds for the goods on this invoice. You can create donors by activating donor tracking in File/Preferences/Suppliers/New Supplier and then check the donor checkbox.

As we have another line to add, click the OK and Next button. The entry is recorded, and the window is now blank to accept your second invoice line.

  • Enter c into the item name field and press Tab. In the list of items showing, you will find Cotrimoxazole 240mg/5mL susp. Double-click the entry.
  • Enter the remaining invoice details for “Cotrimoxazole 240mg/5mL susp”:
    • quantity 65.
    • pack size 60. Note that it is better to record the actual volume of most packs, unless the volume is not important - e.g. with eye-drops where you could record the pack as “1”.
    • batch bb23d.
    • expiry 31/12/13.
    • price 21.00 (You can just enter 21).

Click the OK & Next button to save the details and start to enter another item.

Now enter the third item on the supplier invoice from the example invoice from Acme Pharmaceuticals above. When you have finished, click the OK button to take you back to the main list of invoices.

Our invoice will now have 3 items added to it. The invoice total should read “347,465”, and should appear like this:

If you have made a mistake, click on the relevant line, which will now be highlighted; double-clicking on it allows you to edit it. You will be shown the line details again, and you can then make corrections and click the OK button to save your changes.

There are 3 icons in the bottom left corner of the invoice window.

  1. This allows you to rearrange the order in which the lines are shown on the invoice
  2. Here you can make a note of anything relevant to this invoice
  3. This will copy the details of the invoice to the clipboard

Now click the OK button. As long as you have left the “print” checkbox (bottom right corner) checked, you will be asked if you want to print the invoice (you may do so). Note that when you print, you are shown two windows. The first window is the page setup for your printer, the second window allows you to specify how many copies to print, etc. (The second window also has a “preview” checkbox, where you can preview the print job).

As this invoice is a “supplier invoice” it has been “confirmed” when you clicked the OK button in the invoice entry window. You can view and edit the invoice details until the invoice is finalised. Note that if you issue some of the stock you have just entered to a customer, some fields will no longer be editable.

NOTE: as of mSupply v190, a more precise alternative for entering received goods has been implemented. See section 7.02. Goods receipts for information on viewing and editing supplier invoices created via Goods Receipts.

If you know the exact geographical location of the supplier or customer, the Lat (latitude) and Long (longitude) fields can be completed in their Photo tab.

You should use the following conventions when entering the exact geographic location for a supplier or customer:

  • Use decimal degrees (not degrees, minutes and seconds)
  • In the Lat field, locations south of the equator are entered as negative - i.e. the number is preceded by a '-' sign
  • In the Long field, locations west of the prime meridian are entered as negative - i.e. the number is preceded by a '-' sign

You can use Google Maps to find the exact geographical location. Find the desired location on Google Maps and place the cursor on it. Right-click and select What's here from the drop-down list. Google Maps will display the geographical coordinates (the first number is latitude and the second number is longitude). These should be noted and copied to the Lat and Long fields in mSupply.

In our example, the location of the imaginary Acme Pharmaceuticals is on Chetrapati in Kathmandu. Click on the Google Maps button to display a map of the vicinity. The precise location is pinpointed by a green arrow.



When mSupply starts you will be presented with the login window:

This is the login window for when mSupply is started for the first time.

Select your username from the list.

  • Only users from your facility will be displayed. If the list is long, you can type the first few characters of your username in the Search users field to shorten the list to usernames that begin with what you have typed, sorted alphabetically.
  • If you're just opening mSupply for the first time after installing it, select user 1(pass= user1).
  • Each time it opens, mSupply will default to the user who last logged in.

Enter your password. When this window opens, the focus is on the password field. This allows the user who last logged in to be able to quickly log in again.

If using the user 1(pass= user1) name, type user1 as the password.

Select the store you want to log in to from the drop-down list.

  • Most mSupply users will only be able to access a single store. For users who have access to more than one store, the login screen allows you to select any of the stores to which you have access. Once you have logged in you can switch the store without logging out - see Switching stores.
  • After selecting the desired store, all transactions you process will relate to that store.
  • Supervisors and other Level 1 users will have an additional menu item, Supervisor - All stores. In this mode, all stores are accessible. You would use this mode, for example, when placing an order for supplies that will be distributed to a number of stores or for reporting on more than one store - see 26.07. Virtual stores.
  • HIS - if you have enabled the Hospital Info System (HIS) in the user login permission settings, and at least one licence is allocated to HIS (see HIS preferences), then you will also see Hospital Info System in the list of stores. If you select this, the login mode automatically changes to HIS mode.

In a synchronisation system (29.01. Introduction to Synchronisation) the user will see a list of all the active stores they have permission to log into in this datafile.

View any messages that might be displayed.

Finally, click OK to login. If login is successful you will be taken to the navigator screen.

As with all windows in mSupply, pressing the Enter key at any point produces the same result as clicking on the highlighted button, which, for this window, is the OK button. This facilitates fast keyboard control.

There are various options that can be set that cause a user to be taken to other screens or shown other information after logging in successfully. For example, Reminders or Invoices preferences.

If one has not already been set up and if you are using a single user copy of mSupply, after logging in you will be asked to select the location for the journal file. A good place is to put it in the same folder as the datafile. You will only be asked to do this once.

The journal file is a place that mSupply records every database transaction that occurs after the last backup. It is used for repairing a damaged datafile and for investigating some types of errors.

Overview

The mSupply navigator provides access to most of the functions you will be using regularly in mSupply. Many of these functions can also be opened using shortcut keys. Once you have gained some experience, you may find it quicker to use the shortcuts.

The navigator always opens at the Customers screen in Store mode, shown above, or the Patients screen in Dispensary mode, shown below.

Displayed along the top of the screen are four items of information:

  • the mode selected at login (Store or Dispensary)
  • the store in which you are working - for most users, this will be General
  • the active data file
  • the user currently logged in

Immediately below this, there are six large icons, Customers or Patients, Suppliers, Item, Reports, Special and Admin. When you click on one of these large icons, the panel below will display more icons for each of the available functions and procedures. You can select the smaller panel icons by clicking on the icon, or by advancing through the icons with the right and left arrow keys and pressing Enter.

In the next part of the tutorial, you will be using the Items panel of the navigator. As the same procedures are common to all panels, you will quickly become familiar with them.

The bottom right area of the navigator screen is available for displaying your logo. In our example, the logo of “Acme Medical Supplies” is displayed. You can add your logo by through the menu File>Preferences>Logo - see 16.06. Entering a new logo.



You will have two icons on your desktop - double-click the mSupply icon.

If you are opening mSupply for the first time, the program should automatically open the example data file.

The full path to the data file is displayed, along with other useful information by choosing Menu>Help>About mSupply.

If you have already been using mSupply and have another data file open, but would like to open the example data file for training, then you can use Menu>File>Open data file… to open the example data file. In Windows, by default the example data folder is stored at c:/mSupply/database/; navigate to the location and open the data file.

If you have chosen a different location from the one suggested by the installer, the example folder will be in your chosen location.

A login window is presented as mSupply opens the data file.

The user 1 (pass= “user1”) entry should be highlighted, but if it is not, select this name.

Type user1 at 2. Enter your password.

The Choose store if available drop-down list will display General. The Choose login mode if available drop-down list will display Store. These should not be changed.

The message panel states that the example database will be used.

Click the OK button and the mSupply navigator screen appears.



Previous: 3.02. Logging in | | Next: 3.04. Navigator

Now let's suppose we have just received an order as follows: <HTML>

</HTML>

From: Blue Cross Hospital
Order number: PO882
Delivery: Express courier please
Item Quan
Amoxycillin 250mg tab/caps 10,000
Cotrimoxazole 240mg/5mL susp 120

<HTML>

</HTML>

Choose New invoice from the Customer Invoice menu, and the following window appears:

Type b into the Name field, and press Tab. You will be presented with a list of customers whose name starts with “b”. Double-click the Blue Cross Hospital row to select it.

  • In the Their ref field enter PO882.
  • In the Comment field enter This afternoon by courier
  • Click the New line button to add a line to the invoice. You are presented with the Add item window.

Enter the following details:

  • Type a into the Name field then press Tab. In the list you are presented with, double-click on the Amoxycillin 250mg tab/cap row.

  • You will see that a list of available stock has appeared in the window, and the cursor has moved to the Line number field. Enter 2 to choose line 2. (The list is sorted so batches with the shortest expiry date are at the top - usually you would choose the shortest expiry batch, but today we're being different!).

  • Quantity field - the line we have chosen has a pack size of 100, so you will need to enter a quantity of 100 to make a total of 10,000

Click the OK & Next button to add the second line of the order.

This time enter c and press Tab. Double-click on the Cotrimoxazole 240mg/5mL susp row. The window will close and the list of available batches and quantities will be completed.

Note that in the list of available stock, the stock we entered from “Acme Pharmaceuticals” earlier in this tutorial is at the top of the list. This is because the list is sorted so items with the shortest expiry date are at the top of the list.

Line 1 is selected, despite the insufficient stock of line 1 to meet the order of 120. Nevertheless, you should enter 120 in the Quantity field, press Tab, and the following message will appear:

For this tutorial, choose Distribute. Distribute is likely to be your normal choice. Distribute will mean that the stock needed to complete the order will be drawn from another batch/batches, starting with the batch which will be the first to expire. There will be occasions, however, when you wish to override this automatic means of distribution. If this is the case, you would select Try Again and manually select the batches from which you wish to meet the order.

Click the OK & Next button

Because the invoice has not been confirmed, the “available” amount for the line is decreased, but the “total stc” (total stock) will remain the same. mSupply includes these lines in the list so you can see stock that has been allocated to an invoice but has not yet left your store. You can then edit the other invoice if stock is urgently needed on the current invoice.

Click OK as we are finished entering lines. You will be returned to the main Customer invoice window.

At the bottom right of the invoice you will see the invoice total.

  • As the customer has requested an express courier, we will charge them Rs200 for the service (Rs = rupees the currency in our tutorial).
    • At the bottom of the window you will see the Other charges field. Enter Courier charge and press Tab.
    • In the amount field enter 200 and press Tab. The new total should be 37,020.00.

Now we are ready to print a packing slip. Make sure that the Print checkbox is checked in the bottom right corner, and click OK. A window appears displaying your print options.

We want to print a packing slip, so the default settings are correct. You will notice the packing slip printed has a column where you can record the actual quantity packed.

Confirming the invoice

Let's suppose the order was successfully packed according to the packing slip, and you now want to confirm the order and print an invoice to pack with the goods. (We're in a hurry - the express courier is on her way!)

First, we need to look up the invoice.

  • Choose Show invoices from the Customer invoices menu.
  • If you know the invoice number (printed on the packing slip) you can enter it. Or, to bring a list of the most recent invoices, you enter the number of invoices to view. As we know the invoice we want is the last one to be entered, you can type 1 and click OK - you will be taken straight to the invoice.

Click the Confirm truck icon.

Today's date will appear in the Confirm date field. Click OK to confirm you want to proceed.

The invoice is confirmed, and you are given the opportunity to print an invoice.



mSupply allows you to keep a record of prices that suppliers have quoted to you for each item. Let's assume that you have just received 2 quotations for Amoxycillin 250mg capsules. One of the companies has used US dollars for their quotation, and the other has used British pounds. Before entering the details of the quotations, it is necessary that both of these currencies are recognised in mSupply. To achieve this, choose the menu item Special>Currencies. This window appears:

Click on the New button, and a window appears which allows you to enter another currency:

  • Enter USD in the Currency field.
  • In the Rate field you should enter the number of units of the default currency - in this case Nepali Rupees - equivalent to 1 US dollar. At the time this tutorial was created, the rate was 71.74 N.Rs. to US $1. Enter 71.74 in the Rate field.
  • Click on the OK button.

Repeat the above for British pounds - assume that the rate is 116.36.

Once you have completed this, the Currencies window should look like this:

We're now ready to proceed.

To enter a quotation:

  1. Choose Items>Show items
  2. Type Amox then press Enter
  3. Double-click the Amoxycillin 250mg caps entry on the list
  4. The item view window, on the left, has vertical content list (General, Usage, Quotes). Click the Quotes line.
  5. Click the New Quote button.
  6. Note that the item is entered for us. We need to choose a supplier and enter their price details.
  7. Enter Arb in the supplier field and press Tab. Arbuckle distribution is automatically chosen. They have quoted in US dollars, so choose USD from the currency menu.
  8. Their price is US $3.50 per 100 capsules, so enter 3.5 in the price field and 100 in the pack size field.
  9. Click OK to save the entry
  10. Now click new quote again and enter the following details:

<HTML>

</HTML>

Supplier Gold Medical Supplies
Currency Sterling [GBP]
Price 20.00
Pack size 1000

<HTML>

</HTML>

Click OK when you are done.

Now we can see the list of quotes, which should look like this:

Notice how the adjusted price takes into account differences in pack size and currency, so you can easily compare suppliers.



  • Use the example database to experiment with different commands as you read about them in the user guide.
  • Have a “dummy run” at starting a new data file and using it.
  • Return to our main documentation page at www.docs.msupply.org.nz



Previous: 3.11. Working with lists | | Next: 4. Items

Whenever you perform a search in mSupply resulting in more than one item being found, you will be presented with a list of records (e.g. items, names, contacts or another list) that match the criteria you entered.

mSupply uses two types of list display.

  1. Shorter lists, such as an invoice or stock lists, are displayed with a striped background. These lists have resizable and moveable columns. They also and have an indicator to show the sorted column. Their use is discussed in the next chapter.
  2. Longer lists, such as item and transaction lists, which can have thousands or millions of records.

In this tutorial section, look at the tools for handling of the longer lists.

When longer lists are displayed, a series of buttons are available along the top of the window, as shown in the below screenshot (note only a small list is shown for the purposes of the tutorial):

Viewing or editing a particular record: To view or edit a record, double-click the row in the list you wish to view. A new window will open showing the details of the record you clicked.

Column widths: The easiest way to change column widths is to drag the dividers (the dividing line) between the columns in the list view. Note that if the total column width is too wide for the window, a horizontal scroll bar is added to the list allowing you to view columns to the right of those displayed.

Choosing the column order: To change the sequence of the columns in a list, drag a column header to a new location.

Clicking the Customise button in the toolbar will display this window:

The list on the left-hand side gives all of the available fields (displayed in columns). The list on the right-hand side is a list of fields (columns) you are currently using.

To add a field to your view, click on the field in the left-hand list. You can control-click to add multiple columns at the same time. Then click > >, the right-pointing button, in-between the lists.

To remove a field from your view, select the field(s) to remove from the right-hand list,. Then click < <, the left-pointing button, to move the fields back to the available list.

You can not remove the first column for any list as it is the key column to identify each row uniquely.

Renaming columns: By double-clicking on a field name in the right-hand list you can change the column title.

Ordering a list is the same as sorting it. Frequently a column may be ordered by clicking on the column heading. The column will be sorted in ascending order. Ascending means:

  • A > Z (upper and lowercase are not considered different)
  • 1 > 2 > 3 for numbers
  • earlier dates to later dates

Descending means the opposite of Ascending.

Note that ordering a list does not add or remove any records from the list. It simply changes the order in which the records are displayed.

Should you require two (or more) sort parameters, clicking the Order by button opens the following window:

lists-4.jpeg

The Available Fields list will reflect the type of records you are viewing. In our example, the list shown is for Items.

To order by a particular field, double-click it in the left-hand list. You can also drag fields to the right-hand list, or highlight the field in the left-hand list and click the right-pointing arrow. You can order by multiple fields by adding further fields to the right-hand list. Double-clicking on the flags and item name fields in our example results in this window:

lists-5.jpeg

To remove a field: Highlight the field in the Ordered by Fields list, then click the single left-pointing arrow between the two lists. The double left-pointing arrow will clear all fields from the Ordered by Fields list

To change field ordering: Each item in the Ordered by Fields list has a small triangle to the right. If pointing up, the ordering will be ascending. If pointing down, descending. To change the direction, click on the triangle for each field.

Using formulae: If you want to order by a formula, click the Add Formula button. Here the formula window is shown, and the formula Length([items]code) has been entered.

lists-6.jpeg

Using this formula would allow you to identify items whose item code is shorter/longer than your organisation's specifications.

Click the OK button to close the window.

Once the details are entered, click the Order by button to order the list.

You can press the print icon to send the list to Excel. The list will display in Excel with the column headings you have selected.

This button opens a simple find window where you can enter the start of the item name or code.

Complex finds: The window shown above has a Complex Find button. This allows you to perform a search using multiple criteria. Clicking this button shows the query editor

Within this window there are four areas from which you have to choose or set a value for each line of a query.

  1. Available fields, select the field that you are looking for
  2. Operands, select the operand that is appropriate for your search
  3. Value, enter your specific criterion
  4. For queries with more than one criterion, click Add line, then complete as above but also with the appropriate conjunction

For example, if you want to find all items whose default pack size is greater than ten and whose code starts with A these are the required steps:

  1. Click on default_pack_size in the available fields list
  2. Click on is strictly greater than in the Comparisons list
  3. Enter 10 in the value field
  4. Click the Add line button
  5. Scroll down the available fields lists then click on code in the available fields list.
  6. Click on is in the Comparisons list
  7. Enter a@ in the value field (note the wildcard character @ has been used to find all items whose code has a as the first character)
  8. Click the Query button to perform the query

Before step 8, the window would look like this:

The upper area of the query editor shows a summary of the query that is about to be performed.

This example will return a list of items where both the search criteria are met because the conjunction And was used. If you wanted to find items that matched only one of the criteria entered, you would click on the second line in the large upper panel to select it, and then click on the Or button where the conjunctions are displayed.

Saving and Using saved queries: If you have spent time on developing a particular query, and you are likely to use the same query in the future, click the Save… button. You will be asked to choose a name and location to save the query. The saved file is very small.

Then when a blank query window is first shown, you can click the Load… button and locating the saved query.

Thanks for working through the tutorial. We hope you learnt something useful, and now feel confident to start using mSupply!




1) , 3)
Remote support - almost 24/7. We aim to provide a first response within 2 hrs
2) , 4)
Gives you access to the latest software updates, including assistance with upgrading if needed.
5)
only applicable for mSupply products that have a license fee
6)
Essential Drug List
7)
First Expiry, First Out
9)
International Classification of Diseases
  • Last modified: 2019/07/30 05:15
  • by lou