Why mSupply?

This brief paper outlines the main areas of functionality that mSupply covers, along with something of the approach and ethos of Sustainable Solutions.


  • Our aims are to serve developing countries with solutions that provide real benefit.
  • That means that 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.


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


  • There is always a balance between features and usability, and 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, and we make sure that features only needed by one client don’t clutter up the interface for everyone.
  • 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 adding Purchase Orders, Patient Prescriptions, Tenders, etc a breeze!
  • The system is also made with high usage warehouses and busy pharmacy departments in mind. When fine-tuned, the 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.

Stability & 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.


  • 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 - new, featuring offline operation

  • 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.


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


  • 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 EDL1) categories and the user’s own custom categories.
  • Many of the reports are specific to the needs of pharmaceutical distribution


  • 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.


  • 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.


  • 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.


  • 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.


  • 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 2) 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 VVM3) 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).
    • Recordng ICD4) 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.


  • 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 user guide is available here

The home page for the documentation wiki is here

Next: Who uses mSupply?

2011/04/19 07:56 · Craig Drown

Who uses mSupply?

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.



  • 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)

Democratic Republic of Congo

  • Cordaid (3)


  • Central Medical Stores (5)
  • Status 2015: CMS was destroyed in a fire in 2014, and the project has been on hold since then.


  • Axios: 1 site synchronising to a central server
  • Liberia MoH: 11 sites being consolidated to a single mSupply installation Dec 2016

Sierra Leone

  • 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.


  • Gambia Central Medical Stores (14)


  • Orant Charities (SU). From 2017.


  • Haydom Hospital


  • Medair (SU)

South Sudan

  • Medair (SU)
  • Central Medical Stores (SU)
  • UNDP Juba (5)


  • Churches Health Association (4)


  • ZILS (5)- 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

Côte d'Ivoire

  • 51 sites in Yamousoukro district, starting April 2019 (mix of desktop and mobile)


Kingdom of Tonga

  • Central Pharmacy Medical Stores (3)
  • Vaiola Hospital (4)
  • Haapai Hospital (SU)
  • Vava'u Hosptial (SU)
  • 'Eua Hospital (SU)
  • Mobile (11)

Republic of Nauru

  • Central Hospital and Stores (4)

Solomon Islands

  • National Medical Stores (7 + Web server + Tender module)
  • National Referral Hospital (4)
  • mSupply mobile- 8 Second Level Medical Stores (phased installation from October 2016)

Republic of Kiribati

  • Tungaru Hospital (9)
  • 3 26 sites using mSupply mobile

Marshall Islands

  • Ministry of Health/Majuro Hospital (2)


  • Princess Margaret Hospital (2)


  • Central Medical Stores (2)
  • Vila Central Hospital Pharmacy and Store (3)
  • Lenekel Hospital (2)
  • Norsup Hospital (2)
  • Luganville Hospital (2)

Papua New Guinea

  • 44 user system across the country:
    • Cloud system (12) serving
      • National Department of Health, Medical Supplies Procurement Department - Installed June 2013
      • Daru TB Unit - Installed Sept 2015
    • Badili (Port Moresby) AMS (8) - Installed June 2013
    • Port Moresby General Hospital (10) - Installed November 2014
    • Hagen AMS (4) - Installed October 2015
    • Hagen General Hospital (4) - Installed October 2015
    • Lae AMS (4) - Installed May 2015
    • Lae General Hospital (4) - Installed May 2015
    • Alotau General Hospital (4) - Installed Sept 2015
    • Wewak Area Medical Store (4) and Hospital
    • Vanimo Hospital (4) - 2016
    • Goroka Hospital (5) - 2016
    • Kundiawa Hospital (5) - 2016
    • Kokopo AMS - 2017
    • Nonga Hospital - 2017

Federated States of Micronesia

  • National Hospital and medical store (7) - October 2015

Cook Islands

  • Desktop Sites (5) - January 2018
  • Mobile Sites (10) - January 2018


  • Desktop sites (1) - October 2017
  • Mobile sites (2) - October 2017


  • Desktop sites (3) - May 2017 (Medicines Registration module only)


  • Nationwide deployment (approx 18 sites) starting 2019



  • Meyer Free Clinic


  • INF (3 sites- SU)
  • MSMT (SU)
  • Patan Hospital (SU)
  • Lal Gadh Hospital
  • Gurkha Welfare scheme (26 sites, SU) Funders: DFID, GWT


  • 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)

South-East Asia

East Timor

  • SAMES (10)
  • Hospital Nacionale Guido Valedares (5)
  • Dili Central Medical Services (Mobile)
  • 100 mSupply mobile sites
  • National Laboratory, Dili
  • Baro Pite Clinic, Dili


  • 28 sites spread over the country connecting to a cloud server running mSupply.
  • 10 sites using mSupply synchronisation


  • 31, no 42 50 62 145 sites using synchronisation to connect to a cloud server
  • 6 sites using remote access to connect to the same server
  • Central Medical Store (5) from January 2016
  • RSCS program - 70 no 164 synchronising sites (also connecting to the same server) from November 2016 (by end of Jan 2019 mSupply was storing almost 10 million data points for the project)
  • Medical Action Myanmar (Dec 2017) - 25 mobile sites connecting to a cloud server running mSupply.


  • World Mate Emergency Hospital
  • WMEH Warehouse
  • Global Fund pilot in 150 sites starting April 2019



  • SafeNetRx (was Iowa Prescription drug corporation)
    • users: 2
    • Web server: clients from all over Iowa place orders using the mSupply web interface

Europe and the United Kingdom

United Kingdom

  • UK Microbiological Products supplier (Private company). Since 2012
    • Specialist system with 20 users. Was running emergency Ebola Response Programme for DFID, including management of a UK based warehouse with air freight deliveries to Africa. Now managing a distribution programme in South Sudan.

Previous: Why mSupply? Next: Which One?

2011/04/19 07:35 · Craig Drown

Which one?


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.

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 computer software which runs the mSupply database,
    • The hardware which the 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 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!

System configuration comparison

So which is the right mSupply product / configuration for you? 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 PC or Mac application, but for users who wish to make use of Support5) and Up-to-Date (UTD)6) 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 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 Remote 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. Synchronisation and Web server modules are required on the Primary server.
Synchronised Single-user 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. Synchronisation and Web server modules are required on the Primary server.
Mobile This is a Synchronised Single-user configuration, but the users operate with mSupply Mobile (client) software on Android tablets. This apps has a reduced feature set, but is more than adequate for most Last-Mile needs. Local stock details are synchronised back to the Primary server, and can be monitored and reported on there. Pricing is even lower than for Synchronised Single-User. We see this as the way forward for the medical supply chain in small and remote facilities. Synchronisation and Web server modules are required on the Primary server.
mSupply Customer Interface Allows staff of Customers in your mSupply system to report their stock levels and order stock from a Virtual store in mSupply system. It runs on a browser on any device: tablet, smartphone, net-book, desktop computer etc. Depends on your situation - contact us. Web server module is required on the Primary server.
FrontlineSMS integration with 2G mobile phone 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 Primary server.

Other modules

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. This can then be used by mSuppy 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 Module Maintains data integrity between a 'primary' 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.

Previous: Who Uses mSupply? Next: Mobile (Android) user guide - new, featuring offline operation

2016/12/08 21:47 · Mark Glover

Mobile (Android) user guide v2.0 - featuring offline operation

1. Getting Started

Hardware Requirements

  • Display: 800 × 1280 pixels
  • Mobile Data enabled (3G minimum)
  • Android 4.4.4 or higher
  • 1.5 Gb Ram
  • Quad-core 1.3 GHz


  • Display can be 768 × 1024 pixels


You can get the latest version from the Google play store

If you are upgrading to version 2.0.0 of mSupply Mobile, there are a few changes that need to made to your mSupply Desktop/Server.

  • Upgrade to 3.83 +
  • Set Visibility for Supplying Stores (including main Supplying Store)
  • Add a new Supplier as facility (External Supplier) and make it visible in mobile store
  • Set all other mobile/desktop stores that current mobile store needs to interact with (send/receive Requisition, send/receive Invoices) as 'transfers' in store/synchroniser (this needs to be done by your mSupply team)


The mSupply mobile App needs to be installed on your tablet. Once it is started, you need to enter the Site user name and password and the URL for the mSupply server that will hold the data that the tablet will generate.

OK. Here we go!

This is the login screen. You will be given a User Name and Password when your tablet computer is installed at your clinic. Your tablet computer can only log in to one facility.

The first thing you will need to do is to choose your preferred language, by clicking 'language' at the bottom left of your screen, as outlined in orange below:

The Tablet above is asking for the user name and password for the person that will be operating the store. This user name and password needs to be set on the mSupply server. Please look up Managing users in this guide

For example, if your first language is Tetum, then you're in luck!

So, once you have selected the language of your choice, enter your User Name and Password and click ‘Login’!

This brings us to the main screen, we will be returning to the main screen a lot as we use mSupply Mobile, so it's important to understand the main functions. Let's go through them one by one.

A link on the top right of the screen shows the sync status.

Clicking this link will take you to a page where you can choose to do a manual sync if there is internet connectivity.

You can close this page by clicking the cross on the top right.


The 'Customers' area is for all the stock that goes OUT of your facility. It contains a list of customer invoices and customer requisitions. Customers can be other facilities you supply, doctors and nurses doing outreach tours, or individual patients.

The Customer Invoice button will bring up a list of the most recent customer invoices (orders TO customers) and allow you to create new ones.

The Customer Requisitions button will bring up a list of the Customer Requisitions.


The 'Suppliers' area shows orders that you have sent for your own stock. Usually, you will only have ONE supplier (a medical store or other healthcare facility) and this will be pre-programmed for you. The Suppliers area allows you to place orders (Supplier Requisitions), see a list of your pending orders, and shows the stock you have already been sent or are waiting to receive (Supplier Invoices).

The Supplier Invoices button will bring up a list of the orders you have been sent or are waiting to receive.

The Supplier Requisitions button allows you to place an order and shows you a list of orders you have already placed.


The 'Stock' section shows you a list of your current stock and allows you to do stocktakes. You can also use this area to search for an individual item (“how many paracetamol tablets do I have?”) or to update the stock levels for each item when you realise there is a mistake, or you are doing your regular stocktake.

The Current Stock button allows you to easily see how much stock you have on hand, search for an individual item, or check expiry dates.

The Stocktakes button allows you to do a stocktake on all items or a small selection of items and shows you a list of all previous stocktakes.

(and here's the main screen in Tetum!)

2. Customer Invoices

Aspen Medical Centre sends an order to your facility. They are doing an outreach tour to households in a nearby village and would like to collect some items to take.


They have ordered:

Amoxicillin 500mg tabs x 11 Paracetamol 500mg tabs x 100 Diazepam Injection 5mg/ml Amp/2ml x 50

Let's create a Customer invoice…

1. Click on 'Customer Invoices'

The Customer Invoice button will bring up a list of invoices. If you haven't finished working on an invoice and you have not confirmed it, you can click on it now to bring it up and keep working on it.

2. To start a new Customer Invoice, click 'New Invoice'.

Add the customer you are ordering for..

3. You can add items to the customer invoice one by one. To do this, click on 'New Item'.

If you have a lot of items to add to the invoice, it can be slow to add them one by one. To add a lot of items at once, click 'Add Master List item'.

Here you can see we have completed this invoice by adding the 3 items we need.

4. When you have finished, click the 'FINALISE' button at the top, and then CONFIRM.

What is a Master List?

The Master List is a list of all the items available to you at your facility. The list is set by your supplier, and/or the Ministry of Health.

3. Customer Requisitions

When a customer wishes to order stock from you, they will create a supplier requisition in their own store and it will appear as a customer requisition in your system.

Open the requisition by clicking on it and check the details. If you wish to change quantities of items you are going to supply you can do so now.

Once you are satisfied with the details you can click the finalise tick on the top right.

mSupply will then generate a customer invoice in your system which will be sent to the customer as a supplier invoice.

4. Supplier Requisitions

You would like to order some stock from your supplier (Medical Stores). You need to place an emergency order for Ampicillin injections and Co-Trimoxazole tablets.

To do this, you must send a 'Supplier Requisition' for:

Ampicillin 1g inj x 300

Co-Trimoxazole 480mg tabs x 500

So let's do it!

1. Click on 'Supplier Requisitions'

This will bring up a supplier selection screen. Select the supplier here.

You will now see a list of recent requisitions you have placed. If you have started working on the requisition previously, it will display in the Status column as 'In Progress'. If you haven't finalised it, you can click on it and keep working on it.

2. Now click on 'New Requisition'.

These are the two ways to add items to the requisition.

To add a lot of items (for example, when you are placing your main order), click 'Add Master List item'.

If you only have a few items, click 'New Item'. This is the best option for small orders.

3. We only have two items, so click 'New Item'.

Add in the details for the items:

Ampicillin inj x 50

Co-Trimoxazole 480mg tabs x 100

Make sure your quantities are correct. If you want to change them, click on the 'Requested Quantity' column and change the number.

4. You can click on 'Use Suggested Quantities', or 'Create Automatic Order' if you are certain that you are not ordering an item which you have not previously ordered. By choosing one of these options, mSupply will automatically calculate the amounts of each item you require, once it builds up a history of how much stock you're using.

5. When you are completely sure that everything is correct, click the 'Finalise' button, then 'Confirm' and your order will go to the supply store.

Even if you don't have internet at the time, it's Ok! The order will send automatically when you do have internet later.

What is the difference between a supplier requisition and a supplier invoice?

A Supplier Requisition is an order that YOU have placed to the Medical Stores. A Supplier Invoice is a record of what they have sent you. These are not always the same, as Medical Stores might not have had enough stock to fill your requisition, or they might have sent you some stock that you didn't order. When stock arrives at your facility, check it off against the Supplier Invoice - as this is what you were supposed to receive.

Calculating quantities on your requisitions...

When you are creating a new requisition, mSupply Mobile now has a tool to help you work out how much stock you need to order! In the past, you had to use a calculation formula to work out how many of each item, and you needed to do this for EVERY item in your order.

Now, simply select the 'Months Stock Required' and mSupply Mobile will calculate your order quantities automatically. You can even check the amounts and change them if you require.

5. Supplier Invoices

After you've sent your requisition to your supply store, you then wait for your order to arrive.

And wait and wait and wait…….

Then finally your order will be on the way!

When your order has been prepared by your supply store, you will see a Supplier Invoice. This is exactly like the hard-copy (paper) invoice you would usually receive with your order.

You may still continue to receive a paper invoice when your order arrives, but it is very important you check everything against the electronic invoice on mSupply Mobile when you order arrives.

Remember: The supplier invoice will not always match the requisition you sent.

Also remember that the supplier invoice SHOULD match the stock you are receiving, but it may not. You must always check your order when it arrives. You can make changes to the Supplier Invoice on mSupply Mobile, or you can confirm everything is correct. When you are satisfied that the Supplier Invoice matches the stock you have received, you can 'Finalise' the order and accept it into your stock. Your 'Stock-On-Hand' numbers will automatically update!

Let's go through each step…

1. Click on 'Supplier Invoices'

A list of Supplier Invoices will appear. You can use the 'Status' column to check which one you have been sent but has not yet been received.

2. Click on the Supplier Invoice you have been sent.

This will bring up your Supplier Invoice. You can see the two items that we entered on the requisition earlier.

3. Once you are happy that the 'Quantity' and 'Expiry Date' columns are correct, click 'Finalise', and then 'Confirm'.

6. Current Stock

One of the most important - but easiest - tasks in mSupply Mobile is to check how much stock you have on hand. When you create a Customer Invoice and add an item, mSupply Mobile will tell you if you have enough stock. But at many other times, you might want to quickly check, and it is very simple to do so.

Let's try!

1.Click on 'Current Stock'

This will bring up a list of your current stock-on-hand.You can scroll through this list and quickly see each item's name and 'Stock-On-Hand' (amount of each item you currently have in stock).

2. If you want to know a little more about an item, click on the item and it will bring up more information, such as the Category, Department, and closest expiry.

If you want to search for a specific item, without having to scroll through, just enter the first few letters into the search bar at the top.

7. Stocktakes

mSupply Mobile will automatically keep track of your stock levels for you, as you receive stock and give it out. But sometimes data gets entered incorrectly or stock goes out without anyone making an entry in the system. Of course, we try not to let that happen - BUT if it does happen, we can make corrections. The easiest way to correct mistakes is to do a stocktake.

With mSupply Mobile, you can easily do the data entry for a full stocktake, OR you can choose to do a stocktake on a limited range of items (such as all your anti-malarials). You can even do a stocktake on a single item, if you notice that the quantity on your shelves is wrong.


You should already be doing stocktakes with your current ordering systems.

Stocktakes are a very important way to ensure that the orders we are placing are accurate and that the stock will be correct if anyone checks!

Ideally, you should be doing a physical stocktake of each item EVERY time you place a main order- but this depends on your local policies and procedures (and it may not be possible in larger facilities).

Let's learn how to do a stocktake… using mSupply Mobile makes doing stocktake a LOT easier than before.

1. In the main screen, click on 'Stocktakes'

This brings up a list of all your previous stocktakes. The description of each Stocktake will be shown, with its date and 'Status'.

There are two stocktake statuses: In Progress (Current) and Finalised (Past).

An 'In Progress' stocktake is one you are still working on. If you want to keep working on an 'In Progress' stocktake, double click on it.

'In Progress' Stocktakes

'In Progress' Stocktakes are the stocktake you are still working on, and haven't finalised.

We strongly recommend only having one In Progress Stocktake at any time. This will prevent mistakes when moving between them.

Finalise or delete old stocktake before starting new ones!

Let's start a new stocktake now…

2. Click on 'New Stocktake'

3. Select the items that you wish to count by highlighting them in the far right column.

If you want to include EVERY item or most items, click 'All Items Selected'.

4. Give your stocktake a logical name, such as “April Full Stocktake'., and click CREATE.

5.This will bring up the stocktake editor. This lists each item, its 'Snapshot Quantity' and its 'Actual Quantity' (from the physical count). The Snapshot Quantity is what the system THINKS you have. If it is correct (when compared with your physical count), you don't need to do anything!

The Actual Quantity is what you have actually counted. You can change this by clicking in that column and typing in the correct quantity.

6. Go through each item and compare your physical count with the Snapshot Quantity. Change each one you have to by clicking in the 'Actual Quantity' column. If you change the amount of stock you have in the Actual Quantity column, this variation will now show in in the Difference column.

This can take some time but remember - if the Snapshot Quantity is correct, you don't need to do anything!

7. When you are finished, click 'Finalise'.

This will update all your stock levels to match the quantities you have entered in the 'Actual Quantity' column.

Like always with mSupply Mobile, you don't need internet to do this - the information will sync in the background when internet becomes available.

Previous: Which one? Next: Setting up mSupply moblile

2017/09/07 20:24 · rozanna

Setting up mSupply mobile

Note - we will complete these steps for you. The following instructions are for your information only.


  • A server running mSupply with a web server license registered
  • Sync server has a static IP and any network permissions required configured
  • A mobile tablet fitting the recommended specifications here

Adding a store

On mSupply desktop go to Special > Stores > New Store

Enter the Store Code and Store Name

Click on the Master List tab and select a Master List

Click OK

Click OK again

User Access

Next you need to make the current user have access to the store you have just set up.

Go to Admin > Edit Users

Select the user and go to Login Rights.

Select the new Store

Logging in to the Store

Now, you need to log in to the new Store

Go to File > Switch (or ‘cmd 2’ (apple) or ‘ctrl 2’ (windows))

Log in

Setting up a Sync Site

Got to Admin > Preferences

On the Synchronise tab on the left-hand side and click on the unlock button and enter the password

Add new Sync Site

Enter ID, Username and Password and click OK

Note - Keep track of these details, if they are lost you'll have to resynchronise from scratch! Sussol will typically have them securely stored if Sussol has done the sync setup.

Log in to the Store

Go to Special > Stores

Double-click the Store

Click the unlock button and enter password

Set Synchronisation type to active store

Select store (as local)

Click OK

Click the unlock button and enter password again

Set Sync type to Collector and sync type to Active/Collector

Click OK

Click OK again

Start the web server

Initialising mSupply Mobile on Device

After installing the app, you must do an initialisation of the data for the store the tablet is going to be used in. All above steps must be complete for this to work. The first screen upon opening the app looks as follows: You must enter:

  1. The correct URL for your mSupply server, usually using SSL/HTTPS protocol for security.
  2. Sync site name as defined above in this guide.
  3. Password for the sync site name

Once you have entered the information, click “Connect” to start sync: Initialisation can take between 1 and 15 minutes, depending on the number of records on the server related to the site being synced. Once the server has found all the records to sync, mSupply Mobile will start pulling them adaptively between 20 and 500 records at a time depending on the connection speed. If connection is lost or you closed the app, you can resume sync where it stopped by entering the exact same details (will go back to square one if you get it wrong). Once complete, you will be taken to the login screen. For guidance beyond here see the mobile usage guide.

Note that the login details here are for the mSupply user that can login into the synchronised store, not the store details that were entered for sync above.

Limiting Initial Sync Record Count

If the amount of records to sync are greater than around 50,000 it may take over an hour to sync on a good connection. Many hours on a slow connection. For this reason it is possible in mSupply to limit the amount of records up to a specified amount of months ago.

  1. You need to change the store synchronisation type from “collector” to “active” or “none” to unlock adding custom data
  2. Add a custom data row with “Field label” `syncMonths` and the numeric value desired in “Field value”
  3. Change the store synchronisation type back to collector

Now when you do initial sync, the store will only get transactions and stock takes for as far back as specified from the current date.

Previous: mSupply mobile 2.0 user guide Next: mSupply Introduction

2017/10/26 01:26 · rozanna


Thank you for choosing mSupply.

Before you launch in (if you haven't already!), we suggest you plan to take the following steps.

  • Read the rest of this introduction.
  • Read the setup, tutorial and license 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 info@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 are based in Kathmandu, Nepal

We can be contacted at:

Please feel free to request more information.


Juliet has always been encouraging and more, and has put up with me thinking about mSupply when I shouldn't have been.

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 ten 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 superb 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.

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

Conventions used in this user guide

If you aren't familiar with using a computer, you should read this chapter, and also work through the tutorial.

Menus: Choose New item… from the Item menu (sometime also written as Choose Items > 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 font. The most common are: Tab, Shift, Ctrl, Alt, Enter and Backspace.

Field: An area where you can make an entry, either text or numbers - usually a white coloured box. In many places a user can hover over an input 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.

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

Tab & Shift: You can generally move the “focus” (the active area) from field to field in a window by using the Tab key. Holding down the Shift key while pressing the Tab key will move the focus from field to field in the reverse order to normal. Note that on Windows, some buttons are “tabable”- that is, pressing the Tab key moves the “focus” to a button. Pressing the Return or Enter key then activates that button.

Highlight button: Pressing the Enter key will operate the highlighted button in a window, which is usually the OK button.

Double-click: In lists (e.g. of Names or of Items), double click the left mouse button on a line to edit or view more details.

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

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

Cancel button: The 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): is 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: Windows and Macs have different modifier keys. We've tried to list both in the manual, but sometimes one might slip through, so

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

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

Stock: Also called “inventory”- an entry in mSupply that represents physical stock (inventory) in your store.

Item: An “ item ” in mSupply is a particular product. 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 in your store.

Negative values: In general, there is no need to enter negative values in mSupply. Even when you are entering returned goods from customers, or returned goods to suppliers, you must 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.

Supplier invoice: A supplier invoice is the same as a “bill” or a “purchase”

Build: A transaction that records the manufacturing of an item by turning raw materials into a finished product - refer Building (Manufacturing) Items.

Setting up mSupply

Hardware requirements:


Hardware requirements vary widely depending on what you want to use mSupply for

Here's a rough guide.

Absolute minimum Windows 7,XP, Vista or Windows 2000 computer with a 500 Mhz Pentium processor or equivalent.
Suggested single user or Client machine for use with server. Win 2000 or later, 800 Mhz or faster Pentium processor or equivalent, 256Mb RAM
Suggested server Win 2003 or XP or Win 7 or later, 1.8Ghz Core 2 duo or equivalent, minimum of 1Gb RAM. 4Hard disks. 3 configured as RAID5, Attached to Uninterruptible Power Supply (UPS) unit with software to shut down server if battery power is about to run out.
  • Mac OS X 10.5 or later.
  • 50Mb hard disk space.

Backup system

Once you start using mSupply, it is of crucial importance that you have a method of backing up your data. mSupply stores all its data in a file that rapidly becomes large. You need, therefore, to have a high capacity removable storage device. We strongly recommend the use of an external hard disk using either firewire (IEEE 1394) or USB2 to facilitate off-site storage of backups.

  • See the section in Preferences that covers mSupply's built-in backup features that allow backup to another disk, and to an internet backup site… you'll find it here: Backup
  • If not using our internet backup service, you need to be able to store backed up data off-site to prevent the risk of loss by fire, theft, etc.

Sustainable Solutions will not be able to help you recover lost data in the event of hardware failure if no backup is available.


Windows based operating systems are particularly prone to malware if precautions are not taken. We recommend the following precautions:

  • Install a reputable anti-virus program, including web protection if the computer has access to the internet. We recommend F-Prot.
  • Disable USB ports - refer to this site for suggested methods.

Ensure that access to passwords to allow exceptions to the above two measures are kept secure.

Hardware recommendations:

  • A connected printer is not absolutely necessary in every situation, but for most situations it is a requirement. A dot-matrix printer may be used, but an ink-jet or laser is preferable.
  • Buy hardware for which you are able to obtain good support.
  • Buy brands with a reputation for quality (even if it means buying a slower/older machine).
  • We have clients running mSupply on a wide range of hardware. We are happy to discuss hardware options further via email or phone.

Upgrading from previous versions

If you open a data file that was created with a previous version, it will automatically be updated to the new format. Please note that this process may take some time.

Note that if you are using a version earlier than v1.96 you must upgrade to v1.96 and then to version 2 or 3.

IMPORTANT! Always make a backup of your data file before upgrading, and preferably keep a copy off-site. We will not be able to help you in the event of some unexpected disaster if you haven't followed this advice!


We are assuming you have obtained mSupply via the Internet or on a CD.

If you have downloaded the file you need, and you have saved it to your desktop, it is important that you saved the file with an “.exe” extension or it will not run (You can rename a file by right-clicking on it). The default name for the file is “mSupply_installer.exe”

If you are using the CD, it should automatically run when inserted. Otherwise, locate the file “mSupply…..exe” on the CD using Windows Explorer.

It is strongly recommended that users who are not familiar with program installation adhere to these directions.

  • Double-click “mSupply_installer.exe”, and it will automatically run the mSupply installer.
  • The installer will do the following:
    • Create a folder on your chosen drive called “mSupply”
    • In Windows XP & 2000, create in the mSupply folder a sub folder called “Database” containing an example data file.
    • In Windows Vista and Windows 7, the example data file is installed in the My Documents/mSupply/Example sub folder.
      • NOTE: You can use this data file for practice. (Or use the tutorial at the start of the manual to learn the basics quickly)
    • Install the “mSupply.exe” application and associated files. Double-clicking this file will do the same as double-clicking the “start mSupply” icon on your desktop.
    • Install “readme.txt” - information on licensing and using mSupply.
    • Install “mSupply manual….pdf” - this document (CD version only).
    • Create two shortcuts on your desktop: “ start mSupply” and “ mSupply manual” (CD version only)
    • Create a “mSupply folder” entry in the “programs” section of your “start” menu.

Now you are ready to begin! Proceed to the section below on starting the example database.

Example data file

The mSupply installer treats Example data files in a special way. Re-installing mSupply on a previous installation will replace all the files except the Example data file. This is to prevent valuable data from being deleted as users may have started entering actual stock into the Example data file.

To install a fresh copy of the Example data file on Windows you can carry out one of the options described below:

  • Un-install mSupply using the Windows menu Start > Program Files > mSupply > Uninstall mSupply . This will remove all installed files of mSupply which includes the Example data files. Re-installing mSupply now will install a fresh copy of the Example data file.
  • You can manually delete the Example data file and re-install mSupply. The mSupply installer will install a fresh copy of the example database as the previously installed file has been deleted.

On Macintosh machines, simply replace the Example folder from the mSupply installer image.

Notes for Windows users

  • In the regional settings in Control Panel, we recommend that the short date format is set to display only 2 digits for the year (YY, not YYYY).mSupply lists are set up to allow only enough space for 4 digits with most font sizes, but occasionally 4 digit years may be truncated. Having the wrong setting here will only affect display, not the actual data. It does not matter if you use DD/MM/YY or MM/DD/YY or YY/MM/DD
  • If the display of lists in mSupply overlaps the separator lines, turn off large font in the display control panel.

Starting mSupply for the first time

To start mSupply, either

  • double-click the start mSupply icon on your desktop, or
  • choose the start mSupply item from the mSupply menu in the programs section of the Start menu (on Windows). If this is the first time mSupply has been started after installation, then an example data file will be opened allowing you to follow the mSupply tutorial. mSupply will present you with a log in window.

Note that mSupply will “remember” the last data file used, and automatically present the log-in window for that file unless you move or rename your data file. If you do this, mSupply will show you a standard open/save window for you to choose the new name/location of your data.

Creating a new data file

If you would like to create a new data file now, then log in to the example data file and from the mSupply menu do the following.

  • File > New Data File… Navigate to a convenient location. Assign a name to your data file and click the save button. mSupply will now start creating a new data file.
  • You will be presented with a login window. See below for instructions

  • Start entering your data.
Alternative method for creating a new date file

Here is an another way to create a new data file.

  • Quit mSupply if it is running.
  • Start mSupply and then immediately hold down the “alt” key (You will now be shown the following which has a number of radio buttons with the different options available.


  • Choose the 3rd radio button Create a new data file . Another window will open where you can choose the location and name of your new data.

Once mSupply has opened up a particular data file, that file becomes the default file which is opened automatically on restarting mSupply. To use a different file, it must be chosen, as described later. If the default data file is renamed or moved to a different location, it must be opened using its new name or location.

Log-in to mSupply

The first time you use mSupply, you will be presented with the log-in window like this:

mSupply® ships with three users. “user 1” and “user 2” are the designer and administrator - these two users cannot be deleted, but they can be edited, allowing the use of appropriate names and making changes to their passwords and permissions.

  1. You should select user 1(pass=user1) from the list
  2. Enter the password “user1” (without the quotes). When different users with their own level of access have been set up, you will then log-in by selecting your user name and typing your own password.
  3. From the drop down list, select the store with which you are working. Most mSupply users will be operating with a single store, but for users operating with more than one store, the login screen allows you to select any of the stores to which you have access. After selecting the desired store, all transactions will relate to that store until you return to the login screen and select a different store from the drop down menu.
    • Supervisors and other Level 1 users will have an additional menu item, Supervisor - All stores . In this mode, all stores are accessible, and you would use this mode, for instance, when placing an order for supplies which will be distributed to a number of stores. Further information is available here: Show stores
  4. Choose login mode …., you have the option to select Store mode or Dispensary mode ; the default can be set in your Preferences

Finally, click OK to login

Preparing mSupply for actual use

The following 2 steps are necessary to start mSupply for the first time.

  • Create a new data file
  • Prepare the new data file for use
Create a new data file

In order to create a new data file, see above creating_a_new_data_file

Save the data file in a location that you can easily find for doing backups. We suggest you create a folder called “mSupply data” inside the My Documents on Windows PC or the documents folder on a MAC to store your data file.

Prepare the new data file for use

  1. Choose your home currency. Currencies are used when you are calculating cost prices for orders, and when you are comparing quotations from suppliers. Choose Special > Currencies. If your currency is not already shown, click the New button at the top of the window and choose from the pick-list the three letter code abbreviation of the currency you will use to operate your database (e.g. “INR” for Indian Rupees, or “SAR” for South African Rands, or “USD” for US dollars). Set the “Rate” to “1”.
  2. Enter your Preferences. Choose File>Preferences to do this. Read the chapter of the manual on Preferences to learn what the different Preference settings do. You will find the Preferences section here
  3. Enter your Suppliers and Customers.
  4. If you have a computer file holding your customer and/or supplier details, it can be imported directly into mSupply. See importing_customers_suppliers_patients.
  5. You can also do this as you go along simply by entering a customer or supplier the first time you create an invoice or order from them.
  6. Enter the items you keep in stock. There are a number of ways you can do this:
    • If you have a computer file holding details of the items you stock, it can be imported directly into mSupply. For more information see import_items
    • A file containing the WHO essential drug list is available from the download page of the mSupply web site. You are encouraged to use this file should you have no computer file of your own.
    • You can enter each item using the New item Command from the item menu.
    • Enter your stock figures.
    • If you have a computer file holding both details of the items you stock and your current stock figures, it can be imported directly into mSupply. See: import_items_and_stock
    • Your opening stock may be entered manually; choose Item>Inventory adjust - add stock , and enter the required details.
    • If you intend to record the location of each item, you should define the locations that your store contains. See Locations - Defining locations.

About Stores

At the log in window you have the option to log into a specific store or to log in as 'Supervisor' by choosing option 3 shown in the below window.

Unless you intend to use multiple virtual stores in mSupply you can ignore this option. More information will be found here: virtual_stores

About Dispensary Mode.

mSupply allows you to log in in two different modes, Store mode or Dispensary mode . Each user can have his/her permissions set to allow or disallow each mode.

Each mode presents the user with a different menu bar and different windows, depending on whether you are issuing stock to an organisation or an individual

See Dispensary Mode.

Previous: Mobile (Android) User Guide Next: Logging in

2011/05/18 10:38

Logging in

When mSupply starts you will be presented with the log-in window:

This is the way the window appears when mSupply is started for the first time

  1. You should select your user name from the list. If you're just opening mSupply for the first time after installing it, select user 1(pass=user1). If the list is long you can type the first few characters of your user name in the Search users field to shorten the list tio usernames that begin with what you have typed. On subsequent logins mSupply will default to the last logged in user.
  2. Enter your password. The password for the user 1(pass=user1) user is “user1” (without the quotes - the hint is in the user name!).
  3. From the drop down list, select the store which you want to login to. Most mSupply users will be operating with a single store, but for users operating with more than one store, the login screen allows you to select any of the stores to which you have access. If you have been working with one store and want to change to another one see Switching stores. After selecting the desired store, all transactions will relate to that store until you return to the login screen and select a different store from the drop down menu.
    • Supervisors and other Level 1 users will have an additional menu item, Supervisor - All stores. In this mode, all stores are accessible and you would use this mode, for instance, when placing an order for supplies which will be distributed to a number of stores or for reporting over more than one store. Further information is available here: Virtual stores.
    • If you have enabled the Hospital Info System (HIS) in the user login permission settings (see foreign_keys), and at least one license 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.
  4. View any messages that might be displayed
  5. Finally, click OK to login. If login is successful you will be taken to the navigator.

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

Previous: Introduction Next: Tutorial

2011/05/18 10:38

The tutorial like no other

If some of the terms used below are not clear, please see Conventions used in this user guide.

Only mSupply®'s basic features are covered in the Tutorial; its many enhanced features are covered in depth in appropriate chapters in the User Guide.

mSupply Explained

This chart shows the common steps in most pharmaceutical supply processes. (Of course, 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. mSupply® records a full audit trail by only allowing stock adjustments by way of a transaction. Therefore, given an opening balance of stock for the year, mSupply® can 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 customised Preferences from their default settings, some aspects 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 installation

mSupply® runs best with a screen resolution of 1024 or 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

Opening the example data file

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 use with this tutorial, then you can use the mSupply® menu File > Open data file… to open the example data file. In Windows, by default the example data folder is stored inside 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 password entry window is presented as mSupply® opens up a data file. The message panel informs the user that the example data base is in use.

The “User 1” (pass= “user1”) entry should be highlighted, but if it is not, it should be selected. Enter “user1” (without the quotes) at 2.Enter your password.

The Choose store …. . drop-down list will display General, and the Choose login mode … drop-down list will display Store - these should not be changed. Click the OK button. After you have logged on, the Navigator screen appears:

The Navigator


The mSupply® Navigator provides access to most of the functions you will be using regularly in mSupply®. You will learn that many of these functions may also be opened with shortcut key sequences from the various Menu items, and 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 logon (store or dispensary),
  • the store in which you are working - for most users, “General”,
  • the active data file,
  • the user currently logged on.

Immediately below this, there are six large icons, Customers or Patients, Suppliers ……. Admin .“ Click on the icon appropriate to the task you are performing, and you will be presented with a panel displaying annotated icons listing the available functions and procedures; these are in turn selected either by clicking on the icon of your choice with the mouse, or by advancing through the icons with the right or left arrow keys and pressing the Enter key. You will be using the Items panel of the Navigator in the next step in the tutorial, and 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 own logo - the logo of “Acme Medical Supplies” is displayed in our example. The placing of your logo is performed by choosing File > Preferences > Logo. You can also read how to do it here.

Creating and viewing items

Creating a new item

For 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 of the large icons near the top of the screen

and the following screen appears:

  • Click on the New item icon
  • 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. Use the Tab key to advance 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 then press the Tab key to advance to the next field.

Item name: Enter Amoxycillin 500mg tab/cap then press the Tab key to advance to the next field

Continue to use the Tab key for the rest of the tutorial when you need to advance to the next field.

Units: “None” is displayed by default. 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 in the “a” section of our imaginary store. Note that “A” is interpreted differently from “a”, so it is recommended to be consistent and use either all upper case or all lower case letters for entering 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 to add only the item just added and exit. 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:

Note that if you make a mistake, you can click in a field and edit the value.

Field Enter….
Item code “amo125s”
Item name “Amoxycillin 125mg/5ml syrup”
Units “mL”
Price list check the check box.
Shelf location enter “a7”.
Preferred pack size enter “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 screen.


You will be presented with a window to find items:


  • 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 be presented with a window that displays a lot of information about “Amoxycillin 250mg tab/caps”. From this window you can see stock on hand, view and edit supplier quotations, view usage for this item for the last 24 months, view backorders, view, add and edit notes for this item. Phew!

  • At this stage, we only want to know how to view the information. For an explanation of all the information displayed see item_edit_-_general_options
  • 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 to the Navigator.

Customers, Suppliers, and Contacts

Adding a Customer or Supplier

For this tutorial example, we will first add a new supplier, then add a new customer.

Adding a Supplier

From the Navigator's opening screen, click on the 2nd of the large icons, Suppliers tab, then on the New Supplier

You will be shown this window to enter the details:

You can now enter the details for your new Supplier.

Field What to do….
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
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
Email, Web site etc. Fill in with the appropriate details
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 This applies to customers. It is possible to assign multiple sell prices to customers. Leave it set to “A”.
Supplier details
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.
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.
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
Address, Main & Postal address. You can complete these with appropriate values.

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

Adding a Customer

From the Navigator's opening screen, click on the 1st of the large icons, Customers, near the top of the screen, and then click on “New Customer” from the Navigator screen that appears. You will be presented with a window similar to the New Supplier one above to enter the details:

Fill in the fields as follows:

Field What to do
Code Enter “bluec”
Charge to Enter “bluec”
Name Enter “Blue Cross Hospital” - the name of our customer.
Master ID Ignore for now
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
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 This applies to customers. It is possible to assign multiple sell prices to customers. Leave it set to “A”.
email, web site, etc. You can complete these with appropriate values.
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
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 screen. You are presented with a window to enter as much of the Supplier name or the code as you know.

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

For information on the Normal - Fuzzy slider, see editing_a_customer_supplier_or_manufacturer

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

  • Note the window has “Tabs” down the left side in the sidebar: “General”,”Invoices“, “Backorders”, “Quotes” and “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 supplier, then click OK again to exit the list of suppliers.

Viewing location in Google maps

If the precise geographical location of the supplier or customer is known, the Lat and Long fields can be completed in the Photo tab. Entries are made in these fields thus:

  • decimal degrees, and 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

Don't know a precise location? Using Google Maps find the desired location and place the cursor on it. Right click and select What's here from the drop down list. The geographical co-ordinates are displayed at the top of the screen. These should be noted and copied to the appropriate 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, with the precise location pinpointed by a green arrow.

Enter incoming goods (a supplier invoice)

In some countries an invoice for incoming goods is referred to as a “bill”- 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 PharmaceuticalsBill 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 navigator.

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

In our case the supplier “Arbuckle distribution” was already present, so you are presented with a window listing the suppliers starting with “a”. 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 the Tab key 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 the Tab key. You will be presented with a window listing all items whose name starts with “a”. Double-click the “Amoxycillin 250mg tab/cap” entry to choose it. The cursor will now be positioned in the “Quantity” field.
  • Enter the number of packs received in the Quantity field: “1000” (Note that this is the number of packs, not the total quantity of capsules). Press Tab to advance to the next field.
  • Enter the pack size: “100.” Press Tab to advance to the next field.
  • The cursor will now be in the location field. Ignore this for now and press Tab again.
  • You can also ignore the Volume per pack field and press Tab to keep going.
  • Enter the batch number: “b93333.” Press Tab to advance to the next field.
  • Enter the expiry date: “31/12/2014” (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 in the range 1961 to 2060. Dates outside this range must have the year entered as four digits. Press Tab to advance to the next field.
  • 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 check box.

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”:
  • num units: “65”
  • pack size: “60” (Note that it is better to record the actual volume of most packs, unless the volume is not important- for example with an eye-drop, where you could record the pack as “1”)
  • batch: “bb23d”
  • expiry: “31/12/2013”
  • 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 example invoice 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 lower 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” check box (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 “preview” check box, 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 relating to that stock will no longer be edit-able.

NOTE - As of mSupply® v190, a more precise alternative for entering received goods has been implemented. See Viewing and editing supplier invoices created via Goods Receipts

Enter outgoing goods (a customer invoice)

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

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

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

Type “b” into the Name field, and press the Tab key. You will be presented with a list of customers whose name starts with “b”. Double-click the “Blue Cross Hospital” entry 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 the Tab key. In the list you are presented with, double-click the “Amoxycillin 250mg tab/cap” entry.

  • 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 we 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 the tab key. Double-click the “Cotrimoxazole 240mg/5mL susp” entry. The window will close and the list of available batches and quantities will be completed.

Note that in the list of available stock, the second line we entered from “Acme pharmaceuticals” is now at the top of the list - this is because the list is sorted so that the item with the shortest expiry date comes to the top of the list.

Line 1 is selected, despite the fact that there is 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 (which is likely to be your normal choice), and the necessary stock to complete the order will be drawn from another batch/other 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, and in this event 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 has been reduced, but the “total stc” (total stock) is still showing as “100”. 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:
  • There, enter “Courier charge” and press the Tab key
  • In the “amount” field enter “200” and press the Tab key. The new total should be “37,020.00”

Now we are ready to print a packing slip. Make sure that Print 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 suit our purpose. You will notice the packing slip printed has a column where you can write down 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. Here's an easy way to look up the last invoice you have entered:

  • Choose Show invoices.. from the Customer menu.
  • If you know the invoice number (printed on the packing slip) you can enter it. 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, we just type “1” and click OK - you will be taken straight to the invoice.

Click the Confirm truck icon,

and 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.

Entering Quotations

mSupply® allows you to keep a record of prices that suppliers have quoted to you. 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, so before entering the details of the quotations, it is necessary that both of these currencies are recognised. To achieve this, choose the menu item Special > Currencies, and 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 of compiling this tutorial, the rate was 71.74 N.Rs. to US $1, so “71.74” is entered in the Rate field. Click on the OK button, and repeat the exercise for British pounds, the rate presently being 116.36.

Once you have performed 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 from 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:
Supplier Gold Medical Supplies
Currency Sterling [GBP]
Price 20.00
Pack size 1000

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.

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

Where to now?

  • 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: Logging in Next: Working with lists

2011/04/13 07:27 · Craig Drown

Working with lists

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

mSupply uses two types of list display. Shorter lists, such as those you see when you view an invoice, or view the stock for an item employ a list with a striped background. These lists have resizable and moveable columns, and have an indicator to show the sorted column. Their use is discussed in the next chapter. In this chapter we are concerned with tools for handling lists of names and items and transactions, which run into hundreds of thousands or millions of records.

When these lists are displayed, a series of buttons are present along the top of the window, as shown:

Customising the columns viewed: Clicking the Customise button in the toolbar will display this window:

On the right is a list of columns you are currently using.

On the left is a list of available columns. To add a column to the view, click on the item in the left-hand list, then click the right–pointing button in between the lists. You can control-click to add multiple columns at the same time.

To remove a column select the column(s) to remove from the right-hand list, and click the left-pointing button to move the columns back to the available list. You can not remove the first column in chosen list, as it is a hidden key column to identify each row uniquely.

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

Column widths: The easiest way to set column widths is to drag the dividers 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. This is done when viewing the Item list window, not in the Customise columns window.

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.

Ordering (Sorting) lists: 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 shows the Order by window:


The Available Fields list will reflect the type of records you are viewing. The list shown is for Items . To order by a particular field, double-click it in the left-hand list; double-clicking on the “flags” and “item name” fields results in this window:


(You can also drag fields to the right, or click the right-pointing arrow after highlighting the field on the left)

You can order by multiple fields by adding further fields to the right-hand list.

To change to ascending/descending 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.

To remove a field: Highlight the field in the right-hand column, then click the red single left-pointing arrow between the two lists. The double left-pointing arrow will clear the “Ordered by Fields” list

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.


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.

Printing Lists

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.

Finding records

In the item list shown above there is a Find button.

This button shows 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,from where you make your selection
  2. Operands, from where you select the one appropriate
  3. Value, where you enter your specific criterion
  4. For queries with more than one criterion, click Add line , .then ….
  5. Click 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” (no quotes) 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@” (no quotes) in the value field.
  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.

Note that the wildcard character “@” has been used following “a” to find all items whose code has “a” as the first character

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.

When a blank query window is first shown, you can re-use a previously saved query by clicking the Load… button and locating the query file.

Previous: The Tutorial Next: Understanding Items

2011/05/18 10:38

About items

An item in mSupply is usually a product that you purchase from a supplier, hold in stock and supply to a customer. However, there are also other types of items:

  • A service item has no stock, but can still be added to customer invoices and charged for. Service item examples are a freight charge, a consultation fee, an express delivery fee, etc.
  • A cross reference item points to another item, so that when it is chosen in a list, it is substituted with the item to which it refers. This allows you to have items in your system that are referred to by trade name, but are only issued according to their generic name.

Managing items is mostly done from the Item menu or Item tab on the Navigator. The item menu also contains commands for managing lists related to items such as accounts, drug interactions and units.

For how to add a new item, see Adding a New item.

The Item Menu

Show items....

Use this command for viewing or editing just about any information about an item.

First you are presented with a window asking you to enter search criteria to find the items you are interested in:

If you click on the Find button (or press the Enter key on the keyboard) without changing anything you will be shown a list of all the visible items in your store. But you can refine the search by entering and selecting different values in the different filter lines shown in the window. If you enter no value for a filter then that filter is ignored.

Randomly select x items from returned list text box: If you enter a number in here mSupply will randomly select that number of items from the items which match the search criteria you have entered in the filters above. Beware: if there are less items returned from the search than the number you enter in here mSupply will return all the items it found with no random selection.

Exclude hidden items checkbox: This is checked by default and means that only items that are visible in the store you are logged into are included in the search. If you uncheck this box then all items in all stores in your datafile will be included in the search.

If only one item is found by your search then its details are displayed, otherwise you will be shown a list of matching items.

The Complex find button gives you access to a more powerful query editor where you can find a very specific set of items. A tutorial on using the query editor is to be found in the custom reports section.

To do a “contains” search, use the wildcard character '@'; e.g. entering “@250” will find all items with “250” anywhere in their name.

Here's an example of a list of items displayed after clicking the Find button:

Double-click the item in the list to view its details.

The Items list view

New item: Click this button to enter the details of a new item you are adding to your inventory. You can find out how to do this here

Report: Click this button to open a report editor window where you can design a report. The report will use the currently displayed records (not the highlighted records).

Set values: A flag is a quick way of identifying a group of items for use in a report.

* You can set and remove flags for multiple items at the same time. To do so, hold down the control key (command key on Mac) and click on the lines you wish to flag. They will become highlighted. Then click the “set flags” button. You will be shown a window like this:

We recommend you use a single character (or two) as the flag.

If you choose Append to existing flags, any items with existing flags will have the new flag added to the end of the flag. If you choose Replace existing flags, then the selected items will have their flags cleared. Note that you can clear all flags for all items by selecting all items (control - A) then leaving the Set flag to. field blank, clicking “Replace existing flags”, and then clicking the OK button.

Find: Clicking this button displays the Find window, the same as if you had chosen Items > Show items.

Order by: Clicking this button will bring up the standard Order by window, where you can choose fields by which to sort the displayed items

Print: Click this button to print the items currently displayed in a list.

Modify: Click this button to show details for the first record that is highlighted. Clicking the OK and Next button in the item details window will jump to the next highlighted record. To select multiple records, hold down the control key (command on Mac) while you click on the records you wish to select.

Duplicate: Click this button to create a new item with the same details as the selected item. A message box like the one below will appear. Click on button Duplicate to confirm creating the duplicate. Note that the only difference you will see between the existing item and the newly created item is the name of the new item ends with the text '(copy)'. The new item will be added to the end of the currently displayed list of items.

Note that for recording and audit purposes a Log event is created when an item is duplicated. For more information on log events see The Log

Customise list: Clicking this button will show a window where you can choose which fields from the items table are shown in the list view. See Working with lists.

The Item Details Window

Buttons in the item details window

Delete: Provided that an item has no transactions, quotes, order lines or backorder lines, it can be deleted, and this button performs that action.

Once you have received stock for an item, it cannot be deleted. You can delete an item immediately after you have created it or imported it. Note that if you have imported an item and stock, you can delete it, and it's associated stock will be deleted too (but not once it has been used in a transaction such as an invoice or build).

OK & Next: Saves changes, exits the window, then brings up the next item in the item list. If you did not have an item list open, or if you have reached the last item in the list, you will be returned to the list or the initial menus, depending on your starting point.

Cancel: Exits the window without saving changes.

Changes you have made to quotes, notes and backorders will be saved, even if you click Cancel .

OK: Saves changes then exits the window.

Tabs on the Item Details Window

The item details window displays a vertical list of 'tabs' down the left side. Click on the appropriate item to view a 'tab' displaying particular information about an item. The Item Details Window normally opens at the General tab.

The General tab

What are those lock icons? To minimise the chance of accidental amendment, some critical fields have a lock icon to the left of it. To change any of these fields, you must click on the lock icon first, and then enter the new value in the field.

Item name: This is the name by which mSupply will refer to the item.

Store: The store which you are using is displayed here. For mSupply systems that are only using a single store, this field is not relevant. For users managing more than one store, the desired store may be selected from the drop down menu. For users having access to all stores, and wishing to work with the cumulative data from them all, one of the options displayed will be “Supervisor - All stores” - refer Miscellaneous topics, Supervisor Mode.

  • You should avoid changing the name of an item to that of another item. If you have accidentally created two copies of the same item, these should be merged - refer Merging two items.
  • Historical records will still record the original name, but future invoices and invoices in process will pick up the new name when you add or edit an invoice line.

Item code: This is the code assigned to the item. This should be a unique code, and ideally, should not be a part of another code. For example, 1034 is unique, but is a part of 1034a, and so these two codes should ideally not coexist in an mSupply system.


Units: Choose the unit you use for this item. It is useful to distinguish items you issue by pack (eg eye drops) from items you issue by volume (eg oral liquids)

Department: You can assign each item to a department by choosing from the list of departments here. To set up departments, refer Managing Item Access....

Category: Provided that you have defined item categories, the appropriate category should be selected using the drop down list which displays your defined categories - refer Item categories.

Interaction group: Here you can choose the interaction group for the item - refer Manage drug interaction groups.

Item Flag: The item flag field is designed for bulk editing, where you use the list view to update many items at once. You can enter or edit an individual item's flag(s) here, though it can be easier to do so using The list view.

Universal Code: mSupply has the ability to look up and store a Universal Code for each item. Click on the select button selectucbutton.jpgto look up a universal code. mSupply will look up matches based on the first three letters of the item name. Ensure you carefully select the correct item from the list when using this feature.

If you want new universal codes added to the system send an email to support@msupply.org.nz

You can search universal codes from a web browser at https://universalcodes.msupply.org.nz/

Catalogue Code: Frequently organisations may apply a second code to an item - e.g. one for auditing purposes, in addition to one for general use. This field allows the entry of such a code.. Provided the Include catalogue code for each item box is checked under Preferences > Misc, a report on Catalogue codes may be produced.

Hold: do not issue: If this box is checked, the item will not be available to be issued on invoices. It will still appear in lists, but you will get a warning if you choose it when issuing stock, and will be required to choose a different item.

Putting the Item on hold applies to all stock lines of the item in the store you are currently logged into. If you wish to hold selected stock lines only, you should do that by editing the individual stock lines using Show items with stock.

Issue in builds only: Checking this box will mean that the item cannot be issued on customer invoices. This is useful in situations like where an item which by law can not be sold in an unprocessed state, but is used to 'build' (refer Building (Manufacturing) Items) another item which is legal for distribution.

Allow pack to one conversion: Checking this box allows stock of the item to be repacked to “1”.

Convert pack to one when receiving: If this box is checked, when you receive items the pack size will automatically be converted to “1”. This is primarily for use in dispensary mode, but may be useful in other situations too.

For example: say you receive 50 x 100 boxes of paracetamol tablets, but you issue variable amounts of paracetmol tablets on invoices. If this option is checked, as you receive the stock on a supplier invoice, it will be converted to 5000 (quantity) x 1 (pack size). You will now be able to issue any quantity you like. The cost and sell price are automatically adjusted for the new pack size.

Shelf locations

Shelf Location: The default shelf location for this item in this store. When you receive items into stock, they will be given the shelf location you enter here unless a different location is chosen. Type as much of the location (ie the first few characters) or code as you know, then press the Tab key. If only one location code matches your entry it will be filled in automatically, otherwise you will be shown a standard choice list like this:

Select the location you want by double-clicking a line or by clicking once on the line and then clicking OK

Each stock line can have its own shelf location, or can share a location with another stock line.

Bulk Shelf Location: Similar to shelf location but it is used to store bulk quantities of goods/items. You can enter a code here in the same manner as for the Shelf Location.

Preferred pack size: This is the default pack size that will be chosen when receiving new goods or adding an item to a purchase order. It will also be used for comparison of quotations from suppliers (i.e. the adjusted price used when comparing quotations is the price if all quotes for the pack size defined here.

Restricted to Here you can choose from a list of Location types. For example, all cool store locations could have been given a type of “cool” and then if the item you are editing should be kept in a cool store, choose that type here, and you will only be able to receive that item into a cool store location.

Volume per pack: If you are using available volume tracking in your warehouse, then fill in the default volume for one pack of the preferred packsize of the item here.

mSupply® always stores volumes as m3 (cubic metres), but you can enter a volume as millilitres (mL), litres (L) also.

You enter Value displayed mSupply® stores
30ml 30ml 0.00003 m3
1500L 1.5 m3 1.5 m3
600 L 600 L 0.6 m3
1500 ml 1.5 L 0.0015 m3

Outer pack size: The number of default packs per default outer pack

Outer pack volume: The volume for the default outer pack. This may be different to an exact multiple of the volume per default pack you entered above, as outer packs may have their own packing. (For example, vaccine packs may come in an insulated container.)

Weight per pack: The weight of a default pack in kg.


Default margin: This is the margin that will be applied to this item on supplier invoices to calculate the selling price. Note that if a supplier margin is also set, there is a setting in the Preferences > Invoices 1 that determines which margin will be used. Note also that if a default selling price is set, this price will take priority and be used rather than the margin.

Default sell price of preferred pack size: Only enter a price here if you want a fixed selling price for this item. Enter the price for one unit (eg 1 capsule or 1 gm). A price entered here will override any margins you have specified for either the supplier or the item.

Price editable when issuing: Check this box to enable this feature

Full description

This field may be used for entering a fuller description of the item should the item name alone be insufficient.

VEN Category

Like all categorisations, this one is used for reporting. VEN category options available are:

  • Not assigned
  • Vital
  • Essential
  • Necessary

You can select one of the options only and Not assigned will be selected for all items by default.

Authorities, including the WHO, are inconsistent on whether N should stand for Necessary or Not Essential. It makes no difference to mSupply, but if you want this changed in your installation of mSupply, talk to Sustainable Solutions

Stock Category

These categorisations are used for reporting and you can check as many as are appropriate. You don't have to check any, they are entirely optional.

Custom fields

These are 7 fields available for users to store information appropriate to their operation. These fields may be queried when performing a search or producing a custom report. Their default names are user_field_1, user_field_2, etc.., but these labels may easily be edited to more descriptive ones as required..

Field types:

  • Fields 1,2,3 & 6 are text fields
  • Field 5 is a numerical field
  • Fields 4 & 7 are boolean - True/False (Yes /No) entry.

To set the names of the user fields, refer General Preferences, Miscellaneous tab.

The Misc(ellaneous) tab

This window has settings for:

  1. cautionary warnings used when dispensing medicines
  2. accounts used when exporting transaction information
  3. SMS (text) messaging
  4. Price list

Warnings: Warnings which apply to this item are chosen from a standard list. This list is set up using the Special > Warnings menu.

Use the Add button to add a warning for the item. This will open the below window where you can choose the warning from a list. Double click on the warning you want to use. You may also add new warnings to the list by clicking the new button.

To delete a warning, click on its line then click the Delete button.

When an item has more than one warning, the warning that has priority will be automatically printed on the label. You can add other warnings as part of the label directions if required.

To give a warning priority, double-click its line in the list and check the Priority box:

A warning's text may only be edited by choosing Warnings from the Special menu

Accounts: You can set the general ledger account to be used for exporting purchase and supply transactions involving this item here.

To set each account enter a portion of the account description or code and press the Tab key. You will be shown a standard choice list if more than one account matches what you typed.

SMS settings: These settings concern the item and SMS messages from mobile phones.

SMS code: This is the code that will be entered in an SMS to refer to the item. Keep the code short and unique! If you change this code you must notify all the users who send SMS messages to mSupply about the new code, otherwise they will not know how to refer to this item in their SMS messages. Because of this, you can only change this item after you 'unlock' the padlock next to it by clicking on it. When you unlock the padlock you will be shown a warning that SMS users must be told about the new code.

SMS pack size: The pack size to use to convert the pack size quantities entered in an SMS message into item quantities. You must enter a value greater than or equal to 1 for this if you have entered an SMS code. Otherwise this field is ignored.

Price List

On Price list: If this box is checked, this item will be included when the price list is produced - refer Other Reports.

Catalogue price: The price for the item that will be used when you produce the price list

Catalogue pack size: The pack size for the item that will be used when you produce the price list

The Catalogue pack size can differ from the preferred pack size on the General tab

The Usage tab

The Usage tab allows you to view the item usage per month for the previous 24 months. This information is very useful for quickly spotting a trend in usage for a particular item.

Below the list of usage for each month there is a drop down list to choose from 1 to 24 months. After choosing a value, the Mean (average) usage and Standard deviation figures will be updated to give the figures for the period chosen (the period is from the selected number of months ago to the current day).

Refresh usage button: This button allows you to update the usage with transactions that were added since you opened the window (this applies to multi-user mode). It also allows you to show the usage with or without build transactions included in the totals, depending on whether or not the Include builds checkbox is checked.

Show Graph button: Clicking this button shows the same information in a graphical format:

One coloured set of bars shows the usage for the current year, another coloured set shows the usage for the previous year (if data is available).

The Stock tab

The “Stock” window shows the lines of stock for this item together with the stock on hand. mSupply® will calculate how many days this stock will last, based on your usage over a number of months - you can specify how many months.

If you have turned on any of the custom stock fields in store preferences they will be displayed as columns (between the Supplier and Manufacturer columns) in the list of stock lines on this tab and the information you entered for these fields when the stock was received will be shown in the appropriate cells.

Show zero lines: This button will show all the lines that are still in your data file, but which have no stock on hand. If you can think of a use for this information, please let us know! When you click the button the button title changes to “hide zero lines”, which allows you to get back to the info you really wanted.

Splitting: There may be occasions when you need to split your stock- e.g. if you are moving it, say, from a store to a dispensary or clinic, or when you are repacking some stock; select the line to be split, and click on the Split icon to show a window allowing you to enter the quantity to be split, the new location, and - if applicable - the new pack size.

In the example shown, 2 packs of 1,000 Erythromycin tablets are being transferred to a new location, and the `outer' of 1,000 ( actually 10 x100 shrink wrapped together) is being opened to yield 10 individual packs of 100.

Update sell prices: Clicking on this icon will update the selling prices of the highlighted line(s). mSupply® will use the figure entered in the Default sell price of preferred packsize field in the General tab, which must show the updated price before this will take effect. If you make use of the Default margin field, and you update this figure, then Supply® will calculate the updated sell price using it. Note that mSupply® looks first in the Default sell price … field, and any figure entered there takes precedence.

Labels: Clicking this button will print shelf labels for the highlighted stock line(s). The shelf label includes the location, the item name and code, and the batch and expiry. Here's a (bad) example

Highlight a line then click on this button to display a list of transactions which used this particular line.


You can consolidate (join 2 stock lines together) if they have

  • The same batch #
  • The same expiry
  • The same pack size
  • Are at the same location

If 2 stock lines you want to consolidate are at different locations, edit one of the stock lines to move it to the location of the other stock line, then consolidate. This reflects what you would have had to do physically anyhow!

  1. Hold down the control key (command on Mac)
  2. Click on the two lines you want to consolidate
  3. Click consolidate
  4. If the two stock lines are at different locations you'll be warned and asked if you want to continue.
  5. You're shown this window
  6. Choose which stock line to keep.
  7. Click OK

An example:

  • Before:
  • After:

Other information on the stock details page


Minimum stock: The minimum stock you wish to keep on hand. Note that you do not need to enter a quantity here for mSupply®'s ordering system to work. In fact, it is better in most cases to leave this number set to zero. This field should only be filled in if you absolutely must keep a minimum on hand. For example, if you stock naloxone for narcotic over dosage reduction, and even if you only use 1 vial every year, you have decided you need to keep five vials on hand, you would enter “5” as the minimum quantity for naloxone.

Stock on hand: The total stock of this item on hand.

Stock on order: The total quantity of stock of this item on order from suppliers

Non-stock items

If this is a non-stock item, you can check this check box. If there is one, you can specify the default customer for the item, otherwise leave this box blank. For more on this topic see Non-stock items

Months Cover

You can use this calculator to estimate the time left until the stock of this item runs out. The values which appear estimating the time it takes to use the stock on hand (and on order) are calculated from the average usage of the last few months. You can choose the number (from 1 to 24) of months used to calculate this in the drop down list.

You can also exclude stock that will expire soon. Enter a number of months and any stock that expires before your chosen time frame will be excluded from the calculation.

If you would like to know how much stock to order so that you have enough for the next few months, enter the number of months you would like stock for. After entering or changing any or all of these values, click Calculate to see the results.

Editing a stock line or viewing more stock line details

To edit the cost price and selling price for an item line, double-click the line you wish to edit.

The Item stock line details window is displayed:

The Stock lines > General tab

This tab shows the details of a stock line.It also gives you total and available quantity of that stock line.

Hold checkbox: To hold a stock line, check the Hold check-box. Once an stock line is held, it cannot be issued. It will still appear in the available stock window, but held stock lines will have a check box in the hold column, and if a user attempts to issue from the stock line they will be informed that the stock line is on hold.

The Hold: do not issue option in the General options takes precedence, and if that option is checked, then no stock may be issued, regardless of batch.

The Stock lines > Ledger tab

This tab shows a list of transactions (supplier and customer invoices, inventory adjustments etc.) for the item being viewed. You can use this window to see a list of customers who have been supplied with this particular item:

The In/Out column tells you whether the transaction on that line brought stock in to, or took stock out of, mSupply.

The Stock lines > Status tab (Vaccine vial monitoring)

A window appears with 4 columns:

  • Date
  • VVM status
  • Entered by
  • Comment

There are two buttons:

  • New
  • Delete.

This has been specifically designed to use the Vaccine Vial Monitoring (VVM) feature. All vaccines requiring cold storage bear a VVM label which registers cumulative heat exposure over time; the combined effects of heat and time cause the inner square of the label to darken gradually and irreversibly. A comprehensive description of VVM is available in WHO's pdf document accessible. Stock lines of vaccines should have their status VVM labels regularly checked, and assigned to the relevant status; Clicking on the New button allows the details to be recorded.

Should a stock line of vaccines have the status 3 (or 4), the Hold checkbox under the General tab should be checked.

The Stock lines > Reference Documents tab

The standard Document Management window appears. See Reference documents for more information on the use of such documents.

The Ledger tab

The item Ledger tab lists individual transactions for the item in question. By default is shows all transactions for the current year:

The Type column has a shorthand label for the type of transaction:

  • si = supplier invoice and inventory adjustment to increase the amount of stock
  • ci = customer invoice column describe
  • sc = supplier credit or inventory adjustment to reduce the amount of stock
  • cc = customer credit

Note that all supplier lines have a grey background and customer lines have a white background to help you identify them easily.

The Quan column shows the number of packs of pack size shown in the Pack column that were involved in the transaction.

As a quick indicator, if the transaction reduced the amount of stock in mSupply then the number is negative.

Filtering the ledger list

Two drop down lists are available to filter the transactions you see in the table:

You can use the Show…. drop-down list to show:

  • All transactions (the default)
  • Only supplier transactions (supplier invoices)
  • Only customer transactions (customer invoices)
  • Inventory adjustments
  • Repacks
  • Transactions whose status is `New'
  • Transactions whose status is `Suggested'
  • Transactions whose status is `New or suggested'
  • Transactions for just one name (click on a transaction line for the name you are interested in)
  • Transactions for one particular item line. This will show the supplier invoice on which the item line was received, and all subsequent issues of that item line to customers.
  • Same batch as selected - this will show all the supplier invoice on which the batch was received, and all subsequent issues of that batch to customers. This can be useful for tracing a particular batch of medicines.

The other drop down list allows selection from a variety of periods during which transactions occurred.

Clicking on the column headings of the transaction list will sort the list by the information in that column. The column header will be underlined to show by which column the list is sorted.

If the cost price column is blank, this is because the current user does not have permission to view cost prices. (This option can be turned on or off for each user from the “File > edit users…” menu item).

If you want to view an invoice for one of the displayed lines, simply double-click the line you are interested in. The invoice (or payment, as the case may be) will be shown in a new window.

Printing the ledger list

Clicking this button will give you the following printing choices:

  • the information currently displayed in the window
  • a complete ledger from the start of your year
  • stock movement for a specific period or between two dates of your choice

The Quotes tab

A quotation is a record of a price you have been given by a supplier. For each item you can have multiple quotes recorded, reflecting different prices you have been quoted from different suppliers, or even different prices from the one supplier for different pack sizes.

When you come to compare quotes, there are several factors that need to be taken into account. By entering the information in mSupply® you are able to find the best price once these factors have been taken into account, and you build a history of quotations from each supplier.

The date until which the quote is valid is displayed, and you can choose to display all quotes, or currently valid quotes.

There may be occasions when a supplier has quoted for an item from two or more manufacturers, and in such cases, the manufacturer's name will appear in the column headed Manufacturer .

Cost: Cost is the price for that pack size in your local currency, taking into account the freight factor and the exchange rate.

Adjusted cost: Adjusted cost is the price for your “preferred pack size” you have entered for that item. This second price allows for a direct comparison between suppliers. Note that if you change the “preferred pack” for an item, all your quotes will be updated to reflect the new pack size.

Comparing quotes:: Click “Adj cost” heading in the list of quotes to bring the cheapest quote to the top of the list.

Add a new quote

Click the “new quote” button. The quotes input window will open

  • Type as much of the supplier code as you know, then press the Tab key- you will be presented with a list of suppliers if there is more than one to choose from.
  • Enter the price and the pack size in the currency you have been quoted.
  • Note that the currency and freight factor are filled in with the information you have entered for the supplier.
  • If the supplier has quoted in a different currency to the supplier's default currency, you can change the currency for this quotation from the drop-down list on the right.
  • The freight factor is the factor you need to add to the supplier's prices to account for delivery costs. If your supplier includes these costs in the quoted price (i.e. prices are “CIF”), the freight factor for the supplier should be set to “1”. If your supplier adds freight that amounts to about 15% of the invoice price, set the freight factor to 1.15.

Strip pack: This check box allows easy identification of quotes that are for strip/blister packed items (as opposed to “loose” items).

Preferred: This check box allows you to identify one (or more) suppliers as the preferred supplier for the item. One of the ordering methods uses the “preferred” check box to indicate which items should be considered for ordering from a particular supplier. See Ordering from suppliers for more details.

Supplier code: If you are using electronic invoice transfer, you must use this field to record the code for the item that this supplier uses on their electronic invoices.

Supplier bar code: Here you can record the bar code identifier for this product.

Price Break: Enter the quantity that generates a price break along with the percentage discount that will apply once this quantity is reached.

Freight: Enter the value for the preferred pack (outer pack) and the freight for that pack provided by the supplier.

Click OK to accept the details, or cancel if you decide not to add a quote for this item.

To modify a quote:

Double-click the line you want to edit.

In the window that appears you can change the date, the supplier, the price, the pack size, the Strip check box, or the Preferred check box.

To delete a quote:

  • Click on the quote line you wish to delete
  • Click the Delete quote button
  • Confirm that you want to proceed

The Backorders tab

You can view the backorders for an item here. To edit a backorder, double-click the line you wish to edit.

To add a new backorder for this item, click the New backorder button. This window will be shown:

  • Enter part of the customer name, then press Tab to search for the customer.
  • Enter the order date, quantity and any comment, then click OK to save the new backorder entry.

To delete a backorder, click the line you wish to delete, then click the Delete backorder button.

The total stock on backorder is shown below the list.

The Notes tab

You can add and edit notes for an item here.

Click the New note button to add a note. A note can be up to 32,000 characters.

The date on which you are entering the note is already completed, and in the main panel you should type in the wording of the note itself. In the lower left of the window is a drop-down list offering various choices concerning the displaying of the note on screen; it may appear as an alert when this item is issued on a customer invoice, received on a supplier invoice, or, if all is chosen, it will display for both customer and supplier invoices.

You may also set the background colour of the note, but as the text is always black, dark colours should be avoided. A further option allows you to have one or more audible `beeps' sound when the note is displayed. Each note will display according to the attributes set for it, independently of other notes defined for the same item.

Subsequently, when the item is selected (depending on the specified display settings), the note will appear on screen; be aware that the note does not disappear automatically - you must close it/them manually.

To edit a note, double-click the note in the list you want to edit.

The Reconcile tab

Clicking the Reconcile button will give a summary of usage.

It is useful for checking mSupply® is working as it should be! If you get an error here it is most likely due to your using mSupply® when a power failure occurred. In multi-user versions we are able to provide you with a log file that will allow you to incorporate transactions entered even if a power failure has occurred. In normal use, with a UPS, mSupply® will automatically save data and you will not see an error here.

The Bill of Materials tab

This may not be showing if you do not have a registration for mSupply® that enables manufacturing, or the buttons may be dimmed so you can not make entries if your user permissions do not allow you to view Bills of Materials.

Here you can specify a Bill of Materials for the item if it is a manufactured item. Once you have done so, and have checked the Use a Bill of Materials to manufacture this item check box, when you enter a new build, it can be automatically filled out with the correct materials (ingredients) and the correct quantities for the total to be manufactured.

Use a bill of materials to manufacture this item: If this check box (1) is not checked, the bill of materials (if one has been entered) will not be used when manufacturing builds.

New ingredient: This button(2) allows you to add items to the bill of materials.

You will be shown a window like this:

Enter the start of the item name or code then press the Tab key. If only one matching entry is found, you can then enter the quantity. otherwise you will be shown a list of matching items. Double-click the item you wish to use.

Click the OK button when you have finished, and the item will be added to the bill of materials for the item you are editing.

Note: (3) Be careful to enter quantities corresponding to the units you have specified for the item.

Delete ingredient: To delete an ingredient, first click on the ingredient you wish to delete so that it is highlighted, then click this button.

Print: This button allows you to print the bill of materials that is displayed.

Quantity of finished product this bill of materials is for: This is the total quantity of this item that will be produced by the bill of materials that is entered for the item. Be careful to set this quantity and the units correctly.

Manufacture Method: This panel may be used to record the steps in the manufacturing process. When you are entering a build you have the option to print the manufacture method along with the build ingredient list. For more information see Building (Manufacturing) Items

The Purchase Orders Tab

  • The Show drop down list beside allows filtering the display of Purchase Orders according to their status - All, Suggested, etc. -
  • If you double-click a row the Purchase order will be opened in a new window.

The Order Options tab

Never order this item: If you have items that are “one-offs” or have been discontinued, use this check box to stop them appearing in orders.

Hold: do not receive: If this check-box is checked, you can not receive this item into the store you are currently logged into. This can be useful if you have changed to using a different item, and you do not want people to accidentally use the redundant item.

Expiry date required on receive: When this is checked, you will be unable to receive this item unless an expiry date is entered for it. Therefore it is best to check this box for items that will always have an expiry date such as oral medicines and to leave it unchecked for items that will never have an expiry date such as surgical instruments.

  • You will be warned if you try to add or edit an item on a goods receipt or a supplier invoice that has no expiry date entered. Also, you will not be able to finalise a goods receipt that contains items which have no expiry date entered.

The Dispensing tab

Default directions

A feature of mSupply® which can reduce the time taken to dispense a prescription is its use of abbreviated patient directions, which allows the entry of a short sequence of characters that expand to meaningful text. This is where you can set an item's default directions which will be used at the time of dispensing. When there is more than one entry, priority is given to the direction that is ranked at no.1 under Priority, and it will be automatically suggested for the item when you dispense it. Further information on the use of abbreviations will be found in the section Dispensing, Abbreviations

In cases where multiple abbreviated directions have been defined, the required one(s) will be available from a drop-down list when dispensing the item. Note that even if you set up default directions, you can override these at the time of dispensing, either with longhand text or by editing the abbreviation that has been entered.

Warning: If you choose to use this option be very careful to:

  • Inform other users that default directions have been entered.
  • Ensure the directions are appropriate.
  • Check each prescription dispensed, and change the directions if the prescription has different directions to the default set.
  • Update the default directions if you change any of the abbreviations.

Add button: Click this button to show a window where you can add directions. You can enter any combination of directions and text. (Abbreviations are managed by choosing Special > Abbreviations)

Delete button: Click a line, then click this button to delete directions you no longer need, or if you have made an error.

Picture, Instructions and Purpose

These fields provide default information to be used with the Patient medication records system.

Item Picture: You can drag and drop or past a picture into this field. Common file formats such as JPG and PNG are accepted.

When you add a picture, the size is shown to the left- we suggest pictures are less than 200KB each.

To clear a picture, click on the field and paste it.

Purpose: Enter the purpose of the medication here. This will be available to add to patient medication records

Instructions: Enter the medication instructions here. For example, you might want to explain about sensitivity to sunlight with long term use, or that certain foods should be avoided. This will be available to add to patient medication records. Note this is separate to the medication warnings system, which will print on dispensing labels.

Other fields

Warn if user tries to issue more than field: You can enter a number here and have the user warned if they try to dispense more than this quantity.

The Reporting tab

ATC Category: This field is intended for the ATC code. The use of ATC codes and DDD values is discussed in detail here.

DDD value: The DDD value is the defined daily dose of the item. For example, doxycycline's DDD value is 100mg., while that of Amoxycillin is 1g. DDDs are a means of quantifying the issue of medicines by doses rather than by the raw number of units dispensed.

DDD factor: Defined Daily Dose factor- this is the number of units of the item that make up the DDD value. In the case of amoxycillin 250mg capsules the DDD factor is 4, while amoxycillin 500mg capsules have a factor of 2. For Doxycycline 100mg tablets the DDD factor is 1

ABC category: This option allows you to mark items that are commonly used and then report on only those items. For Reports using this category, see Items and Stock reports

The Log Tab

mSupply® maintains a record of any changes to an item's details - name, code or units. The log window displays a list of such changes, under the headings:

  • Date
  • Time
  • User and Event
  • Event Type


Selecting Requisitions shows the stocktakes featuring this item,

  • Choose a date range from the drop-down list to show custom stocktakes within that range.
  • Double-click a row to view the customer stocktake in question.

The Stores tab

Only users who have Admin privileges may access this feature. See Managing Users

Selecting this item shows the stores where this item is visible, and allows these stores to be set to Active using the checkbox.

If the Active checkbox is unchecked, the item will not be visible when logged in to that store

Note that

  1. you can only change the visibility of an item for the store you're logged in to.
  2. you can not make an item invisible in a store if it has stock on hand in that store.

Seeing an invisible item

Once an item has been made invisible it will no longer show up in your items list when performing a normal find items task. To include invisible items when finding items, untick the Exclude hidden items box:

The items list will now display any invisible items and you will be able to able to make them visible again in the store tab.

If your mSupply system is a Primary - Satellite synced system, you can only change visibility of items on the Primary server.

Previous: Working with lists Next: Adding items

2011/04/15 05:04 · Craig Drown

Adding a new item

There are different types of item in mSupply but this is the function you use to add them all. The different types are:

  • Normal: This is the one you will nearly always use and is something which you can receive, distribute and hold stock of.
  • Cross reference: This type of item is a pointer to a normal item. Whenever you select a cross reference it will be replaced with the normal item that it points to. In this way, you can use cross reference items to represent brand names (e.g. Panadol) or familiar names (e.g. “Cetamol” is used to refer to “Paracetamol” in Nepal) that actually refer to generic items.
  • Service: These are items which do not have physical stock such as consultancy fees or other charges.

To add any type of item choose Item > New item from the menus (Note: this is not for adding actual stock, just details of the items themselves - to add stock see Receiving goods (goods receipt function) or Receiving goods - a supplier invoice).

Don't be put off by the number of fields appearing on these windows! mSupply will operate satisfactorily after entries have been made in just the Item code and Item name fields for any item type. All the other fields can be regarded as optional extras, some or all of which you may use at some later date, or never. mSupply is very versatile!

Normal items

Type: Select the type of item you want to add here. The field always defaults to normal.

Item code: This field is mandatory and is a short way of referring to and finding the item throughout mSupply

Item name: This field is also mandatory and is the name that the item will be known by throughout mSupply. It will appear in reports and displays, wherever the item is referred to.

Barcode: Enter the text value of the item's barcode in here. Not used at the moment but will be in the future - mSupply is ready for the time when barcodes contain batch and expiry information and therefore become useful for managing pharmaceuticals.

These 4 fields are available to be filled in for every type of item.

You should decide on a clear scheme for item names and codes. This can be a tricky process but is worth persevering with. You can change your mind later but changing the codes of all the items and names in your datafile could be a time-consuming business.

We would recommend that the item code is systematic and can be worked out from the item's details e.g. first 3 letters of the item's name, 3 figures for the strength, a letter for the formulation then a letter or number for disambiguation if necessary. e.g. the code for Amoxycillin 500mg capsules could be amo500c.

For item names we would recommend again that you use generic names (no brands or familiar names - use cross reference items for those), be systematic and start with the broadest part of the name. For example, “Brody forceps” would be entered as “Forceps, brody”, “Aqueous iodine” would be entered as “Iodine, aqueous”. For pharmaceuticals we would recommend the name followed by the strength then the formulation e.g. Amoxycillin 500mg capsules.

You are, of course, free to choose your own schemes, these are just our recommendations and one way of doing it. There are many reasons for adopting other schemes and it is not necessary to know or remember item codes while using mSupply!

General tab

Units: The drop down list allows you to choose the appropriate units for the new item ; mSupply comes with a limited list of pre-defined units, but it is recommended that users define their own list. You will find more information here.

Category 1: Click on the magnifying glass to select the category 1 this item belongs to. Category 1 is hierarchical and needs to be setup before you can select them here. See Item categories for details on setting them up.

Category 2 and 3: Select the category 2 and 3 that this item belongs to. You must setup these categories before you can select them here - see Item categories for details on doing that.

Department: Select the department the item belongs to. Departments are not a way of categorising items (use the other categories for that) but are for restricting access to items for different customers and are described in detail in Managing item access.

Default shelf location: This is the location in the store that the item is normally stored. It will be offered by default when the item is received into stock. Type as much of the location code or description (e.g. the first few characters) as you know, then press the Tab key. If only one location code matches your entry it will be filled in automatically, otherwise you will be shown a standard choice list like this:

Select the location you want by double-clicking its line or by clicking once on the line and then clicking OK.

Default pack size: This is the standard pack size that you use for comparing quotes from suppliers.

Default weight: The weight of the preferred pack size in kg.

Price list: If this box is checked, this item will be included when you produce price lists. If checked the item will also be included in the online catalogue.

Non stock item: If the item is something you do not normally keep in stock, but is passed straight to a customer, this box should be checked.

Default customer: This is the customer the item is sent to by default - used for non-stock items only. Type the first few characters of the customer's name and press the Tab key on the keyboard to select the customer you want.

VEN category: Select which WHO VEN category the item belongs to (one only) - used for reporting.

Stock category: Check each one of these that apply to your item (used for reporting):

  • Normal stock: For practically all new entries this box should be checked; at a later date, should the item be removed from your formulary for instance, you would remove the check from this box.
  • Critical stock: Should it be a requirement that you must never be out of stock of this item, this box should be checked.
  • Essential drug: Check this box if the item is on your Essential Drugs List.

When you have added all the details for your new item, click on the OK button or, if you want to add another new item, the OK & Next button.

If you have clicked OK & Next but don't want to add more items, press Cancel. Items previously added are still saved - just the details showing on the screen are not saved.

Stores tab

On this tab, you select which stores the item will be visible in.

Simply check the Visible in store checkbox against each store in the list you wish the item to be visible in (if an item is visible in a store then it can be sued in that store). You can use the All/None checkbox to toggle selection of all stores or no stores.

If the preference Automatically update item visibility to match the master lists used by each store preference (see General preferences) is turned on then the table in this tab will be replaced with some text telling you that visibility is controlled by master lists and not selecting store visibility directly. Use the Master lists tab (details below) in that case.

Master lists tab

On this tab, you select which master lists the item should be added to.

Master lists can be used for many things in mSupply (e.g. controlling visibility of items in stores or determining which items appear on requisitions). See Item master lists for details of how to set them up and use them.

To add the new item to a master list simply check the Add to list checkbox against the particular master list in the table. Note that any master lists that have the Automatically add new items to this master list option checked will have their Add to list checkbox checked and you will not be able to uncheck it.

Cross reference items

To create a cross reference item select cross reference in the Type drop down list. The window changes slightly:

The Item code, Item name and Barcode fields are the same as for a normal item (described above) but remember you're entering the details of the brand or familiar name in here!

Cross reference item tab

When this item is chosen in a list, use: Type the first few characters of the normal item you always want to replace the brand/familiar name with in this field. Then press the Tab key on the keyboard and select the item you want.

That's it, all done. After clicking the OK or OK & Next buttons, every time a user chooses the item you entered in the Item name / Item code fields it will be replaced with the item you entered in the When this item is chosen in a list, use field.

Stores tab

You select the stores the cross reference item will be visible in on this tab. It operates exactly the same as the Stores tab described above for normal items.

Note: cross reference items cannot be added to master lists so there is no Master lists tab. Their visibility cannot therefore be controlled by master lists but only by directly selecting the stores they are visible in on this stores tab.

Service items

To create a service item select service in the Type drop down list. PLEASE NOTE: the service option will not be available in this drop down list if the preference to allow service items has not been set. Please see General preferences for details.

The window changes slightly:

The Item code, Item name and Barcode fields are the same as for a normal item (described above).

Service item tab

Cost price: Enter the cost you buy this service (e.g. getting an oxygen cylinder refilled) for.

Sell price: Enter the price you charge when selling the service.

Neither of these fields is compulsory.

Stores tab

You select the stores the service item will be visible in on this tab. It operates exactly the same as the Stores tab described above for normal items.

Note: service items cannot be added to master lists so there is no Master lists tab. Their visibility cannot therefore be controlled by master lists but only by directly selecting the stores they are visible in on this stores tab.

Previous: Understanding Items Next: Item categories

2011/04/18 12:21 · Craig Drown

Item categories

Item categories are a great way of grouping your items. This enables you, for example, to report on specific groups of products by filtering by item category. This can be extremely helpful.

mSupply provides 4 different categories (called category 1, category 2, category 3 and VEN) for you to use. Category 2 and 3 are normal categories but 1 is a bit special - it's hierarchical and has 3 levels (level 1, 2 and 3. Level 1 is the top level, level 3 is the bottom). VEN refers to the WHO categories of Vital, Essential and Nonessential.

Be careful not to get mixed up between the levels of category 1 (1, 2, and 3) and the different categories (1, 2, 3 and VEN) themselves here!

Category 1 categories

Selecting Show Item Categories from the Item menu opens the window appearing below, showing all the category 1 categories in their 3 levels by default (Note that the 3 “None” categories are default categories and cannot be renamed or removed): In the screenshot you can see that “6.Antiinfectives” is a top level (level 1) category 3 category. It has 3 level 2 child categories: “6.1 Antiinfectives, anthelmintics”, “6.2 Antiinfectives, antiamoebic/antigiardics” and “6.3 Antiinfectives, antibacterials”. And level 2 category “6.2 Antiinfectives, antiamoebic/antigiardics” has a single level 3 category “Antileprosy medicines”.

Clicking on any of the categories will show you which items are assigned to that category in the panel on the right hand side of the screenshot.

Adding category 1 categories

To add a category at level 1, 2 or 3, click on another category at the same level you want the new one to be, click on the Add button (or the Add child button if you want the new category to be a child of the category you selected) shown in the screenshot and the new level will appear at the bottom of the categories pane called “Click to edit” and already selected. Click on it once and type the category's name. When you're done click outside the category and that's it!

Editing category 1 categories

Renaming a category is simple. Click once on the category you want to rename to select it then click on it again to edit the name: the category will become a text box and you can type the new name. When you've finished editing the name, simply click outside the textbox (but inside the category pane) and the new name will be saved.

Changing the parent of a category is almost as simple. You simply click on the category once to select it then click on it again, drag it onto its new parent (or a sibling of the new parent) and let go of the mouse button. Two things to note here:

  1. You can only move a category to a position at the same level. If it's a level 3 category then you can only drop it onto a level 2 category or another level 3 category. If you drag a level 3 category onto a level 1 category nothing will happen. For example: in the screenshot you could drag category “6.1 Antiinfectives, anthelmintics” onto category “1. Anaesthetics” or onto category “4.2 Antidotes, specific” and it would move (to become a child of category “1. Anaesthetics” or “4. Antidotes”). But if you dragged it onto category “6.2.3 Antileprosy medicines” it would not move (this is a level 3 category, 1 level below “6.1 Antiinfectives, anthelmintics” so the move is not allowed).
  2. If you move a category which has any child categories, all the child categories will be moved too. For example: in the screenshot you could drag category “6.1 Antiinfectives, anthelmintics” onto category “4.2 Antidotes, specific” and it would move to become a child of category “4. Antidotes”. It's child (“6.1.3 Antischistosomals…”) would remain its child and become a grandchild of “4.2 Antidotes, specific”.

Deleting category 1 categories

This is the simplest of all. Select the category you want to delete by clicking on it and then click on the Delete button. After confirming you want to delete the category it will be deleted. mSupply will not allow you to delete categories that have items assigned to them - it will warn you that you have to remove the items from the category first. See the Assigning items to categories section below for details on how to do this.

Category 2 and 3 categories

Category 2 and 3 categories are simpler - they are not hierarchical. To view the category 2 or 3 item categories select Show Item Categories from the Item menu and change the Show drop down list at the top of the window to “Category 2” or “Category 3” and the window will change to look like the screenshot below:

The window shows a list of the existing categories of this type.

Save sort order button: The sort order of the categories is the order they will appear in the list when you are assigning items to the categories (see the Assigning items to categories section below) or when you're selecting them in a filter e.g. for a report. You can drag the categories up and down the list to give them the order you want them to appear in. When you are happy with the order, click on the Save sort order button and the order will be saved.

New button: Clicking on this will take you to the edit category window shown below:

Simply type the name of the category shown in the Item category textbox and click on the OK button to create the new category

If you double click on a category in the list you will also be taken to the edit category window where you can edit the category's name, see which items have been assigned to the category, delete the category (click on the Delete button).

VEN Categories

mSupply allows you to categorise items according to the World Health Organisation categories of:

Vital - medicines are potentially lifesaving, have significant withdrawal side effects (making regular supply mandatory), or are crucial to providing basic health services.

Essential - medicines are effective against less severe but nevertheless significant forms of illness but are not absolutely vital to providing basic health care.

Necessary - this group of drugs is used for minor, or self- limiting illnesses, and those which have a comparatively high cost for additional therapeutic value. It includes drugs which are prescribed but which provide useful alternative therapy.

You can use these categories to make purchasing decisions using reports such as the Suggest Order Quantities report.

Assigning items to categories

Once you have set up the categories, all items can be assigned to their appropriate category. This is performed on the Item details window under the General tab (get here from File > Show items, click on the Find button and double click on the item you want to add to a category):

To assign the item to a category 2 or category 3 category, select the correct category from the Category2 or Category 3 drop down lists.

To assign the item to a category 1 category click on the magnifying glass next to the Category box. The following window will open:

  • If the item is already assigned to a category then that category is highlighted in the list
  • If you want to change the item's category, simply select the level 3 (bottom level) category you want to assign the item to, and click on the OK button
  • If you want to remove the item from all category 1 categories, select the level 3 “None” category in the list.

You can assign an item to a category 1, 2 and 3 category at the same time.

Previous: Adding items Next: Items - Master lists

2011/04/28 06:46

Updated: Version 3.1

Item master lists

Master lists are standard lists of items you would supply to wards, clinics, etc. on a regular basis. Once set up, a master lists can be assigned to customers or Virtual stores, and then used to support Stock Control including imprest orders. Master Lists are useful to stores which have a number of customers or virtual stores that they supply whose lists of stock items are either identical or very similar.

Choosing the Item > Show item master lists… menu item or clicking on the Show master lists iconmasterlisticon.jpgon the Item tab of the navigator displays this window:

Adding (and importing) a master list

Click on the Add Master List icon and you are presented with this window:

Description field: Enter the name of the master list here - this is the list name that everyone will see e.g. Health Posts - Standard List.

Note field: Add any note or information here that will help you and others understand what the list is for.

Automatically add new items to this master list checkbox: If you check this, any new items created, whether manually or during import, will be added to the master list. This is a particularly helpful setting when you are using master lists to control the visibility of items in stores.

The Items tab shown in the screenshot shows the list of items on the master list. The In use by tab shows which customers the master list has been assigned to (see below).

You then populate the list with the required items by clicking the Add Item icon:


On entering the first few characters of the item to be ordered and pressing the Tab key, the (by now!) familiar list will appear from which the desired item is selected by double clicking.

If the imprest system is used in your organisation, the quantity is entered in the Imprest Quantity field. If the imprest system is not being used, you don't have to enter anything in this field.

If you want this list to determine the price of this item for customers using it, the price is entered in the Price field. If not, no entry is required in this field.

In our example, a number of master lists have been created. A sample Health Posts - Standard List master list is shown below.

Sorting: Clicking on any of the column headings allows you to sort the list according to that heading; you also have the ability to click on an item in the list, and drag it to a new position; once the list is sorted to meet your requirements, you can click on the Save Sort Order icon, and mSupply® will retain the list in the order in which you have set it, and display it in that order next time it is accessed.

Copy to clipboard: The master list is copied to the clipboard when this button is clicked so that you can paste it into other applications on your computer e.g. a word processor or spreadsheet application.

Import Item List

You can import a list of items created elsewhere e.g. an accounting application or a spreadsheet. This can save you a lot of time! The file to be imported must be tab delimited text and must contain the item code, item name and imprest quantity (in that order) for each record. Records in the file are, of course, separated by the end of line character. For example:

code item imprest quantity Price
amo250t amoxycillin 250mg tab 800 4.50
amo500t amoxycillin 500mg tab 300 5.50

Note that:

  • The item code must match an existing item code,
  • The item name is for information purposes only and is not actually imported (you can leave a blank column in its place if you like)
  • The imprest quantity is also optional and can be left blank (you would leave it blank if the master list is not going to be used for an imprest)

Clicking on the Import item list button takes you to a prompt:


after which you can select the file:


And then the import preview dialogue box is displayed:

On this screen you use the Next and Previous buttons to move through the records and see what details will be imported for each. The First line contains column headers tells mSupply whether to ignore the first record in the import file (checked = ignore first line of file). The first record in the import file often contains headers describing the fields in each record, not actual data.

The Remove quote characters on import checkbox, if checked, tells mSupply® to strip all characters from the data. This is recommended. In fact, this option can be selected anyway without detriment to the import.

The imported items are added to the master list, nothing is overwritten by the import.

Clicking the Import now button executes the import with the settings you made and takes you back to the master list screen with the imported items now showing in your master list.

The Cancel button also takes you back to the master list screen but, obviously, does not execute the import.

Editing imprest quantities or price: If you click once on the row you wish to edit, and then click on the imprest quantity or price, it becomes editable. Enter the new value, and you can then use the <tab> key to advance to editing the next imprest quantity or price field.

The In use by tab: Under this tab you'll find the list of customers who have been assigned to this master group (i.e. are using this master list).

Deleting a master list

From the Item Master lists window, selecting the Delete Master List icon allows you to delete a list which is no longer required. This action has significant consequences for any customers who are users of the list. So to prevent accidental deletion, this action cannot be completed until any customers who are users of it have their association with it removed.

Duplicate a Master list

Should you wish to create a Master list which is very similar to an existing one, click on this icon, and a new Master list entitled ` Duplicate of ….. .' is created; this can then be edited and renamed to suit your requirements.

Assigning a list to a customer

To assign a list to a customer, the customer's details need to be on screen; Choose Customer > Show customers , or using the Navigator, select Show customers , fill in the appropriate details, and press Find, or just press Find, then double click the entry required on the Names list

Once the desired customer's Edit Customer/Supplier window appears click on the Item Lists tab.

Buttons in the Item Lists section:

  • Add Master list: From the list of master lists which have been created, double click on the name of the desired list.
  • Add Local list: This serves to cater, for example, for the situation where a patient with a rare disease requiring medicines not normally stocked, collects these medicines from the local Health Centre. In this example, a patient attending London Dispensary requires tetracosactide, and so a local list (London local) has been created with a single entry, Griseofulvin

  • Copy from Master list: This feature would normally be used where a specific customer's drug needs differ to a minor degree from the drugs listed in one of the Master lists, or under the Imprest system where the stock levels are different from those defined on a Master list; first click on the Add Master list icon, select the appropriate Master list, add it, and it will appear under List name. With that list highlighted, click on the Copy from Master icon, and a new entry appears displaying the name of the Master list followed by `(local)'. The Master list may then be deleted, and the local copy modified and renamed as appropriate.
  • Delete list: Two distinct functions are performed, depending on whether a Master list or a Local list is selected
  1. if applied to a Master list of which the present customer is a member, it has the effect of removing that list from this customer's Favourites. The Master list remains in mSupply.
  2. If applied to a Local list, it allows deletion of the list, but only after all the items have been removed from the list by making use of the Delete Lines feature.
  • Add item: Once you have selected a list, this allows you to add an item to that list.

You can only add items to a local list. If there are no buttons visible above the item list, it is because you don't have any local lists for this customer (or if you do, you haven't clicked on that local list to highlight it first)

When operating multiple stores in mSupply, you can sometimes have difficulty with item visibility: an item might be on a master list for a particular customer but if the item is not visible in the store you are logged into when using the list, then the item will not appear.

A temporary fix can be achieved by setting the item visibility in a particular store to match an item list - refer the Visibility tab. This is only a temporary fix. If you add a new item to a master list, the visibility of that item in the stores using that list will not be updated.

To avoid this problem, you can set a preference (see here for details) to have the visibility of items on lists altered to match the visibility of the name for which the lists are made.

  • Printing:
    • Before printing, choose either Sort by Group or Sort by department
    • Choose whether to send to Excel® or your printer.
    • Click Generate

Buttons in the Items section:

These icons appear only when a local list is selected; for obvious reasons, Master lists cannot be edited here.

  • Add Item Self explanatory! Allows you to add required lines to the local list.
  • Delete Item(s) Lines may be deleted, either singly or, by selecting multiple lines, they may be deleted together.
  • Save sort order Allows you to save the list according to how you have sorted it here.

Information button

Edit list properties

The attributes of a list are set by double clicking on the name of the list. This window is displayed:

The options should be checked as appropriate:

  • Imprest: If checked, this list will populate an imprest customer stock history created for the customer.
  • Customer stock history: If checked, this list will populate a customer stock history created for the customer.
  • Ordering list for web: Means that the list represents all items that the customer can order using the mSupply Customer interface. If a customer who uses the customer interface for ordering stock does not have a list with this option checked, they will not be able to order any items.
  • Price list: Means that the prices on this list will be used for these items when they are being distributed to this customer on a customer invoice. The price on this list will override any sell prices that individual stock lines have. Only one list can have this option checked for each customer.

Using Master Lists to control Item visibility in Stores

You can use master lists to control item visibility in each store, by checking the Items preference box 'Automatically update item visibility in all stores to match master lists used by each store'. This will make the items visible in each individual store match exactly the items included in the master list(s) selected for that store.


There are 100 satellite stores, and you want all of them to have the same item visibility:

1. Create a master list and add some items

2. Go to each store and make sure that the master list is selected

3. Turn on the preference 'Automatically update item visibility in all stores to match master lists used by each store'

This preference can drastically affect item visibility.

A temporary list is created for each store containing items that cannot be removed from visibility when the master list preference is activated.

Do not turn it on unless you know what you are doing! It affects ALL stores in the system.

Now whenever an item is added or removed from this master list, the preference will automatically update the visibility for all of the 100 stores, so that the items visible for each individual store matches the items included in the master list.

  • Adding an item to a master list will automatically add that item to visibility for all stores using that master list
  • Deleting an item from a master list will automatically remove that item from visibility for each store using that master list, given it is not included in another master list in use by each store respectively.

When deleting items from a master list, mSupply will first check all stores using the master list to make sure it is safe to remove that item. It is unsafe if the item has stock on hand and isn't included in another master list for any stores using master list you are editing.

To create a large master list, you can export all items to be added to mSupply, and then import them to the master list - see above.

Previous: Item categories Next: Item locations

2011/04/28 06:14 · John Ross

Locations and location types

Keeping track of where items are in your store is an important part of good warehouse practice. You don't want to have to go hunting through your whole store for an item, wasting time and energy when mSupply can tell you exactly where it is!

Locations in mSupply are the places you store items. Locations can have types (e.g. normal, cold, bulk…) to help you categorise them, you can define parent/child relationships between locations to help you manage them effectively and you can even create a line drawing plan of the location to pictorially show the layout of your store.

If you use location types it will help you if they are defined before the locations that belong to them otherwise they won't be available to select when defining a location - and you'll have to go back later and edit the locations. What a waste of time! So this section explains location types first and goes on to explain about locations.

Location types

Location types give you the ability to categorise your locations. They can be used for reporting on a group of locations, but also to restrict the locations that can be used for a particular item. For setting the location type for an item, see Item basics

Choose Item > Show location types to define or show a list of available location types.


The window that appears allows you to define the criteria for the various types of location in your store - e.g. the permitted temperature range, whether location must be dark, etc.

Adding a location type

Click on New , and the window that appears allows you to enter a name for the storage type, and the permitted conditions pertaining to that storage type.:


In the above example, a storage type “Refrigerator” has been defined, the permitted range of temperature being 2o C - 8o C.

Having defined your storage types, the Show location types window might look like this:


It is worth emphasising that the list does not show the actual store locations, but the types of locations.

Editing a location type

Should you wish to edit the details of any location type, double click on it in the list and change the details in the window which appears.


Viewing locations

To view the locations you have defined choose Item > Show locations and you will see a list of location codes and descriptions:

From this window you can view, edit and remove locations and their details - this is the 'location management' window. Here are the various functions of the window:

New location icon: Click this to add a location (see 'Adding a location' below).

Print icon: Click this to print the list of locations displayed in the window (see 'Printing the locations list' below).

Show warehouse icon: Click this to see a graphical representation of your warehouse. This representation shows all the layouts of the individual locations that you have created in the layout tab when adding a location (see 'Adding a location' below).

Search location: Enter some text in the text field and the list is updated as you type to show only the locations whose code or description starts with the text you have entered.

view and edit a location's details: Double click on a location in the list - see 'Viewing and editing a location' below. All the details are editable. See the 'Adding a location' section below for the meaning of the individual details.

Adding a location

Before you can associate an item with a specific location (e.g. Shelf D4, Refrigerator 2, etc.) you must define the locations in mSupply. To add a new location, click on the New location icon in the View locations window shown above. You will be shown the following window, where you can enter the details of the new location:

Code: This is how you refer to the location in mSupply and, for example, what you will select when you set an item's location.

Description: This is a description of the location e.g. “Top shelf of refrigerator 3” or “3rd shelf up in rack E” to help you identify it or remember something important about it. You will only see this in the list of locations shown above.

General tab

Under this tab, you enter the location's main details:

Location Type: Select one from the location types you have already entered (see Location types section above).

  • Each item can have a Restricted to Location type set, and then you will only be able to store that item in a location with that type:
  • You can set the location type for an item by viewing the item's general tab, and choosing the type from the drop-down list (Items/Show Items/Find Items - double click applicable item):

Parent: Select one from the locations already entered in mSupply. This is the location to which the location you are adding belongs. This is for descriptive purposes and does not have any functional effect in mSupply, except when viewing the warehouse layout.

Summary: Checking this means that the location is a summary location only and cannot be used for storing items. This is normally checked for all locations that are parents of others.

Comment: You can note anything you need to remember or indicate to others in here. It is only visible if you view the location's details (Item > Show locations, double click on the item in the list) later.

Total volume: The total volume of goods that you can store at the location. Volumes are stored in cubic metres [m3] but other volumes e.g. litres (l) may also be entered, provided the appropriate unit is entered following the number e.g. 5l for 5 litres. See the entry Volume per pack in item_edit_-_general_options. Note that whatever you enter will be converted to and displayed in m3.

Knowing the volume of a location is important if, for example, you are replenishing your stock of vaccines, and you need to know if there is enough space available in the refrigerator in which you store vaccines to accommodate a new order (obviously, you would also need to know the volume of the vaccines that you are ordering).

Priority: This is used when printing a picking slip. Setting a priority for a location will override the default alphabetical ordering of shelf locations in a picking list. A location with a lower priority number will be printed before a location with a higher priority number. All locations with 0 priority are counted as having no priority and will be printed, in alphabetical order, after all locations with a priority.

Hold: If this is checked then goods in this location cannot be issued to customers. Goods can be put into the location but they cannot be issued from that location. This is particularly useful if:

  • The stock needs to be kept from being issued until some inspection / approval (e.g. quarantine).
  • The stock is a bulk quantity with the same expiry date as another stock line in another location from which you want stock issued. You can use this feature to force mSupply to always suggest issuing stock of this item from the 'issue' location rather than this 'bulk' location.

If you want to make the stock in an On hold location available for issue, then there are two options:

Move the stock in that location to another location that is not On hold Remove the On hold status of the location here.

Layout tab

Under this tab you can create a graphical plan view of the location in your store. This is useful for helping people to quickly locate any given location and presenting a graphical layout of your whole store. Locations are drawn as either rectangles (for which you enter the top left coordinate and the lengths of the 2 sides) or polygons (for which you enter a number of sequential coordinates which are connected with straight lines). Here's what the various input items mean for a rectangle, the rest we'll show you by the way of an example:

So, as an example, the coordinates are entered as above in the appropriate boxes, then the Draw button is clicked to produce the following display under the layout tab:

This has created a picture of location main1. This is the whole store or warehouse. You can't see the settings but this location will have no parent and will have its Summary checkbox checked (no items can be located here - it's just a summary location for descriptive purposes).

In our imaginary warehouse we have a set of open racking which is 'L'-shaped. We want to draw it in the warehouse so we create the location, call it 'sub1' and set its parent as Main1. If this set of shelves also has other locations in it we would also check its Summary checkbox.

To draw this location we click on the Layout tab and select Polygon as the object type. Click on the Add button to add a coordinate and then overwrite the zeros in the X and Y columns to give the correct coordinates. If you make a mistake, click on the set of coordinates in the list that is wrong and click on the Delete button to delete it. When all six co-ordinates have been entered, click on the Draw button to produce the layout displayed below:

You can do this same thing for all locations so that anyone can easily locate them in your store.

Viewing and Editing a location

As you already know from above, to view all the locations you have defined select Item > Show locations. To view and edit the details of a particular location, double click on that location in this list. You will be shown the following window:

General tab

This is the same as the General tab for adding a location (see the 'Adding a location' section above) except that its details are filled in with the details of the location you selected. To edit the details simply overwrite the current value with a new value or select another option as appropriate.

Layout tab

This is the same as the Layout tab for adding a location (see the 'Adding a location' section above) except that the current graphical representation of the location is displayed (if you've already created one). You can edit the plan view of the location if required by changing, adding or deleting co-ordinates.

Stock Tab

The Stock tab shows a list of existing stock lines stored in that particular location. A lot of information regarding the stock is displayed in the list and, as with most mSupply lists, it can be sorted on any column by clicking on the column heading:

If you want to know more information about any particular batch in the list, simply double click it and you'll be shown another window with lots of information about the batch, arranged in four tabs:

Deleting a location

To delete location you select Item > Show locations to view the list of locations, double click on the location you want to delete (as if you wanted to view all its details) and then click on the Delete button at the bottom of the window. If you confirm the deletion, the location is removed.

Merging two locations

If you want to remove a location from further use in mSupply (for example, you might have accidentally double-entered a location) this command can be used.

When you Choose Item > Merge two locations , this window is shown:

Use extreme caution! This operation will affect all historical records of the location you delete. They will be moved to the location you are keeping. The operation can only be undone by reverting to a backup copy of your data file.

In the window displayed enter the location to keep, and then the location to merge. When you have checked that the information is correct, click the OK button.

Previous: Item master lists Next: Manufactured items

2011/04/28 06:55 · John Ross

Building (manufacturing) items

mSupply provides for a mechanism to manufacture (build) a new item from two or more existing items. A build is a way of recording items you have manufactured. That is, raw materials that are in your stock are used (taken out of stock), and a new stock item is created.

Show builds...

From the Items page of the Navigator, click on the Show Builds button:


You will be shown the standard find window to enter either the number of recent builds to display, or a particular build number.

You will then be shown a list as shown below:

From this list you should select the required build by double-clicking on it.

New build...

From the Items page of the Navigator, click on the New Builds button:


On choosing this menu item you are shown the build entry window:

If you have restricted access to builds, you will not be able to see cost prices or the profit summary window at the bottom.

The build window has two parts:

  • The top part of the window records the details of the item to be built
  • The lower part lists ingredients that are used in the manufacture of the product.

click the Item to build or to edit icon

and in the next window enter the name of the product you're manufacturing (Syrup in our example)

and this window is displayed where you should complete the appropriate fields:

Adding ingredients manually

Note that ingredients can be added automatically from the Bill of materials tab. If you regularly build the same item, we recommend that you enter a Bill of Materials for the item being built, and use the method outlined under the Using a Bill of Materials heading below.

First, if you are entering a projected build (one that you expect to perform in the future), check the This is a projected build check box. If checked, all items added will be placeholder lines rather than actual stock. Doing this allows you to enter your manufacturing schedule in advance of ordering raw materials. The schedule will be taken into account when ordering to ensure that you will have enough materials in stock when the time comes to manufacture.

  • To add a new ingredient, click the New ingredient button. You will be shown the standard window for issuing goods from stock:

  • Enter ingredients just as you would for entering a customer invoice.
  • Once you have finished entering ingredient lines, click OK to return to the main window.
  • If you wish to edit a line, double-click it, and change the details.
  • To delete a line, double-click it, set it's quantity to zero, then click the OK button.

Adding the item to be built.

  • To add the item to build, click Item to build or edit button. You will be shown the Add/edit supplier invoice line window below for receiving goods.

  • The cost price for the item is automatically calculated for you. You may enter the margin or the selling price as you prefer.
  • Once you have entered the item to build, click OK to return to the main window.
  • If you wish to edit the item, simply double-click inside the “item to build” rectangle.
  • At the bottom right of the window in Summary section is a summary of the cost, margin and selling prices for the build.
  • Once you are satisfied with the details, click OK to enter the build into the system. You will be asked if you want to enter the details into stock. If you say yes , the newly created item will immediately be available for issuing to customers. If you click later then the stock will not be available until you open the build window at a later date and enter it into stock.
  • Note that the ingredients used in a build are considered to have been “sold” for re-ordering purposes, and will be counted in your usage.

Finishing build entry

  • Understanding build status codes enables you to know what stage each build is at. The codes are the same as for other transactions.

Each build transaction has a status code:

Code Meaning
nw A new build is being entered, but has not been saved.
sg “Suggested”. A build has been entered, but has not yet been confirmed.
If stock lines have been entered, raw material stock is reduced so
that it is no longer available for other invoices, but the new item is not yet entered into stock.
You should leave builds with this status while manufactured items are “in process” ,
or if it is a projected build for a future date.
cn “Confirmed.” The item to build has been entered into stock.
fn “finalised.” The build can no longer be edited
  • When you click the OK button you may be asked if you want to enter the build into stock. You should only do so once the manufacturing and Quality Assurance (QA) process is complete. You will not be asked this question if there are any placeholder lines (those with a batch of “none”) entered as an ingredient. Such builds are presumed to be for projected manufacturing, and are kept with status sg automatically.
  • To finalize builds, choose File > Finalize builds when the splash screen is showing.

Converting projected builds into an actual build.

  • Once your manufacturing of a projected build is about to take place, choose Item > Show builds … to locate the build you want to edit.
  • For each line whose batch is equal to “none” (a placeholder line) you will have to double-click it and choose an actual stock line from the item issue window (either by entering the line number or double-clicking the line you wish to use). Once you have done this, the stock you have chosen will be reserved, and manufacturing can take place.
  • mSupply® calculates the number of items that will result from your build, and clicking on the Print labels icon prints the correct number of labels.

Using a Bill of Materials

A Bill of materials can be thought of as a “recipe” or “formula” for building an item. It records the ingredients, and the quantity of each required to make the finished product. You should create a bill of materials for an item before you come to this screen. This is done in an item's Item details window: see here for details. Screenshots in this section are using Simple Syrup as an example, and for this product a Bill of Materials has already been created.

When you click the “Bill of materials” tab in the build window, this window appears:

First you need to choose the item to be manufactured:

in the next window you need to specify the quantity to be manufactured and other details:

When you click OK, you are returned to the New Build window, and when you click the Add Bill of Materials Button, a window appears where you can confirm or cancel the quantity to be manufactured:

Assuming the quantity is correct, click OK, and you are returned to the New Build window, where the open tab is the Bill of materials tab. Click the Add Bill of Materials button, and the details on the Bill of Materials according to the formula previously entered for Simple Syrup is displayed:

Now click the Ingredients tab, where the ingredients are listed, but no stock is attached to any item - they are placeholder items (displayed in red). This is done as mSupply® cannot take into account all the factors that go into choosing an appropriate batch to use for each manufacturing run (The expiry, amount on hand, etc). click each line in turn to select the quantity and batch number of available stock lines for each ingredient. Note that there is a button displayed Re-distribute all. Clicking this button will take the “total quantity issued” figure and re-distribute it over the available batches, making it easy to move from using a placeholder line to issuing actual stock. The ingredient is repeated in black with appropriate details displayed. At this time (or later) you can also adjust the amount issued to reflect actual issued quantities and the actual batches of raw materials used, as opposed to the theoretical quantities that are initially entered.

If you are manufacturing the product immediately, the status of the build transaction should be changed to Confirmed on completion of the manufacturing process.

It's possible to print either a Pick list, detailing the ingredients and quantities, or a summary of the manufactured product. To achieve this, check the print icon in the bottom right hand corner of the window and click the OK button. The printing options window will appear and you can choose which document to print:

Calculate Yields button: This button (on the Bill of materials tab) compares the actual quantities issued and the actual final quantity manufactured with the theoretical amounts that should have been used and made. This allows you to monitor production efficiency. Use the Print yield report button to print the yield information if required.

Previous: Locations and Location types Next: Merging items

2011/04/15 05:14 · Craig Drown

Merging two items

If an item has inadvertently been added twice, with slightly different descriptions, here is your safety line! Choose Merge two items… from the Item menu. This window is displayed:

In the Item to keep box type the first few characters of the item you want to keep and press the Tab key. Then select the correct item from the list displayed (if only 1 item matches what you have typed it will be put in the box for you without the need for selection).

Now do the same in the Item to merge - will be deleted box. The item you select here will be completely replaced with the one in the Item to keep box.

Note that when selecting these items you are selecting from all of the items in your datafile, not just those visible in the store you are logged-in to.

When you are ready, click on the OK button. BUT BEWARE:

If you merge two items that are, in fact, different, you will really mess things up. There is no undo function for this operation, so you will be begging us to help you fix the mess, and we charge a special penal rate for people who do things after having been warned ;-)


  1. Merging replaces all the instances of the item selected to delete with the item selected to keep throughout everywhere your datafile.
  2. Merging items affects all historical records except for item names on finalised transactions, which will retain the original name for safety reasons.
  3. Items that either have a bill of materials or are used in a bill of materials cannot be used for the item to delete/merge. If you try to do so, you will be warned.
  4. If the item you are merging/deleting has stocktake lines associated with it, these stocktake lines will be deleted, as you can't stocktake a non-existent item (except if you're Harry Potter).

Previous: Building (Manufacturing) Items Next: Ad hoc items

2011/04/28 11:10 · John Ross

Ad hoc items

From the Item menu, choose Ad Hoc items…

This feature requires activation in Preferences > Invoices 1

mSupply® defines Ad Hoc items as items that you don't keep in stock, and that you never will keep in stock. An example of an Ad Hoc item is a specialised item of diagnostic equipment which you would purchase on one occasion only. When a customer orders an item that you decide will be a “one-off” purchase, you can enter it as an Ad Hoc item.

Ad Hoc items differ from non-stock items in only one respect; they are purchased once. Non-stock items are items which, although they do not feature in your stock list, may be purchased with some degree of regularity.

The following diagram outlines the work flow for Ad Hoc items:

When you choose Items > Ad Hoc items, the following window is displayed:

From this window you can view Ad Hoc items, add new items, delete items and edit existing items.

The "Show" Drop-down list

This drop-down list allows you to view Ad Hoc items by their status. Ad Hoc items can have the following status codes:

Status code Meaning
== un == The item has not yet been assigned to a supplier- think of this as your “to-do” list
== as == The item has been assigned to a supplier, but has not been placed on a Purchase Order. These items also need action.
== po == The item has been added to a Purchase Order, but the goods have not arrived.
== fn == The item has arrived from a supplier and been invoiced to the customer

The "Name" field

Enter part of a customer or supplier name in this field and press Tab to show a list of matching names. Choosing a supplier will show items assigned to that supplier. Choosing a customer will show items supplied or to be supplied to that customer.

Once you have chosen a name you can fine-tune the list displayed for that name.

The "New" button

Clicking the “new” button displays this window:

From this window you can add an item name, the name of the customer, then name of the supplier, the quantity to order, and add a comment.

When the customer orders an item, you may not know who the supplier is. You can just leave the supplier name blank.

Editing an Ad Hoc item

To edit an item, double-click it in the list to display the item details, and a window Edit Ad hoc item, almost identical to the Add Ad hoc item :, appears where you can edit the required details.

Adding Ad Hoc items to a Purchase Order

When you are making a Purchase Order for a particular supplier, you can click on the Ad Hoc items Tab to view a list of Ad Hoc items you have assigned to that supplier, allowing you to add them to the Purchase Order. More information is available here - the_ad_hoc_items_tab

Previous: Merging two items Next: Non stock items

2011/04/18 10:34 · Craig Drown

Manage drug interaction groups

This feature is chosen from the Item menu

The examples given in this section are included only for the purpose of familiarising the user with the interactions feature of mSupply and how to use it. Use of this feature is the responsibility of the user, and Sustainable Solutions® bears no liability whatsoever for any consequence of inappropriate use.

Drug interaction groups allow you to specify groups of items that interact with each other, and then prepare a warning message to be displayed if these items from interacting groups are issued to the same patient.

You can set up interactions in store mode, but warnings will only appear in dispensary mode.

To use this feature, it must be set up, and these are the steps:

  1. Choose a way of defining interaction groups. A number of systems are in use or are under development, and the internet is a useful resource for further investigation.
  2. Define which items are in which groups.
  3. Add interactions between groups.

Let's look at each of those steps in turn

Defining interaction groups

Choose Items> Drug interaction groups … Until you have set up some groups, the list will be blank; a number of groups have been set up for the purposes of this guide, shown below right:

Click the New Group button to add a new group, or double-click an entry to edit it.

Double clicking on NSAID displays this window:

The window has two tabs.

The Items tab shows a list of items that have been assigned to the group.

Define which items are in which groups

You assign an item to a group by viewing the item details (Choose Items > Show items ), and setting interaction group from a drop-down list.

Add interactions between groups

The Interactions tab shows a list of groups that the current group interacts with.

This tab has two buttons allowing you to add or delete a drug interaction. (To delete an interaction click on the line you wish to delete before clicking the Delete interaction button).

To edit an interaction double-click on the one to be edited. This window appears::

You choose the group that affects the current group, and then enter details about the interaction by choosing from the drop-down lists.

The choices available are:

  • Type of interaction
    • Inhibits (I)
    • Augments (A)
    • No effect (N)
    • Conflicting evidence (C)
  • Clinical Significance
    • Minor (1)
    • Moderate (2)
    • Major (3)
    • Unknown (?)
  • Quality of evidence
    • Poor (P)
    • Fair (F)
    • Good (G)
    • Unknown (?)

You can enter a message to be displayed when an interaction occurs, and any notes you may want to record. These fields are optional.

When you are issuing items in dispensary mode, in order to display a warning:

  • the Alert when there are drug interactions checkbox must be checked in File > Preferences > Drug Interactions. The warning as shown will be displayed if the patient is being issued with interacting items:
  • Number of days of patient history.. must be set. We recommend setting it to 180, so that any items dispensed in the last six months that interact with the item you are currently dispensing are found.

Previous: Non-stock items Next: Managing Item access

2011/04/26 05:11 · John Ross

Managing item access


Item departments are a mechanism by which you can restrict item availability to certain customers only.

Item departments are a bit complicated. Here's what you need to remember:

  • Each customer can be a member of only one group.
  • Each item can be a 'direct' member of only one department. However, a department can be a member of another department, so an item can, in effect, be a member of more than one department
  • Each group can have access to items from multiple departments.

The Activate restricted item access by customer group option must be turned on in Preferences>Invoices2 before this option to work.

  • Here is a summary of how department groups affect whether or not an item can be issued.

  • When you attempt to issue stock to a customer whose group does not have access to the department of the item you are issuing, either a warning will be displayed or mSupply® will not allow you to issue the stock - depending on how your preferences are set.
  • Items that are not in any department can be issued to any customer
  • Items that are members of a department can not be issued to any Customers that are not members of a group.

Creating and editing item departments

Choose Show departments from the Item menu displays the Edit departments… window. This is where you are able to create and edit item departments. Once you have created departments the window might appear something like this, and you are now ready to assign items to a department:

View item departments

Taking as an example the department Anti anaemic tablets, the items in the department are shown by clicking Show item departments on the Item menu, and then double clicking on the Anti anaemic tablets department:

  • Each department can have any number and combination of items and departments in it.

Setting up access from customer groups to item departments

  • From the Item menu, choose Manage item access…, and this window is displayed:

  • The left hand list shows the available departments
  • The right hand list shows the customer groups that presently have access to the department which is highlighted on the left hand side.
  • The example shown identifies the four customer groups which are linked to the Anti-anaemic item department:

  • The icons on the right side allow you to add and/or remove groups that have access to the highlighted department.
  • Clicking the Add a new relationship button shows a list of groups you can add:

  • Double-click (or click and then click OK) to add a group to the current department. You will be given a warning if you try to add the same group twice.

Show groups...

Customer groups can be used to group customers (or suppliers) together for reporting purposes, and also to set up an item restrictions scheme, allowing some items to be issued only to certain customers.

An explanation of how to set up a restriction scheme is in Managing Item access.

The groups window allows you to set up group names:

  • Click the New group button to add a new group.
  • Double-click an entry to edit its name:

  • You can enter or edit the group name in the top field.
  • The list displays all names which are members of this group.
  • Click the Delete button to delete a group. You can only delete groups that have no names as members. You can remove group members from the Groups tab of the name viewing window (From the Customer menu, choose Show Customers and find the required customer in the usual way.)

  • The drop down list displays the group to which this customer belongs, and to remove the customer, make sure none is selected from the drop down list; to assign the customer to a different group, highlight the new group in the drop down list.
  • Click OK to leave the window.


Overview: A manufacturer might create departments for raw materials, packing materials, and quality control reagents. A drug store or hospital might create departments according to dose form or according to pharmacological classification, etc.

From the Item menu, choose Show departments …; you are shown a list of departments:

By default the list displays in alphabetic order; clicking on Departments toggles between alphabetic order and reverse alphabetic order; you may also drag and drop individual departments to any position in the list to suit your own requirements, and on clicking OK you will be asked whether or not you wish to save the list in the order you have specified.

To add a new department, click the New dept button.

To edit a department, double-click the department you want to edit. You are shown a window allowing you to edit the department name:

The radio buttons allow you to choose what will happen when you attempt to issue an item to a customer who is not a member of a linked group. Either the user can be warned or the issue can be disallowed. This only applies if you have Activate restricted item access by customer group turned on in the Preferences - otherwise you can ignore this setting.

The Items tab displays a list of items that are members of the group you are viewing:

To delete a department

Double-click it to display the entry window, then click the Delete button. Note that you can not delete a department that has item members. You will be warned if you try to do this. To delete a department with Items, click the items tab and note the items that are members, then edit those items (using the Items > Show items … menu command) and set their departments to either none or a different department. You will then be able to delete the department.

Previous: Managing drug interaction groups Next: Prices in mSupply

2011/04/28 07:04

Prices in mSupply

The price you charge customers for your goods is, of course, very important. mSupply provides you with several different ways to set the selling price of your goods. Here they are:

  • Each supplier has a margin field that determines how much to add on to the cost price when buying from that supplier
  • Each item has a margin field that determines how much to add on to the cost price when buying that item
  • There is a preference ( File > Preferences > Invoices 1 ) which controls how these 2 margins relate:
    • If this preference is ticked then the item margin will be used instead of the supplier margin. If it is unchecked then the supplier margin will be used instead of the item margin.
  • You can set custom margins for each customer group ( File > Preferences > Invoices 2 )
  • You can fix the item price under the General tab in the Item details window.
    • Note that setting an item price here will set the price of new stock as you receive. It will not affect the price of existing stock- you can change existing prices if you have permission to do so by viewing an item and going to the “Stock” tab.
  • You can set item prices when setting up a data file by importing an item list. (see below)

Per customer pricing

Updated: version 3.12

Alternatively, individual prices can be set for each customer. This can be done in the Edit Customer/Supplier window which you can find by:

  • going to the Customer tab of the Navigator
  • click on the Show Customers button
  • find the customer you wish to customise prices for
  • double click the customer line
  • choose the Item Lists tab (see below)

To customise the pricing, add a list to the Favourite Lists column (either by clicking Add master list, Add local list or Copy from master list) or edit an existing list by double-clicking on it. Check the Price list checkbox from the window that comes up and any other checkboxes that you require.

  • You only need the Price list check box marked to customise prices
  • Only one list per customer can be price customised

Make sure the list is selected and then go to the Items section of the window. Enter the corresponding prices that you would like to assign to each item for that customer by clicking on the item and then clicking on the price (“0” by default). You can also add items to the list by clicking Add item and entering the item name and the price in the window that appears. The customer will now be charged the prices set in the list instead of any other price set.

Previous: Managing Item Access Next: Repacking items

2011/04/12 05:30 · Craig Drown

Repacking items

Creating a New repack

The command Items > New repack will display a window where you can repack a particular item into smaller or larger packs and/or move all or part of a batch to another location. It is a more complex version of the split functionality and will allow you to handle several batches at a time.

There are 4 steps for creating a repack. The window is numbered from top to bottom to help you follow the correct steps:

  1. Choose item to be repacked: At [1.] type the first characters or code of the item to be repacked, then press the Tab key. If only one item text or code matches your entry, it will be filled in automatically, otherwise you will be shown a standard choice list from where you can select the item.
  2. Choose a batch: At [2.] double click a line to choose the batch; for repacking, batches cannot be mixed, and a single batch must be used.
  3. Quantity to be repacked: At [3.] enter the quantity which is to be repacked; the pack size field is automatically completed.
  4. Details of new line(s) - i.e. the repacks: At [4.] click the New line icon to bring up this window calling for the details of the repacks, and enter the details as appropriate.

Note that repacks of different sizes may be created at this stage - e.g. 5,000 Paracetamol tablets may be repacked into 40×50 and 30×100. The Sell price, the Batch number and the New Location are automatically completed, but all these fields may be edited as required.

Not infrequently, because some tablets may be broken, for example, the total quantity of the item re-packed will be less than the quantity selected for re-packing at [2.]. To maintain the accuracy of your stock record, an inventory stock adjustment should be performed - see the stock adjustments section here for this.

Printing a repack

While the status of the repacking transaction is suggested (sg), checking the box beside the print icon will produce a picking slip of the number and size of packs of the original item; once the status is finalised, the same operation will give you the choice to produce a detailed record of the re-packs or a stock movement report (for when you're moving stock - perfect for giving to the people physically moving the stock in the warehouse because it shows what is to be moved to which location).

On clicking the OK button, a transaction is created showing the original line taken out of stock, and the new line(s) put into stock. The total value of the transaction is always zero.

You cannot edit a repack transaction after you have clicked the OK button, so get it right the first time! (Tip: You can always “re-repack” an item to adjust a mistake however!)

Deleting a repack

If you click on the Delete button, then the repack will be deleted. Only repacks whose status is “sg” (suggested) or “nw” (new) can be deleted.

Viewing repacks

Repacked items can be viewed in the normal transaction list window - (Item > Show repacks) and select Repacks from the drop down list

Note that repacks created with versions of mSupply® prior to v1.4 will not show up using the “recent transactions” section of the window- you will have to enter the number directly.

Previous: Prices in mSupply Next: Show items with stock

2011/04/15 05:15 · Craig Drown

Show items with stock

Updated: version 3.12

This can be accessed by choosing Show items with stock from the Item menu or by clicking on the Stock icon on the Item tab of the Navigator. Either of these options will display this window:

By default all stock is listed, and where the stock of an item is present in different batch numbers, each one is displayed.

Just like nearly all the other tables of information in mSupply, you can order the information by any column by simply clicking on the column header. Reverse the sort order by clicking on the same column again.

Customising the list

You can choose the columns displayed by clicking on the Customise button to display this window:

Listed under Available are the columns not presently displayed, and under Chosen are the columns presently displayed. Changes are made by highlighting your chosen column on this window, and moving it using the buttons in the centre to add or remove it from the display.

You can drag the items in the Chosen column into the order of your choice to change the order they are displayed in the list (top of the list is displayed on the furthest left, bottom of the list is displayed the furthest right).

Printing/exporting the contents of the table

You can export the stock information on the items displayed in the table by clicking on the Export to Excel button. Only the items displayed in the table will be exported and a fixed set of columns will be exported - this set is not affected by any changes you make to the displayed columns using the Customise button described above.

In your spreadsheet application you can manipulate or print the data as you please.

Filtering the list

Entering the item name or code in the box will filter the list; entering the first few characters of an item name will display only those items which begin with those letters (or numbers).

To display a specific item, either the item code or the full name should be entered.

To find all items containing ran enter @ran which will display all items which include the characters entered, not only those items where the characters entered are at the start of the item name - e.g. this will not only display any Ranitidine in stock, but will also display `Pyrantel', `Nitrofurantoin', Propranolol', etc..

Filtering by location

Alternatively you can filter by location. Leave the first search box blank and enter a location into the second search box. This will show only the items with that location.

Even more specific

To view an even more specific selection of stock you can filter by both item name and location. By entering your criteria into both boxes, only the stock which matches your specified name and location will appear.

Previous: Repacking Items Next: Splitting a batch

2011/05/11 10:24 · Craig Drown

Updated: Version 3.74



There are two main types of stocktakes.

A rolling stocktake

A rolling stocktake means counting a small number of items at a time, ensuring that your overall stock is counted on a consistent basis. You may select different locations, stock groups, types, suppliers, etc to stocktake a various times.

A full stocktake

All items are counted at one time.

Traditionally, during a full stocktake, the store is closed, and no transactions may take place until the exercise is completed.

The inconvenience caused by closure of the store varies from minor to significant. The benefit of using mSupply's stocktake module, while requiring that the store is closed while the physical stock check is in progress, is that the store may be opened immediately after the physical count is completed. Entry of the adjusted figures into mSupply® may be made at any convenient time over the next few days.

Having said that normal operation can occur immediately after the stocktake, it is important to note that:

A stocktake makes a list of your stock, providing you with a 'snapshot' of your stock at a point in time. mSupply® enables you to automatically create custom printed lists of your stock items from which you and your staff can do the physical stocktake. The items included can be customised to focus on particular location(s), particular items, or your entire store.

The default list produced (i.e. the one where you don't change any settings) will:

  • be in alphabetical order
  • omit items whose stock level is zero

Lines on a stocktake may be edited provided the user's permissions are appropriately set. [File > Edit user > Permissions]

As of version 3.1 mSupply also has a web stocktake module, that allows entering stocktake results from a laptop or tablet on the warehouse floor.

Displaying stocktakes already performed

Select Show Stocktakes… from the Items menu to display any stocktakes already created or performed. This displays the following screen:

stocktake.jpg The Show: filter allows you to choose which stocktakes are displayed in the list. Options are:

  • All: shows all stocktakes in the current store with any status for all time. Could be many of them!
  • Current: selected by default when the window is displayed and shows all stocktakes with a status of Suggested (sg).
  • This year: shows all stocktakes of any status that have been created in the current year.
  • Last year: shows all stocktakes of any status that were created in the year before the current one.

There is little point in keeping old stocktakes with status = “sg”, especially if you are about to create a new stocktake containing the same items. If time has passed since the stocktake was created, then the snapshot and actual quantities are almost certainly incorrect. For good housekeeping reasons, it is good to delete old “suggested” stocktakes (status = “sg”).

Creating a new stocktake

After viewing the current stocktakes, click on the New stock take icon, and the following window will appear:

Choose the items to be included

You can produce a stocktake for all items in your store by clicking OK without entering any criteria. If you want to narrow the items your are stocktaking, you can do this in a number of ways (note that, whatever you do, ad-hoc or non-stock items will never be included in a stocktake):

  • Search for items by Donor (e.g.items that have been donated by an organisation) NB. this filter needs to be set in Preferences:Invoice Preferences.
  • Search for items by some criteria (item name, code, category).
  • Search by actual shelf location.
  • Search for items whose expiry is before a particular date. This allows you to easily remove all expired items from stock.
  • Select a number of items randomly chosen by mSupply.

The two drop-down lists allow you to customise the stocktake list you are producing, while the filter allows you to specify a particular location

To find stock at a particular location

Note that the “Shelf location” in the top left drop-down list is the default shelf location of the item, which is where the item is usually stored. To search by actual shelf location- where the stock has actually been stored- use the “Actual shelf location” panel.

In our example, only the location filter has been set to equals, and the entry in the box is A (so only stock in shelf locations called “A” will be included in the stocktake):

The stocktake list shown below, with items listed in alphabetical order is the result.

Such a list is, of course, dependent upon locations having been defined, and items allocated to specific locations

At this point the status of the stocktake is sg, i.e. suggested:

Now fill in the information at the top of the stocktake:

  • Description: A default description is filled in for you. You might want to edit it to make it more memorable. For example, add “Annual stocktake” or “Monthly check” so that you can easily see what the stocktake was for when you look back at your records later.
  • Comment: Put any other information you need to record about the stocktake in here.
  • Stock take date: This is the date you performed the stocktake and is set to the date the stocktake was created by default. Users will only be able to edit this if they have the Can edit stocktake dates permission set (see Managing users for more information). They will also be able to set the confirmation date of the inventory adjustments created from the stocktake when it has been finalised (but you can never change the date to before the Stock take date set in this field).

Just a quick word about the read-only (non-editable) information displayed at the top of the stocktake:

  • Stock take key: The stock take number. This is an automatically generated number which increments by 1 for each new stocktake. It is unique within a store only so it is possible for stocktakes from different stores to have the same number.
  • Stock take entered date: The date the stocktake was created in mSupply.
  • Stock take status: The current status is the stocktake:
    • sg = suggested, the stocktake is still being worked on and is editable - new lines can be added or deleted and values can be edited etc.
    • fn = finalised, the stocktake is complete and cannot be edited (inventory adjustments have been created form it)

Before printing you need to ensure that the order in which items are displayed is appropriate. By default the list is alphabetical, but for stocktaking purposes, it may be more appropriate to sort the list by location and then by item name; this is achieved by clicking on the Order by button and choosing Sort by location then item name

If you want another sort order, click a column heading for a simple sort, or choose the Custom sort option from the Order by button.

You can filter a stock list by entering the item name - or the first few characters of the name - or the item code in the box Item name/code in the top right area of the window, then clicking the Find button

Clicking on the Print icon displays the available options:

  • General: contains several options. Click on it and you are presented with a further window: The Form to use drop down list contains these options:
    • Stock take line - prints out all the lines on the stocktake, including their quantity, with a space to write the actual counted quantity. It looks like this:
    • Stock take line with space - is the same as the one above but with no quantity and 5 lines of space under each line. Useful if you know there's a lot of stock in the warehouse that isn't in mSupply.
    • Stock take line wt quantity - is the same as Stock take line but with no quantity. This is the one we recommend you normally use to give to the people carrying out the physical count. This helps to ensure that the quantity of stock on the shelves is actually counted and not just guessed!
    • Stock take line wt quantity big font - is the same as the one above but printed landscape as a table in a bigger font
    • Stock take lines with signature - same as Stock take line wt quantity but the stocktake signature entered in the printing preferences is printed at the end.
    • Stock variance - this shows the items that were adjusted after the stocktake was finalised. Similar to the Inventory adjustments option below but a slightly different format.
  • Inventory adjustments: prints information about all the items that had their quantities adjusted because of the stocktake after the stocktake has been finalised (see finalise section below).
  • Inventory adjustments-all items: prints information about inventory adjustments made after finalisation but includes all items, not just those which have had their quantities adjusted.

There is, of course, a further option - you may provide the staff performing the stocktake with blank sheets, requiring them to list the items, batches, expiry dates, locations, pack sizes and quantities manually. We don't recommend you use this option unless your printer is broken ;-)

Perform the stocktake

Allocate staff to perform the stocktake, instruct them in the process you wish to follow, and issue the sheets to them.

Enter quantities into the system

Once the physical stocktake has been completed, you are ready to make entries to record any differences in stock levels into the system. Remember that any item which mSupply calculates as having zero stock will not appear on the stocktake sheet.

Filtering the list by item name or code

To help quickly find any item you want to make any adjustments to, you can enter the first few characters of its name or its code in the Search by item name and code field. The displayed list of items will be changed each time you enter a character to show only the items whose name or code matches what you have entered so far. To return to the full list just delete everything in this field.

Making Adjustments

If there is a discrepancy between the amount mSupply says you have in stock (the figure which appears in the Snapshot quantity column) and the physical amount counted or between the batch, expiry date or location of the stock and what is shown in mSupply, you need to make an adjustment as follows:

  1. Double click on the row you wish to edit, and the Edit stock take line window appears, with the figure in the Stock take quantity field highlighted.
  2. Enter the figure from the completed stock sheet in the Stock take qty field (just type the new figure, and the currently highlighted figure will be replaced).
  3. change the batch, expiry date or location fields also if needed.

Tip to make things fast!: If you only need to change the quantity for a particular stocktake line then click on the value in the Enter quantity column and type the correct value directly into the stocktake sheet. Use the Tab key on the keyboard to move to the cell below that one or shift+Tab to move to the cell above it.

Adding items not in the stocktake list

In the event of an item being physically present in the warehouse, but not on the list then it needs to be added to the stocktake in mSupply:

  1. Click the New line button and this window will appear:
  2. If you want to add a line of stock that already exists in mSupply then, in the Existing stock lines table at the top, check the checkbox for the line you want to add and then click on the Add selected button. You can add more than one line if you wish - just check all the lines you want to add. If you check the checkbox in the header of the checkbox column this will check all the boxes for you (and uncheck them again if you uncheck it).
  3. If you want to add a new line of stock that doesn't exist in mSupply then enter its details in the New stock line section at the bottom and click on the Add new button to add it.
    • Stock take qty: the number of packs you found in the warehouse.
    • Pack size: the number of items in each pack that you found in the warehouse.
    • Batch: the batch number of the item you found.
    • Expiry date: the expiry date of the item you found (click on the calendar icon to select it or enter it manually).
    • Location: the shelf location in the warehouse where you found the item (if you don't know the exact location then type the first few characters of the location label, press the Tab key on the keyboard and select the location from the list that appears).
    • Cost price: if you know it, enter it in the currency you are using in your datafile. If you don't know it, you could check the 12 month average checkbox and mSupply will enter a weighted average price of all the stock of this item you received over the last 12 months.
    • Sell price: if you know it, enter it in the currency you are using in your datafile.
    • Use details of line selected above button: this is a shortcut to save typing values in all the fields in this section. If the details are similar to a stock line that is shown in the Existing stock lines table above then click on the line in the table to select it then click on this button. mSupply will copy the details of thew line into the fields in this section and you can then edit the ones that aren't quite right.
  4. You can also select a colour for the line in the stock take using the colour picker in the top right hand corner (set to black by default, as shown in the screenshot).

After clicking on either the Add checked or Add new button you are returned to the Stocktake sheet window, where the new line entered will now appear in the colour selected; note that the new line(s) appear at the bottom of the stocktake and they have a value of zero in the Snapshot column.

All details of a new line added may be edited, but only the quantity or the location of existing lines on the sheet may be edited; this is performed by double clicking on the row you wish to edit.

The Delete item button will only work to delete lines which you have added yourself (i.e. lines with a snapshot quantity of zero).

Create inventory adjustments

When all necessary adjustments have been entered, you are ready to create the inventory adjustments; this is easily performed by:

  • clicking on the Create inventory adjustments button
  • confirming your intention in the window which appears

Creating inventory adjustments (finalising the stocktake) is not reversible, so you have to be quite certain you've finished making all the changes you want to the stocktake.

Once inventory adjustments have been created, the status of the stocktake changes from suggested (sg), to finalised (fn). You will now observe a change in the buttons appearing on the Stocktake sheet:

  • in the upper area, only the Print button is present
  • while at the bottom two new buttons are present; Show added adjustments and Show reduced adjustments. Click on either button to display the related inventory adjustment transaction. Note that if you have the Can edit stocktake dates permission (see Managing users) then you will be able to edit the confirmation dates of the inventory adjustments to match the stock take date.

If an item has limited stock and that stock is allocated to an invoice during stocktake, when you try to adjust the stock the following window will display giving you two options to choose from:

For the excel option a spreadsheet will open allowing you to analyse the invoices to which the stock is allocated. The highest invoice number is likely to be the one entered during stocktake.


Obviously closing off transactions until stocktake is complete and avoiding these kinds of issues is best practice.

Clicking on the Print button and clicking on Inventory adjustments will print this information:

In this example, three adjustments have been made:

  • Magnesium carbonate: present at the physical check but not on the sheet, has been added
  • Peppermint oil has had its stock increased
  • Sodium bicarbonate has been reduced in stock

Items that weren't changed don't show in the report - if you want to see all items, including those that weren't changed then click on the Print button and select the Inventory adjustments - all item option.

Some points to note:

  • When you have created the stocktake sheet, it's like `taking a snapshot'; the physical stock at that location should not be removed until the stocktake has been performed; nor should stock be added.
  • New transactions can however, be entered into the system.
  • the Log tab on the Stocktake sheet will list any anomalies. An anomaly may occur if a transaction has been entered after the stocktake that issued more stock than you physically counted. Obviously someone has made a mistake in such a situation.
  • There is on the stocktake window (lower left corner) a checkbox Locked , which, if checked, will allow neither deletion of the stocktake nor any changes to be made to it.

  • Ok and Next - if you have no more stocktakes to add, click the 'OK' button, to add only the stocktake just completed. To add a further stocktake, click the 'OK & Next' button and proceed to add your next stocktake.

Previous: Splitting a batch Next: Inventory adjustments

2011/04/28 10:39 · John Ross

Inventory adjustments

Choose Items > Show inventory adjustments

Inventory adjustments allow you to increase or decrease the stock of an item that is recorded in mSupply®. You will need to adjust the inventory if:

  • Stock is discarded (due to damage or expiry)
  • You do a Stocktake and find that physical stock is different to the stock recorded in mSupply®. In this case the first thing to do is to see if you can find out where a mistake may have been made in issuing stock. For example, you may be able to retrieve extra stock mistakenly given to a client, or may need to ask a supplier for an order that has been entered but never actually received.
  • Stock has been stolen.
  • As a general rule, consider using a regular invoice to account for any transactions with a customer or supplier. Only use an inventory adjustment as a last resort.

If you are doing a “normal” stocktake, it's better to use the stocktake module described here as it will create the needed inventory adjustments automatically.

Inventory adjust - add stock...

Choose Items > Inventory adjust (Add stock) Use this function when you have performed a stocktake and find that the physical stock of an item or items exceeds the amount recorded in mSupply®.

A transaction that is like a supplier invoice will be created. Enter the details in just the same way you would as if you were receiving goods from a supplier, except that mSupply® fills in the Name field for you automatically, and does not allow you to edit it.

After a stocktake, this can be used to adjust any stock lines where the stock recorded in mSupply® is less than the physical stock.

You will be asked to enter the margin when starting this transaction. For a normal inventory adjustment, set this to zero. If you are using this procedure to enter stock when starting to use mSupply® for the first time, enter the percentage to apply here.

Inventory adjust - reduce stock...

Use this function when you have done a stocktake and find that the physical stock of an item or items is less than the amount recorded in mSupply®. A transaction that is just like a customer invoice will be created, except that you do not choose the customer. The section on entering customer invoices describes the entry procedure. See the section on Issuing goods - Customer invoices here

Inventory adjustments are treated by mSupply as a kind of Supplier invoice (or credit). To view or edit an inventory adjustment, Choose the “Show inventory adjustments” option from the “Item” menu.

Previous: Stocktakes Next: Units

2011/04/18 10:33 · Craig Drown


Choose Show units from the Items menu. When you have defined your units, a list is displayed:

Click the New button to add a new unit.

Note that you will need to have sufficient user permissions to use this function.

Do not change the record for one unit into a different unit, as all items using that unit will be updated.

Click the Merge button to merge two units. Note that duplicated units can occur on import of units or a user may duplicate a unit being unaware of one existing already. The below window appears to merge the units. The green boxed unit is the one that will be kept, the red boxed unit will be deleted.


Choose Show accounts from the Items menu. This window allows you to manage the range of accounts that can be assigned to items.

Account codes are used when exporting transaction data from mSupply® to external accounting software. Double-click a line to edit its details. Changing an account code or description will affect all items that are assigned to that account.

Click the New button to add a new account.

Fill in the code, description field and select the account type. The field Items that use this account code will display such items for each account code. Account types are Expense, Income and Asset .Click on OK button to add a new account, and Delete button to delete an account.

Previous: Inventory adjustments Next: Names: Using, adding and editing

2011/04/28 07:13


Updated: version 3.2, May 2014 (This functionality not available in earlier versions)

In mSupply, consumption is defined as stock that is issued. Stock lost due to damage, expiry, etc. (managed through Inventory Adjustments) are not included in consumption. During the later quantification calculation, there are options to include or exclude Stock Transfers and Builds in the consumption calculation.

By default, mSupply uses the assumption that future consumption will continue at the same level as consumption over a given historic period. Our experience is that in 99% of situations the results obtained using this method are between very good and excellent. However, in certain situations you may want to provide your own forecasts. Reasons for this could include factors such as:

  • Natural population increase
  • An epidemic causing increased demand
  • Historical usage being inaccurate due to operator error or out of stocks.
  • A change to Standard Treatment Guidelines meaning a new treatment is being introduced, and there is no historical data
  • Morbidity and mortality data has been obtained and used to calculate requirements. mSupply provides a number of alternative methods for making a forecast of future consumption. These other methods are detailed in sections following below.

mSupply allows you to choose to use from a range of forecasting methods on a per item basis. To choose a different forecasting method for any given item, find the item you are interested in, then open it's details view, and choose the Usage tab:

In the Forecasting section of the window shown above there are four options:

Use Historic AMC

This is the default option, and is the recommended method. During the later quantification stage (creating a new tender, creating a new purchase order or the suggested order report), there is an opportunity to provide the number of months of historical data to use to calculate the forecast.

For our worked example, we will use the Historic AMC method, based on 12 months of historic data.

Use historical AMC increased by a factor of X %

Using this option, mSupply will still calculate requirements based on historical AMC, but increased by the percentage you have entered.

BEWARE! Once set, this option will continue to govern for every forecast generated by mSupply for this item until you re-set forecasting to the default (use of historical AMC).

Use a fixed, estimated AMC of .....

This option allows you to specify a particular amount that will be applied to all future months. For example, you might have caluclated a target consumption for an oral contraceptive based on fixed population and coverage targets.

BEWARE! Once set, this option will continue to govern for every forecast generated by mSupply for this item until you re-set forecasting to the default (use of historical AMC).

Use Projection (A or B)

With this option, mSupply allows you to maintain an A and a B projection, and easily swap between them. Of course you must enter projections for this to be of any use!

Entering Projections

You can enter projections in a number of ways

Manually entering projections

If you click once on a cell that contains a projection (as opposed to a cell containing historical data), then you can click again to edit the cell's value.

Don't double-click: you need to click once, wait for a second or two, then click again

Copying a projection

You might want to copy historical data as a starting point for your projection. You can do this by choosing a column for from column and to column in the Projections section, then clicking Copy values.

Modifying a projection

You can use the Modify selected cell button to increase or decrease a column or some cells in a column by a certain percentage.

For example, you might have entered values for 2016, and then decide your 2017 values should by the 2016 values plus 8%. To do this

  1. Fill in your 2016 column values
  2. Add a column for 2017 if one doesn't already exist
  3. Use the Copy values button to copy 2016 to 2017
  4. Drag to highlight all rows in the 2017 column
  5. Enter 8 in the percentage field, then use the Modify selected cell button to increase the 2017 values by 8%.

If you are using projections, you are responsible to fill in future values for the period to be covered by your ordering. Leaving future projections at zero will have potentially serious consequences.

BEWARE! Once set, this option will continue to govern for every forecast generated by mSupply for this item until you re-set forecasting to the default (use of historical AMC).

Where does mSupply use forecasts?

Any time mSupply produces a suggested order quantity, it will consider each item and use the forecast options for that item to produce a forecast. This includes:

2014/04/29 05:20 · Craig Drown

Names: Using, adding and editing

About names

In mSupply a “name” can be any combination of a:

  • customer: a recipient of your goods
  • supplier: someone who sends your store goods
  • manufacturer: someone who makes the goods that you receive, store and distribute
  • donor: an entity that donates goods to you (you can track donated stock)
  • patient: someone you dispense goods to
  • others: you'll find other types e.g. benchmarks mentioned through out the documentation

Adding a Customer, Supplier, Manufacturer, Benchmark or Donor

Adding a new Customer

  • To add a new customer, choose Customer > new customer from the menu.
  • The form shown below will come up.
  • The customer checkbox will be checked and disabled (from editing).

Adding a new Supplier

  • To add a new supplier, choose Supplier > New supplier from the menu (makes sense really!)
  • The window will look the same as for adding a customer, except the supplier checkbox will be checked and disabled (from editing).

Adding a new Manufacturer

  • To add a new manufacturer, choose Supplier > New manufacturer from the menu.
  • The window will look the same as for adding a customer, except the manufacturer checkbox will be checked and disabled (from editing).

Adding a new Donor or Benchmark

  • Select Customer > new customer or Supplier > New supplier from the menu.
  • The same window for adding a new customer or supplier will open and you should check the Donor or Benchmark checkbox in the Category section.

Items in the names entry window

Name Code: The unique code to identify this customer, supplier or manufacturer.

Charge to: mSupply is made to work in tandem with an accounting program (although it will also function just fine by itself). The “Charge to” code is what is exported with each invoice. Generally you should make the charge code and name code the same (If you want, there is an option in the Preferences > Misc tab to make sure this is the case). For example:

  • If you have 3 hospitals you supply, but you send the bills to one centre for payment, you may want to enter each hospital with its own name code, and all of them with the same charge code. In your accounting program you would just enter one debtor (customer) with a code the same as the charge code. eg.
Customer Name code Charge code
Fred H Hosp fhhosp bluehos
Mary P Hosp mphosp bluehos
Sam Q Hosp sqhosp bluehos
  • In your accounting program you would enter “Blue Hospitals Assoc” with the code “bluehos”
  • For a supplier, if you have entered a default currency and margin these will be entered, but you can override them. Every supplier should have its currency entered (The currency it uses for your invoices). If the currency isn't yet in your system, close the name entry window and choose Currencies from the Special menu to add it.
  • if you do not wish to use different name codes and charge codes, check the “supplier name code and charge must match” and “customer name code and charge must match” check boxes in the mSupply Preferences. If you do this, the charge code will automatically be identified with the name code.
  • spaces are not allowed in name codes and charge codes

Either the “customer” or “supplier” check box will be checked as appropriate, depending on whether you have chosen “new supplier” or “new customer” from the menus to produce this window. However, you can still alter things here without upsetting mSupply.

Name: The customer/supplier name. (Remember you can use the Tab key to move from field to field)

Master ID & Master name: These are used when using the remote tender module to link suppliers with their master ID on the remote tender server and maintained by Sustainable Solutions.

To link a supplier to the remote tender server, login to the tender server using the login details sent to you by Sustainable Solutions, and find the supplier and find its ID. When you have that, copy it down (or copy it to the clipboard) then click on the padlock to make the Master ID field enterable in mSupply. Now enter the ID (or paste it in) and click on the synchronise button next to the Master ID field. mSupply will then contact the tender server and search for a supplier with the ID you have entered. If the search is successful, the name the supplier has on the server will be put in the Master name field and you're finished. It it's unsuccessful, you'll be given an appropriate message.

Type: In the main entry screen, there are 4 check boxes to mark each entry as a customer, a supplier, a manufacturer and an additional Benchmark category. This last category is a feature of the Tender Management module, and is fully explained in that section, under Using Benchmark prices

Status - Hold checkbox: If this is checked this name can not be used for receiving or issuing goods.

Donor checkbox: (Applicable to suppliers only) There are two situations in which this box should be checked:

  1. If this supplier/organisation provides goods free of charge (either in whole or in part).
  2. If this supplier/organisation provides funding (either in whole or in part) for purchasing.

Price Category: Selection of any of the categories will fix a certain price margin for that Supplier or Customer.The price category value is entered in File >Preferences > Prices . When goods are being issued to this customer, the selling price is increased/decreased by the percentage specified in the Preferences for this price category.

  • Eg: Consider customer XYZ, who is in category B, and in the preferences category B is assigned a value of 50. If an item is issued to customer XYZ with a normal selling price of $10, the selling price on this invoice will be $15.

Address and contact details: These should be completed with relevant details

  • For customers, you can enter separate delivery and billing addresses as necessary.

Other section - Categories: There are 6 category fields available for selecting as required. Each category has its own drop down list containing the categories which have been defined using the menu item Supplier > Show categories… or Customer > Show categories… (see Name Categories for more details). The labels of these 6 categories can also be changed in the preferences (see General preferences, Names tab for details).

These category fields are used for reporting and are available for you to make whatever entries are appropriate in your situation. For example, you might wish to subdivide your Hospital category by number of beds, or your Clinics by the number of patients seen daily, etc. Or you may wish to identify your customers by their geographical location (region, district, state etc.) or by location type - urban, city centre, rural, remote, etc. The choice is yours - the main point to remember is that these fields are searchable, enabling you to produce reports relating to very specific criteria.

Analysis: You can use this field to group together certain types of customers or suppliers. You can filter the report by selecting the group in the Analysis field.

Postal address: Here you can enter a postal address if it is different to the physical address of the supplier.

Mapping a customer's location

You can use the coordinates

If you locate a customer on Google Maps and then click the link button at the top right corner of the window, you can copy a google map link. If you copy and past the link into a text editor or word processor you will see a section that looks like this


The first number after “ll” is the longitude, and the second number is the latitude. If you enter these numbers into the provided fields in mSupply, you can then view the customers location by clicking the Google maps button.

If the US President suddenly becomes your customer then his location would be :

  • Latitude : 38.897669
  • Longitude : -77.03655

Hiding Names on a per-store basis

If you check the Hide in this store checkbox, the customer/supplier you are currently viewing will no longer be shown in the store your are now logged in to.

  • This allows you to have customers that are specific to each store.
  • To find a name that is hidden, you can use the Complex find button in the window that is shown when you choose Names > Show customers or Names > Show suppliers

Extra information for customers only

Shipping address: If the name is a customer, shipping address fields will be shown.

Extra information for suppliers only

Currency: Enter the currency code of the currency this supplier uses for invoicing you.

Margin: Enter the percentage margin to apply to items received from this supplier.

Freight factor: Enter the amount to add to quotations from this supplier to adjust quoted prices for freight. For example: a physical check on invoices from IDA reveals that freight to Nepal generally amounts to about 15% of the net value of the invoice. Therefore we would enter “1.15” in this field for IDA. Note that if suppliers quote you “CIF” prices, then you should enter “0” here.

About Manufacturers

When you are receiving goods, you can optionally specify the manufacturer of each item. Manufacturers can be chosen from a list that is made up of names which have the Manufacturer checkbox checked.

For the manufacturer field to be shown, the option must be turned on going to Special > Show stores > [choose your store and double-click] > Preferences tab and checking the Able to specify manufacturer when receiving, ordering or quoting for items checkbox

Editing a Customer, Supplier or Manufacturer

Finding a name

Before you can edit a name, you have to find it and display its details! For this example we will edit a customer. Editing a supplier is just the same, except that you start by choosing Show supplier from the Supplier menu.

Choose Customer > Show Customer. You are presented with a window to enter as much of the Customer name or code as you know:


  • The slide bar at the top of the window may be set to Normal, at the left, or at intermediate points towards the Fuzzy end (right); this determines the accuracy of matching your entry; when set to Normal, the search will only match exactly what has been entered; when set at Fuzzy the search will list entries which are approximate matches to what has been entered. The accuracy with which the list matches the entry is determined by the position of the slider.
  • If you leave the Name/Code text field empty, clicking the Find button will produce a full list of all customers.
  • You can enter values for the other filters too (or them only!) if you want to refine your search.
  • Note that the window has a series of radio buttons to select the target of your search - All names, Customers, Suppliers, Manufacturers, etc. So even if you start this search from, say, Customer > Show Customers…, by selecting the Suppliers radio button, you can search in suppliers rather than customers.
  • The Exclude patients checkbox is checked by default and means that any patients you have in your datafile will not be included in the search. If you uncheck it, any patients in the current store will be included in the search.
  • The Exclude hidden names checkbox is checked by default and means that any names hidden in your store (but probably visible in other stores) will not be included in the search. If you uncheck this box then the search will include all names in all stores, and their visibility will be ignored.

If the search finds only one name that matches the filter criteria you entered, its details window will be displayed. If more than one name matches then you are shown a list of them all:

Buttons in the names list window

New: This button allows you to enter the details of a new customer

Modify: This button opens a window displaying the details of the highlighted customer, allowing their details to be modified.

Set Flags: This button allows you to mark certain names with a flag.

  • First, highlight the names you wish to flag by holding down the control key (command on Mac) and clicking the names in the list you wish to use. Then click the Flags button to show a window where you can enter the flag you wish to add, and decide whether to replace any existing flags or append the new flag to the old one.

Print: Clicking this button will print a list similar to the one displayed on screen.

Find: This button shows the same find window as choosing the menu item did so you can find a different group of names.

Order by: This button allows you to sort the displayed list by the criteria you choose. The Labels and Print buttons will use the order that is displayed. By default, names are displayed alphabetically based on the name column.

Merge: This button allows two customers to be merged into one; highlight the two entries click on the Merge button to display this window:

Choose the record you wish to keep and click on OK ; the data from the deleted record is then merged with the data of the record being kept. If you change your mind, click on the Cancel button, and the merger will be cancelled.

Labels: Clicking this button allows you to print address labels for the names in the list. The label editor is displayed.

Report: Click on this icon to open the Quick Report editor window. Use of the Quick Report is discussed elsewhere in the guide. See Custom Reporting Tutorial

Customise: Allows you to choose which columns to display using this window (Note: this only affects the columns you see in this list, it won't affect what other users see):

Columns on the left are available. Columns on the right are the ones in use in your names list. Click a row in either column then click the move left or right button to transfer it to the other column. Click OK when you're done, or Cancel if you want to stick with what you've got. Your choice of columns to display will be remembered for the next time you display a list of names (customers, suppliers etc.).

OK Button: Closes the window

Editing or viewing a name

To edit/view a particular name, if you are looking at a list of names double-click the name you want to edit on the list (no need to do this if you are already looking at the name's details page because only 1 name was returned from your search).

You will be shown the name's detail window which has a sidebar showing several tabs, General, Invoices, Backorders, Quotes etc. and opens at the General tab:

The Invoices tab

Here you can view the invoices for a customer or supplier.

You are able to edit an invoice directly from this window by double-clicking the one you wish to edit. A new window will open with the invoice details displayed.

Buttons on the Invoices tab

Print Range: Click this button to print a range of invoices for a customer. You will be asked to enter the first and last invoice numbers to be printed.

Aging: Click this button to display a list of aging categories and the outstanding unpaid balance for each invoice in each category.

Dates: Choose a date range from this menu to show quickly recent invoices, or to revert to showing all invoices

The Backorders tab


  • Here you can view, add and edit the backorders for a customer. mSupply allows entry of backorders against suppliers as well, but we are not sure why you would want to do this!

Buttons on the backorders tab

New backorder: Clicking this button presents you with a window where you can add a backorder line for this customer.

  • Type at least a portion of the item code or item name, then press the Tab key.
  • Today's date is automatically entered. You can change the date if you like
  • Enter the total quantity owing.
  • Enter a comment (e.g. an expected arrival date)
  • Click OK to save changes and exit the window.

Delete backorder: Click a backorder line to highlight it, then click this button to delete the line.

Copy: This command copies the backorder to the clipboard, allowing you to paste the report into an email message, word processor or spreadsheet document.

Print: The list of backordered items for the customer is printed.

Viewing Backorders

Double-click a backorder line to edit the line. You will be shown the backorder entry window, where you can change any details you wish.

Show: This drop-down list allows you to choose which backorders to display.

  • Backorders are normal items that have not been supplied to customers.
  • Ad Hoc items are items that customers have ordered but which you do not want to add to your stock list, rather making a special order just for that customer.

The Quotes tab

You can view the quotations you have entered in mSupply for this supplier.

The Notes tab

To add, edit or delete a note, click on the Notes tab, and this window displays:


Click on New note to create a note, or select an existing note and double click on it to view, edit or delete it.

  • The date on which you are entering a new note is already completed, and in the main panel you should type in the wording of the note itself.
  • In the lower left of the window is a drop-down list offering various choices concerning the displaying of the note on screen; it may appear as an alert when a Supplier invoice is created, when a Purchase Order is created, etc..

If never is chosen, the note will never be displayed on screen, and if all is chosen, it will display for all events for this customer/supplier. You may also set the background colour of the note , but as the text is always black, dark colours should be avoided. A further option allows you to have one or more audible `beeps' sound when the note is displayed. Each note will display according to the attributes set for it, independently of other notes defined for the same customer/supplier.

Subsequently, when this customer/supplier is selected and depending on the display settings made, the note will appear on screen; be aware that the note does not disappear automatically - you must close it/them manually.

The text of a note can be up to 32,000 characters.

Click OK when you are finished.

The Contacts tab


Adding a Contact

To add a contact for this customer or supplier, click the Add contact button , then enter the details in the window that appears.


Deleting a Contact

To delete a contact, click on the contact you wish to delete, then click the Delete contact button.

The Group tab


Groups are only relevant to customers, not suppliers.

If this customer has been added to a group, this tab displays the name of that group. An explanation of groups and how to work with them will be found here: show_groups

Here you can select the group of which a customer is a member. When you choose a group, you will be shown a list of item departments which are linked to the chosen group. Once the group system is activated in the Preferences, only items belonging to one of the listed departments (or items with no department) may be supplied to that customer.

The Purchase Orders tab

This tab shows a view of Purchase Orders for the current name, and applies to suppliers only.

The Web log-in tab

If you are allowing customers to access their order information using the mSupply web server, this is the window where you assign a logon name and password to a customer.

Also displayed on this tab is the internet connection speed. It should be noted that this value is derived from your network settings, and may not be edited manually.

The Item lists tab

This tab is used to assign master lists to customers for use in requisitions and mSupply mobile. For more information, see Item master lists.

The Stock history tab

A list of stock histories, showing dates of both the stock take and the date of entry into the computer, the ID reference, the status and the type, is displayed.

The Store tab

Only users who have Admin privileges may access this feature. See Managing users

When the Store tab is chosen, this window appears.

The window shows which stores the customer/supplier is visible in. Only when the visibility checkbox is checked, is the customer/supplier visible (and able to be used for receiving and/or issuing goods) in that particular store.

The Photo tab

On this tab you can assign a photo of the customer or supplier and set their world map coordinates. Both of these can be used in reports.

To add a photo, either copy the contents of a file to the clipboard and paste them into the image area or click on the Add photo button and select the picture file (png, jpg, bmp or gif files supported).

To delete a photo either click on it in the image area and press the delete key on your keyboard or click on the Delete photo button.

Previous: Units Next: Contacts

2011/04/19 05:47 · Craig Drown


This command from the Special menu displays a window where you can edit contacts.

Contacts are usually associated with a name (a customer or supplier), and it is easier to edit such contacts using the “show suppliers…” or “show customers…” command.

If a contact is not associated with a name, you can edit details for that contact using this command.

Buttons in the contact list window:

New: Use to add a new contact.

Report: Presents the Quick report editor window. See using_the_query_search_editor

Find: Use to find an individual contact

Order by: sort the contacts

Print: clicking this button will present you with a dialog with two choices:

  • If you click list a list will be printed of the records in the window.
  • If you choose labels, you will be shown the label editor, allowing you to print a set of address labels for the current list of contacts. Note that you can save a particular label layout and then use the load command in the label editor to restore your layout.

New: To edit a contact, double-click on the line you want to edit. You will be shown the contact details:

Previous: Names: Using, adding and editing Next: Merge two names....

2011/05/20 06:42 · Craig Drown

Merge two names

If you accidentally enter two names into mSupply that identify the same organisation, you can use this command to combine them.

Use extreme caution: This operation will move all historical records from the name you delete to the name you are keeping. The operation can only be undone by reverting to a backup copy of your data file.

In the window displayed enter the name to keep, and then the name to delete. When you have checked then checked again that the information is correct, click the OK button. You will be given one last chance, and then…..

You can also merge a name into a virtual store (the store must be the name to keep). This is particularly useful if, for example, you have a customer which you now want to turn into a store to manage their stock more fully. This has the benefit of moving all the transactions connected with the customer into the store so that you don't lose any historical transaction information.

When you merge a (customer) name with a virtual store you must finalise all transactions belonging to the customer first (mSupply will tell you to do this if you have not already).

The merging needs to take place on the primary server, even if the virtual store is 'Active' on a satellite server in a synchronised system (refer Remote Synchronisation)

Previous: Contacts... Next: Name Categories

2011/05/12 07:09 · John Ross

Name categories

You can categorise names in mSupply with 6 different categories. This is very helpful for producing detailed reports. You can apply one or all or some of these categories to a name. Categories 2-6 are standard categories but category 1 is special - it's hierarchical and has 3 levels, level 1 is the top and level 3 is the bottom (similar to item categories).

Suppliers and customers have their own sets of categories. To view and edit them you choose Show categories from the Customer or Supplier menu and that brings up this window:

Here you can add and edit categories for your suppliers or, in this case, your customers.

Show drop down list: This determines which category type is shown in the list and which type of category will be created if you click on the New button. Note that the Category 1-6 labels in the drop down list will be replaced with any custom labels you have defined in the category label preferences in the General preferences, Names tab.

Delete button: Deletes the category you have selected in the list. You'll be asked to confirm the deletion first of course!

New button: Opens up the new category window which looks like this (Note that double clicking on a category in the list opens up this window too but it will be populated with the current settings for the category you double clicked so that you can edit them all):

Description: This is the category name and will be seen everywhere when assigning names to categories or filtering on name categories in reports.

Category_user_field_1: This is a user-defined field. If a label has not been entered in the preferences then the default Category_user_field_1 shown here is used. The information you enter here is used in some reports.

Category_user_field_2: A second user-defined field, same rules as for Category_user_field_1 apply.

Parent category drop down list: This only appears if you're editing a category 1 level 2 or 3 category because they are the only ones that can have parent categories. A parent category is the category to which this category belongs. If the category you are creating or editing is level 3 then you will be able to choose one of the level 2 categories as a parent. If you are editing a level 2 category then you'll be able to select one of the level 1 categories.

Previous: Contacts Next: Suppliers: Adding and Viewing

2011/05/12 07:12 · John Ross

Suppliers: adding and viewing

New Supplier

To add a supplier, choose this item.

Note- if this supplier will have invoices entered against it and you are exporting invoice data to an accounting program, a new “creditor” must be made in your accounting software with the same code, or you will get an error when you import! (You can usually make the code when you get the error in your accounting software when you try to import!)

The window for viewing/editing a supplier contains basic information. Fields that especially relate to suppliers include:

Currency: If you are using currencies, enter the currency used by this supplier. This value will be filled in with the value set in the “default currency” option of the Preferences.

Margin: The amount (as a percentage) that will be added to the cost price to calculate the sell price when you enter an invoice. For example, if you enter “10”, items from this supplier that are bought for 30 dollars will have their value increased by 10% (i.e. 3 dollars) and will be sold for 33 dollars.

Category: You will note that the Supplier box is already checked. The special Benchmark category is discussed fully in the section on Tender management, which you can access here.

Freight factor: The amount to multiply supplier quotations by to account for freight charges. (If their quotations are “CIF” you should set this to zero).

Show suppliers

This item allows… you guessed it - you to view suppliers. This window is displayed.

In the field, type as much of the supplier name or code as you want to. If there is only one matching item, the details will be displayed, otherwise a list will be displayed from which you can choose the name you want by doubling clicking it.

Note that if a supplier has invoices entered against it, you will not be able to uncheck the “supplier” check box, and you will not be able to delete the supplier.

Previous: Merge two names Next: Introduction to Tender management

2011/05/12 06:47 · John Ross

Updated: Version 3.1

Introduction to tender management


In order to achieve the best value for available funds, it is common practice to seek out the best prices for the medicines that will be required, usually for the forthcoming year, by publishing a tender. Normally, the full tender process creates a lot of work which can be very time consuming and error prone. The mSupply tender module is designed to make the process as simple as possible, to minimise the work involved and to reduce the chance of errors.

As usual in a tender process, forward planning is necessary, as the process must be started several months before the goods will be on site and available for use.

The work flow for using the tender module is:

  1. Prepare list of items and quantities. See creating_a_new_tender. When all items have been added to the tender, it should be set to confirmed status.
  2. Distribute list to suppliers. See Adding suppliers to a tender
  3. Create benchmark prices. See Using Benchmark prices
  4. Evaluate received quotations. See Receiving Quotations from suppliers
  5. Select preferred suppliers. See accepting_tenders. After selecting the preferred suppliers for all items, the tender should be set to finalised status.

From your usage history, mSupply can prepare a list of items and anticipated quantities. This list is distributed to suppliers, who are invited to submit, after a reasonable period of time, their quotations, inclusive of all additional charges., e.g. freight.

The list may be uploaded to the web, and interested suppliers invited to submit their quotations online; conventional methods of submitting quotations are also available. We recommend the online method, as it reduces paper consumption, and is less labour intensive.

Once all the quotations have been received, mSupply will assist in processing them, comparing quotations, performing necessary currency conversions where appropriate, applying freight charges etc. mSupply will mark the lowest item price blue. If two lines are the same price and are the lowest price both will be coloured blue.

The user then has all the relevant information enabling informed choices to be made in selecting which supplier for which item.

Finally mSupply will create Purchase Orders for the successful bidding suppliers. While mSupply can perform all these tasks from stored usage data, it will allow users to change supplier and/or quantities, should special circumstances prevail in particular situations.

Preferences: There are preferences that can be set for the tender process, see tender preferences.

Note that for multi-user installations, Tender management activation requires payment of a fee. Please see the website here or contact Sustainable Solutions for more information.

Getting started

Select Show tenders… from the supplier menu or from the Navigator's Suppliers tab.

A window is shown with a list of current tenders (if any) and some options:

The Show drop down list is a filter which allows the list of tenders displayed to be changed:

Creating a new tender

Two options are available :

  • New Generated Tender Once you have been running mSupply for a year, and providing that year is fairly typical of your overall usage, the New Generated Tender is recommended; this option will suggest quantities based on actual usage, having regard to seasonal fluctuations, thus eliminating any guesswork. Note, however, that quantities are suggested only, and may be amended as required.
  • New Tender - allows you to create the tender manually and is a more labour intensive process.

Note that the creation (or deletion!) of a new tender will be logged by mSupply.

Also note that all tenders belong to the store they are created in and will not be accessible in other stores (but supervisor mode users can view tenders in all stores). This also means that you can only access items visible in the store the tender is created in, whether you manually create or auto-generate your tender.

New Generated Tender (Auto-generation)

To have mSupply automatically create a suggested tender based upon your projected demand, click on the New Generated Tender button, and confirm your intention by clicking Yes on the Confirm window.

This window will appear. You may recognise it from the Item usage report, suggested order report and the Managing Purchase Orders, creating a Purchase Order - it uses much of the same functionality:

You can tailor your search by item in the usual way. Clicking the refresh button (double arrows near the centre) shows an estimate of how many items will be processed. Further refinements can be added. It is recommended to use the Calculate button to refine the Months of stock required figure by entering Lead time, Ordering Cycle and Buffer stock values directly.

Processing all this data may take some minutes if you have a lot of stock items recorded in your system, so mSupply will ask you if you've got the time to do it. If you do, click `Yes'. A progress indicator will show you how much work is left to be done. When mSupply has finished processing everything, it will let you know:

Auto-generated tenders may be rather large, so you may wish to process several tenders with more specific criteria rather than one huge one at once.

You can choose to look at your tender immediately, or return to it later. If you click `Yes', you'll see something like this:

Points to note here:

  • Several default values have been entered for the Description (made up of the tender number, date and time of creation and number of months stock required), Issue (the current date) and Response by (one month from the current date) dates and Our ref (AUTO followed by the tender's number) fields at the top that you're going to want to change.
  • There are no units chosen for any of the tender items.

A pack size of 1 is usually assumed because mSupply looks for the default pack size and default unit for each item as it creates the tender (these values are set when editing Items - see Item Basics ). If it does not find a default unit, it leaves units blank, but enters a `Check units!' warning into the comments. The same goes for pack size - although if you don't tell it otherwise, mSupply assumes a default pack size of 1. Tender auto-generation will therefore be most useful if these default values are set for items. (A default pack size of 1000 shows here as this was loaded at the time of item creation).

New Tender [manually entered]

To create a new tender manually, having opened the Tenders window by clicking on Show tenders on the menu, click the New Tender button.

This window opens:

Here you can fill in basic information about the tender.

  • Description: Enter a description that will help you to recognize this tender and distinguish it from others. For example: RFQ 18-013 It is helpful if this Description matches any register of tenders / quotes that is already being maintained by your organisation.
  • Creation date: The date the tender was created. This defaults to today's date.
  • Issue date: The date the tender is/was sent to suppliers. This also defaults to today's date, but can be changed.
  • Response by date: The date by which suppliers must respond to the tender. The default is set to one month from the creation date, but can be changed.
  • Status: Tenders can have a status of sg/cn/fn (suggested, confirmed or finalised), which signifies its passage through the overall tender process. To change the status of the tender, simply select the new status from the drop down list and click on the OK button to save all changes. You will be asked to confirm a change because it has a significant impact on the editability of the tender. These are what the statuses mean:
    • Suggested status - tender is still being built. Everything is editable.
    • Confirmed status - list of items & quantities is complete and can no longer be edited. Suppliers invited to provide quotations may be added, and, once received, their responses may be added. Decisions may then be taken regarding which quotation is preferred for each tender item.
    • Finalised status - no further editing may be performed, and the tender can now be used as a basis for purchasing
  • Locked checkbox: Check this box to ensure the tender is not accidentally deleted.
  • Our ref: This field may be used to enter a short reference code to appear in tender-related correspondence.
  • Comment: The comment field is for your internal use. It is not printed on any tender documents.

Tabs on the Tender Details window

Details of the tender are managed through the tabs on the Tender Details window:

Items and compare prices

  • This tab displays by default when you open a tender for editing. It displays the items currently included in the tender, and by selecting 'All', 'Filled' or 'Unfilled' from the drop-down list above and to the right of the list, you can select which items are displayed.
    • New line button: click this to add a new item line to the tender. The addition of the new line will be logged by mSupply.
    • Delete line button: select an item line from the list and click this button to remove it from the tender.
    • Print internal report button: click this to select one of several reports to print out or export to a spreadsheet. There are several to choose from and will give you the information you need to help evaluate or analyse a tender:
      • Preferred suppliers only
      • Winning tender lines
      • All supplier responses
      • Supplier quotes with adjusted price
      • Supplier quotes for each item
      • Tender lines with predicted cost
      • Tender lines where the lowest price was not chosen.
    • Incoterm drop down list: Allows you to select an incoterm to apply to the tender
    • Search items text box: as you type in this text box, only items whose names start with what has been typed will be displayed in the table. You can use the “@” character as a wildcard to represent anything. For example, typing “@ol” will display only items with names which end in “ol”. This box is helpful for quickly finding a specific item. Overrides any selection made in the Show drop down list (see below).
    • Show drop down list: is another way to change what items are displayed in the table. Selecting one of these options will override anything typed in the Search items text box:
      • All - display all items without filtering
      • Filled - display only those items for which a bid has been accepted
      • No bids - display only those items for which no suppliers have made a bid
      • Lowest cost not chosen - display only those items where the lowest offered cost price was not chosen as the preferred bid

Note that changes to tender lines will be logged by mSupply.


  • This tab shows a field where you can add notes about your tender. This will not print on the documentation sent to suppliers.
  • To start a new line (as with any text box), press Shift+Enter (although any long lines will wrap). See below for an example:

Choose suppliers and enter responses

Standard conditions

Purchase Order

Reference Documents

Tender PO Preferences


  • This tab will only appear if you are using the remote tender module have set up your remote tender preferences. The process and use of this tab is described in Uploading and Downloading Web Tenders.


  • This tab shows recent events relating to this particular tender. It will show, for example, changes in prices or other significant events. You cannot edit the details on this tab. If an event fails to be logged for any reason while the tender is being processed, you will be given an appropriate warning message.

Adding items to a tender

To add an item to a tender, click the New line button on the Items and Compare Prices tab.You will be shown a window like this, which opens at the Set tender item criteria tab:

  1. Type as much of the item name or code as you know, then press the Tab key. If only one item matches your entry, it will be filled in. If multiple items match, you will be shown the standard item choice list to choose the item you want. Any details completed in the Full description under the General tab of the selected item are displayed (Description).Should you wish to identify a line (or lines) for any reason, clicking on the Colour button presents you with a selection of colours available for the type on that line.
  2. Fill in the number of packs you wish to purchase, and the pack size. The total quantity of individual units will be calculated. The Round quantities button will round the number of packs to the nearest reasonable number of whole packs (most useful for auto generated tenders when the number of packs can sometimes be set to a decimal number).
  3. Choose the units you wish to use.
  4. You may optionally enter a price per pack figure in the Estimated price field.
  5. Entries in the Comment field are for your internal use, and won't be printed on the tender documents you present to suppliers.
  6. In the Conditions field, enter any conditions which are specific to this item of the tender , but NOT applicable to the tender as a whole. These conditions will be printed on the tender letter with the item details.
  7. Click on OK & next to add the next item to the tender, and when you are finished, click on OK.
  8. The addition of a new line will be logged by mSupply.

It is perfectly possible to add the same item more than once to a tender. Each entry will be treated separately. This allows for the same item to be added, for example, in different pack sizes.

The second tab Compare supplier responses, is for use after suppliers have responded to the tender - refer Receiving quotations from suppliers - Comparing quotations from different suppliers.

Deleting tender items

Click the line you wish to delete so that it is highlighted, then click the Delete line button. If a supplier has already quoted on a tender item, you will be warned before deletion. The deletion of any tender lines will be logged by mSupply.

Editing tender items

From the Items and compare prices tab, double-click the tender line you wish to edit. The 'Edit tender item' window will open, allowing you to edit the details in the same way as entering a new tender item, above. Note: you cannot edit or delete lines on finalised tenders.

The Search item field allows you rapid access to any item in the tender - just enter the name (or first few letters of the name) of an item in the tender, and it will be displayed.

Here's how the Edit tender window looks when the item Ranitidine 25mg/mL injection has been selected; the automatically generated tender has calculated that 1023 ampoules are required; here you can edit the quantity to conform with, say a pack size of 10, so you would adjust the pack size to 10, and the quantity to 102 or 103.

Note that any changes to a tender line are logged by mSupply.

Previous: Suppliers: Adding and Viewing Next: Standard conditions

2011/04/19 07:22 · Craig Drown

Standard conditions

mSupply allows you to set up a list of standard tender conditions called master conditions. These are all the conditions you will apply to tenders from year to year. Each time you create a tender you can copy the master conditions you want to your tender as required - these form the standard conditions list for that one tender. These instructions cover managing master conditions and applying them to individual tenders as standard conditions.

When you print your tender invitation letter, you can choose to have the list of standard conditions print (not all the master conditions!), followed by the list of items for which you are requesting prices.

Setting up conditions and their categories

Choose Suppliers > Show tenders, and open the Master Conditions categories tab

Here you may define categories for your master conditions. Examples shown above are Annual, Supplementary and Emergency. Subsequently you can restrict the display to a single category by selecting that category from the Show drop down list.

Choose Suppliers > Show tenders, and open the Master Conditions List tab:

You can print a master condition selected in the list by clicking on the Print conditions button. To add a new master condition, click on the New Condition button. This window opens:

Point: The conditions will sort by their point entry when printed. We suggest you label your points 1.1, 1.2, 1.3, 2.1, 2.2 etc.

Note that if you have more than 9 points in one of the levels, you should add a leading zero so that they sort properly (01.1, 01.2, etc)

Heading: Enter the Heading.

Body: The body can be as long as you like for each entry.

Category: If you have defined categories, they will be displayed in the drop down list, and you may select the appropriate one.

Flag: Say you have some entries that need changing after copying to an individual tender (e.g. a closing date). You can enter a value in the flag field to identify such entries.

Print heading and body: Use this drop-down list to choose what will print. Normally you'll want to print both heading and body, but near the top of a tender form you may want several headings together.

Click OK & Next to add further conditions.

Editing and deleting conditions

Double-click an entry to edit it.

To delete a condition click on it to highlight it, then click the Delete condition button.

Copying master conditions to a tender

When you enter a new tender, go to the Standard conditions tab.

Click the Copy from master button to copy conditions from the master list

Once you have copied conditions, you can add, edit and delete them in the normal way.

when deleting rows you can highlight multiple rows by holding down the control key (command key on Mac) as you click rows, or press control + A to highlight all rows.

Printing the standard conditions with the invitation letter

To have the standard conditions printed at the end of the suppliers' tender invitation letters, go to the tender's Tender Preferences tab:

In the Acceptance letter section, check the Print tender conditions checkbox. That's it, all done!

Previous: Introduction to Tender management Next: Adding suppliers to a tender

2011/05/12 09:05 · Craig Drown

Adding suppliers to a tender and inviting responses

To add suppliers to the tender, click the Choose suppliers and enter responses tab to open this window, where the suppliers to whom your tender will be sent may be added, or subsequently deleted:

Note: The RTM Link column in the table shows whether the selected supplier has been linked with the Remote Tender Module (checked if it has)

To add suppliers to the list, click the Add Suppliers button.

A list of all suppliers is shown:

You can add multiple suppliers by holding down the control key (command key on Mac) and clicking on those suppliers you wish to add. Once you have selected a supplier or suppliers, click the Use button to add them to the list. To create a new supplier, click the New button.

Once suppliers are added, they will appear in the list:

Double clicking a supplier will open a window for adding and editing quotations - see below.

It there are any suppliers listed that do not have a tick in the RTM Link column and you intend to publish the tender to the web, you will need to contact mSupply Support: support@msupply.org.nz

Deleting a supplier

Highlight the supplier you wish to remove from the tender, then click the Delete supplier button. This will remove the supplier from the tender - it will not delete the supplier from mSupply. Note: you cannot remove a supplier from a finalised tender, or if the supplier has quoted on one or more tender items. If you want to remove a supplier for which quotations have been entered, delete the quotations first, then you can delete the supplier.

Inviting quotations from suppliers

Clicking this button prints an “Invitation to tender” letter ready for dispatch to the highlighted supplier; the letter includes all the items, quantities, etc. as specified in the tender. The default date for a response is one month after the date of the letter, but this can be amended to a date of your choosing.

If the default format of the Invitation letter does not meet your requirements, please let us know and we will customise the print format to meet your individual requirements.

Email Selected button

Clicking this button produces email documents for each of the highlighted suppliers. A PDF document (the same as the printed document) is produced, attached to an email and stored in the email queue. This option will work only if you have entered email addresses for the chosen suppliers.

Whichever method you choose, you will be given the option for the Date sent field to be filled automatically with today's date.

To Spreadsheet

Clicking this button opens your spreadsheet application, with all the items and quantities required on the tender document already entered in appropriate rows and columns. This may be saved and sent to the supplier along with the tender letter. Appropriate columns are already in place for suppliers to enter their responses.

Previous: Standard conditions Next: Reference Documents

2011/05/12 09:11 · Craig Drown

Adding supplier responses to a tender

Suppliers respond to your invitation to respond to a tender with quotations. To process a quotation from a supplier, open a tender (choose Suppler > Show Tenders… from the menus and double-click on the tender in the list) and go to the Choose suppliers and edit responses tab. Now double-click the supplier name you want to enter a response for. The Edit Quote window will appear:

{{ :tender_management:tend_edit_quotes.png?600 |}}

The Date sent field may be edited if necessary. You should enter the date the supplier responded, and in the Valid till field, the expiry date of the quotation. Also, enter the reference that the supplier is using for their own records (to be quoted in future correspondence) in the Their reference field, and, importantly, the currency in which the supplier has responded (on the Edit Quote tab). If you have previously set a default currency for this supplier, this drop-down list will already be set to that currency. Otherwise, your own default currency will appear.

The freight charge per cubic metre [m3] should be entered; if the volume of each item's pack is known, this can also be entered (at a later stage), allowing a more accurate total cost of each item to be evaluated.

Multiple currency tender quotations

A quotation may be received from a supplier which has used one currency for some items, and another currency for others; or has submitted more than one quotation for the same item, each one in a different currency (e.g. Euros and US dollars). Should this occur, it is strongly recommended that you process the quotation as two or more separate quotations, each one restricted to a single currency. That is, enter the supplier twice in the list of suppliers, then add a comment to the quotations to distinguish which quotation is in which currency. We have designed mSupply like this so that when Purchase Orders are created, a single Purchase Order only uses one currency. Mixing currencies on a Purchase Order is likely to cause confusion and errors.

Adding quotation lines

Now you can add the supplier's quotation line by line. On the Edit Quote tab, click on the New line(s) button. A window will open showing you a full list of all the items on the tender:

Select from the list all the items you want to enter quotes for. You can use the usual Control+click (Cmd+click on Mac) to add/remove an item to your selection, Shift+click to add/remove a range of items from your selection or Control+A (Cmd+A on Mac) to select all items. Now click on the Use button and all the items you have selected are added to the quotation with zero cost. In this example we chose to add the first 5 items in the tender:

To add the same item twice to a quotation from a supplier, click the Add lines(s) button and choose the item a second time. You will be shown a warning that the item is already on the quotation, and be asked if you want to add it again. You might need to do this if the supplier has supplied two prices for the same item based on differences in packaging or other specifications. Note that if you entered an item twice in a single tender to account for such differences, it will appear twice in the list and you won't need to carry out two selections.

In the event that the currency of the quote from the supplier is not the same for each line, mSupply allows each line's currency to be edited, and the appropriate one selected.

Entering prices for each quotation line

When you have added all the items you want to the quotation, it's time to add the prices and other details of the supplier's quotation. To do this, double-click on the first quote line to open the Edit Tender Response Item window:

You will note that this form is very similar to the form for ad-hoc quotes; the related tender is shown at the top, and the item and supplier fields are filled in automatically. Enter the price and other details the supplier has provided - enter as much as you can because you'll use this information when comparing quotes from different suppliers.

Manufacturer: Type the first few characters of the manufacturer's name and press the Tab key on the keyboard to see a list of matching manufacturers. Select the one you want.

Price: Very important, the price you enter is the price for ONE PACK of the packsize shown in the Pack field.

Valid until: The date this quote will expire.

Pack: The pack size (number of single items in one pack) this quote is for.

Currency: The currency the Price is in.

Rate: The rate used to convert the Currency of this quote line to the currency you are using in your datafile.

Rate to use: You can use a different rate to convert the Currency of this quote line to the currency you are using in your datafile if you like - just enter it here.

Disqualified: Check this if the quote line is disqualified for any reason (excluded manufacturer, for example).

Preferred: Check this if this is the quote you want to accept as the best - see later sections on comparing quotes from different suppliers for more on this.

Cost Local/Pack: The quoted cost per pack in your local datafile currency when converted from the quote line currency using the rate entered in the Rate to use field.

Comment: Enter anything you need to remember or need others to know when comparing this quote with those from other suppliers.

Price breaks: You can also add price break information that the supplier has provided you in the Price break section. A price break is a reduction in price when you order over a certain quantity. The Price Break quantity is the number of items at which the reduction occurs and Discount is the percentage reduction that will apply to the price entered in the Price field once the Price break quantity is reached.

Freight: If you are calculating freight based on volumes or weight, or using a freight factor, enter that information in this section.

Supplier: Enter any extra details about the supplier in this section.

When you have finished entering details for the quote for this item, click on the OK & Next button to move to the next item or OK to save the current quotation line, close the window and go back to the Edit Quote window.

When you have finished adding all suppliers' quotes to the tender we recommend that you set the tender's status to confirmed (on the Edit tender window at the top).

If you're finding that entering all the supplier's quotes is too much work then there's help for you! The remote tender module is what you need, where the suppliers all enter their own quotations and, when the tender closing date has passed you can simply download them to mSupply. See Uploading and downloading web tenders for details and give Sustainable Solutions a call if you're interested.

Deleting an item from a supplier's quotation

If you wish to delete an item from the quotation, click on the line to highlight it, then click the Delete line button. Note that this action deletes the selected item from the quotation only, not from the tender!

The Reference documents tab

This is used for saving documents which refer to the Supplier's quote, not the whole tender - use the Reference documents tab on the Edit tender window to do that (see Reference documents for more details). You might want to use this to save a scanned version of a paper copy of the supplier's quotation, for example.

Upload document button: Click on this to store a document with the quote. You will be shown a window allowing you to browse to the required document. Double-click on the document or click on it and click the Open button to add it to the quote (called “uploading” it). Once it has been successfully uploaded it will appear in the list of documents below the buttons.

Delete document button: Click on a document in the list to select it and click on this button to delete the file and remove it from the quote. You will be asked to confirm the deletion.

Download document button: This will allow you to save one of the files in the list to your computer (called “downloading” it) so that you can view or edit it. Click on the file you want to view or edit to select it in the list then click on the Download document button. You will be shown two options: click on Download to just save the file on your computer or Download and open to save the file on your computer and open it for viewing or editing. A window will open for you to select the location to save the file on your computer. Browse to the folder you want to save it in then either double-click on the folder or click on it to select it then click on the Open button. The file will be saved in the location you chose. If you selected the Download and open option the file will also be opened for you to view or edit.

If you want any edits you make to the document to be saved to the quote, when you have finished editing, you must upload the edited version to the quote using the Upload document button. Don't forget or your edits will only exist on your computer, not on the quote! It is not necessary to change the document's name so that you don't overwrite the original, as mSupply will recognise that changes have been made, and will save it as a new version (and keep the old version too). The file's version number will appear in the Version no column. The Show drop down list above that column allows all versions to be displayed, or only the latest one.

The Comments tab

This is used for adding comments from you or the supplier, things that need to be remembered or considered later.

Simply type the comments you want to save in the appropriate box. When you click the OK or OK & Next button the comments (and all other changes to the tender) will be saved.

To view comments saved on the quote, simply view this tab.

Previous: Reference Documents Next: Using Benchmark prices

2011/05/12 08:59 · Craig Drown

Reference documents

While managing a tender, several documents may be consulted - for example, the quotations received from bidding suppliers, quality assurance documents, or prequalification documents. These documents, provided they are in electronic form (or have been scanned into electronic form if they were supplied as paper copies), may be uploaded and conveniently stored so that they may be readily consulted.

To access this functionality, open a tender by choosing Supplier > Show Tenders… from the menus and double-click on the tender you want (or create a new one) to add reference documents to. Finally, click on the Reference documents tab:

Upload document button: Click on this to store a document in the tender. You will be shown a window allowing you to browse to the required document. Double-click on the document or click on it and click the Open button to add it to the tender (called “uploading” it). Once it has been successfully uploaded it will appear in the list of documents below the buttons.

Delete document button: Click on a document in the list to select it and click on this button to delete the file and remove it from the tender. You will be asked to confirm the deletion.

Download document button: This will allow you to save one of the files in the list to your computer (called “downloading” it) so that you can view or edit it. Click on the file you want to view or edit to select it in the list then click on the Download document button. You will be shown two options: click on Download to just save the file on your computer or Download and open to save the file on your computer and open it for viewing or editing. A window will open for you to select the location to save the file on your computer. Browse to the folder you want to save it in then either double-click on the folder or click on it to select it then click on the Open button. The file will be saved in the location you chose. If you selected the Download and open option the file will also be opened for you to view or edit.

If you want any edits you make to the document to be saved to the tender, when you have finished editing, you must upload the edited version to the tender using the Upload document button. Don't forget or your edits will only exist on your computer, not on the tender! It is not necessary to change the document's name so that you don't overwrite the original, as mSupply will recognise that changes have been made, and will save it as a new version (and keep the old version too). The file's version number will appear in the Version no column. The Show drop down list above that column allows all versions to be displayed, or only the latest one.

The ability of users to upload and download documents to and from tenders is covered by permissions. To set these permissions choose the File > Edit users… menu item, double-click on the desired user, and set their permissions on the Permissions(3) tab:

See Managing users if you need more detail.

Previous: Adding suppliers to a tender Next: Using benchmark prices

2011/05/12 09:00 · Craig Drown

Using benchmark prices

A benchmark price can be considered to be a standard price to which other prices can be compared once you are at the stage of evaluating quotations. mSupply provides the ability to set up benchmark prices to help you make such a comparison. This section describes how to set them up and how to use them.

The International Medical Products Price Guide, published and maintained by MSH, is available on their website (http://mshpriceguide.org/en/home/) and is a good source of information on medical products from a range of international distributors.

Setting up

You need to create a dummy supplier, that is to say a `virtual' supplier, whose only purpose is to store benchmark prices.

From the menu, or the Navigator, choose Supplier > New supplier

mSupply® requires that the Code, Charge to and Name fields are completed, so you should choose appropriate entries. In the Category section, the checkbox Supplier should already be checked, and you must check the Benchmark checkbox.

You may set up more than one benchmark `Supplier'

Entering benchmark prices

Once you have the required benchmark prices, they should be entered into mSupply, and here's how to do it:

Open the Edit supplier window for the Benchmark supplier and click on the Quotes tab

Click on the New Quote button to enter the benchmark figure for each item - in our example we're entering the details for Albendazole 400mg tablets:

Points to note:

  • If the figure you have is for a single tablet, we suggest you multiply it by 100 and change the pack size to 100 to avoid working with very small figures.
  • Make sure that the currency used for the entry is correct, remembering that it might be different from your default currency.
  • Make sure that your pack size matches the pack size of the benchmark figure.

Once a number of entries have been made, the window may appear like this:

You will note the difference for each item in the Price column and the Cost column; the explanation is that the default currency in this example is AUD (Australian dollars), while the benchmark figures are in US dollars; the Cost (and Adjusted cost) columns show the figures converted by mSupply to their AUD equivalents.

Using the benchmark figures when evaluating submitted quotations from suppliers is discussed here

Previous: Reference documents Next: Analysing supplier responses and creating purchase orders

2011/05/12 09:04 · Craig Drown

Analysing supplier responses & creating purchase orders


At this stage you should already have performed the following:

  1. Created a new tender
  2. Quantified how much you need to order and added these lines and quantities to the tender
  3. Decided which suppliers should be invited to tender, and added them to the tender
  4. Sent out the tender and invitation to take part to the suppliers you selected
  5. Entered responses to your tender (quotations) from suppliers

Having performed these steps, your tender should be set to confirmed status and you are ready to compare the prices quoted, and decide upon a preferred supplier for each item.

Benchmark supplier

Before analysing the various responses to your tender, you may wish to set one of the suppliers to be a benchmark (or maybe you had specifically added a dummy benchmark supplier to the tender and added benchmark prices in their quote). If you so this, mSupply will indicate how much higher or lower than the benchmark supplier's quote, all the other suppliers' quotes are. It can be a handy indicator to help the analysis process.

To set a benchmark supplier, open the tender (choose Suppler > Show Tenders… from the menus and double-click on the tender in the list) and on the Tender preferences tab, in the Benchmark supplier section select the desired benchmark supplier in the Benchmark supplier drop down list:

For more details on using benchmark price see Using benchmark prices.

Analysing the responses

Once you have the tender open (choose Suppler > Show Tenders… from the menus and double-click on the tender in the list), select the Items and compare prices tab:

Note that mSupply will remember any changes you make to the widths of the columns on this tab. This can be very useful if you want to minimise columns you are not interested in to make room for other, more important columns over several sessions to select the winning bids.

Then double-click the first item in the list, which in our example is Acetazolamide 250mg tablets, to bring up the Edit tender item window, which opens at the Compare supplier responses tab:

In our example, 5 suppliers have been invited to tender, and 4 have submitted tenders, one supplier having submitted prices for two different pack sizes. One supplier has not submitted a quotation, so all the entries for that supplier are zero.

The important column is the Adj Cost column, this allows you to compare prices which have been evened out to cater for differences in pack sizes, currencies and freight costs. mSupply makes it easy to identify the lowest price quoted because it appears in blue type. Clicking the Adj Cost column header will sort the entries so that the cheapest one appears at the top of the list.

If a benchmark supplier had been selected then the +/-% column would display what percentage above or below the benchmark supplier's quote that particular quote was. A negative value indicates that the quote is below the benchmark quote, a positive value that it is above. e.g. a figure of -2.78% would mean that the quote was 2.78% less than the benchmark quote.

If you want to highlight any particular line for any reason, you can change its colour by clicking on it in the list to select it then selecting the desired colour from the colour drop down list (currently showing “Black” in the screenshot) in the top right hand corner.

Note that if you want historical data of all previous stored quotes for an item, including those from previous tenders, this is available by choosing Items > Show items… from the menus, locating the item, then viewing the Quotes tab.

Before marking the supplier of the cheapest item as the preferred supplier, there are other factors to be considered, including:

  1. Has the supplier met all the tender conditions?
  2. Is the proposed delivery schedule acceptable?
  3. Is the product being supplied by a reputable manufacturer?

The Disqualified column allows you to disqualify the quotation from a particular supplier if required by checking the box in the relevant row.

If you want to see more information about a particular quote line, double-click its row to open the Edit quote line window to view all the details of the quotation (and edit it too - useful if you discover a data entry error, for example). You may want to fill out the Quote Comment to record any decisions you made e.g. reason for disqualification.

When you have decided on a supplier for an item, check the box in the Preferred column in the row for that supplier. Proceed to the next item by clicking the OK & next button and repeat the process. When you have finished, click the OK button to return to the Edit Tender window.

It is, of course, not necessary to complete the selection of preferred suppliers at one session on the computer; it can be done in stages. Actually, you don't have to select preferred suppliers for all items before you complete the tender; you may want to wait for more favourable market conditions before purchasing some items, for example.

Please also note that all changes to tender lines are logged by mSupply.

Here is an example of a tender that has been partially processed, looking at the Items and Compare prices tab:

Two of the lines have been changed to a green colour and the Show drop down list just above the list of items has been changed to “Not chosen” so that it displays all the items for which a preferred supplier needs ot be chosen - helpful for seeing what still has to be done!

If the Show drop down list is changed back to “All”, all items will be displayed in the list, with the name of the Preferred supplier column for each line shown in the Preferred Supplier column.

Back to the Items and compare prices tab

Once you have finished editing, click OK (or Cancel if you want to close the window without saving changes to the current tender line).

The column Preferred Supplier will now display either the name of the supplier you have chosen or Not chosen where you have not yet processed the item.

The Original column will display the cost of that line if you purchase the tender quantity of that item from the preferred supplier in the currency quoted (The Original Local column displays the cost in the local (default or home)currency you are using in mSupply). Note that you might end up editing the quantity on the purchase order to a different value, and then the PO local column will have a different value.

Back to the Choose Suppliers and Enter responses tab

Just before you create purchase orders for the winning suppliers you might like to see the value that each supplier has won. To do this, click on the Choose Suppliers and Enter responses tab and the total value that each supplier has won (i.e. the total value of all the lines where they were selected as the preferred supplier) will be shown in the Tender value column. The total amount that each supplier bid will be displayed in the Total bid column.


You might need to provide reports to a tender board, or for internal records. The tender module has several reports built in, accessed by clicking on the Print internal report button on the Items and compare prices tab of the tender details window. Clicking on the button displays this window with a drop down list of reports to choose from:

Winning tender lines: Shows all the items in the tender which have been allocated a preferred supplier and the costs of those lines. This is an example:

Supplier quotes for each item: Shows quotes from all suppliers for all items, grouped by item. Handy for a summary of all received quotes.

Tender lines with predicted cost: Can be used to give an approximate cost of the tender before choosing preferred suppliers for all items has been completed. Where items have not been allocated a preferred supplier, mSupply will use previous purchase costs as an estimate of what the cost will be in this tender.

Tender lines: lowest price not chosen: Shows all tender lines which have been chosen as the winning bod when their price was not the lowest. Summary detail shows how much more you will pay than choosing the cheapest lines.

Setting up Purchase Order (PO) preferences

Once the choice of preferred supplier has been made for all the items you want to purchase in the tender, the next stage is to generate the Purchase Orders.

Click on the Tender Preferences tab on the Edit Tender window:

mSupply offers two options for creating Purchase Orders:

  1. Recalculate PO quantity according to usage should be chosen if you wish mSupply to take into account the usage during the period since the tender was generated; this may be significant depending on the length of that period of time.
  2. Distribute Tender quantity evenly should be chosen if you wish to make no changes to the quantities calculated at the time the tender was generated.

For our example, we are choosing Distribute Tender Quantity evenly because we are content with the quantities which mSupply has calculated and we do not want to make any adjustments. In this case, the Based on field should be ignored.

Split deliveries

If you want to receive split deliveries, then mSupply will create multiple purchase orders for you, each with a different requested delivery date.

mSupply will behave differently when creating Purchase Orders depending on whether this option is checked or not.

Note that the creation of purchase orders from tenders will be logged by mSupply.

Creating Purchase Orders with split deliveries

  1. Go to the Purchase Orders tab
  2. If you have checked the “Split deliveries” checkbox in the preferences for this tender, the first button on the toolbar will be Create blank POs.

You will need to confirm that this is what you want to do by clicking the Yes button on the confirmation window which appears:

You are then shown a list of suppliers:

Click on the supplier(s) you want to add, and enter the requested delivery date, then click OK.

You will need to add each supplier twice if there are to be 2 deliveries, or 3 times for 3 deliveries (etc) Make sure you get the delivery date right for each one.

You can double-click an already entered line to change the delivery date.

Use the Delete PO button to remove a purchase order (highlight to one(s) to delete before clicking the button).

Creating Purchase Orders without split deliveries (single delivery)

If you aren't creating split deliveries, the first button will be labelled Create PO

  1. Click this button, and the needed Purchase orders will be created.
  2. Double-click a row to see the order.
  3. Return to the “Suppliers” tab if you want to see the value of the purchase orders in total.

Viewing tender purchase orders

When you have created purchase orders in a tender you can view them at any time by clicking on the Purchase order tab which will look like this:

To see the details of the items on any of the purchase orders in the list, simply double-click on the purchase order's line in the table and you will be shown the details in a window which looks like this:

Editing Purchase Order Quantities

Once you have created Purchase orders you might want to edit some quantities (for example, you might want the first of two purchase orders for a supplier to have 60% of the total order, and the second purchase order only 40%)

  1. Go to the “items and compare prices” tab
  2. Double-click a line to edit
  3. Go to the Purchase Order tab.
  4. You will see your purchase orders for that item.
  5. To edit the first row, click once on the quantity, wait 2 seconds and click again.
  6. You can now change the quantity.
  7. Use the tab key to advance to edit the quantity of the second row, etc.

Converting to a "normal" purchase order

While a purchase order is being created and edited inside the tender module, it has the status of “tn” and isn't visible in the same way that purchase orders created outside the tender module are. Purchase orders that are visible in the main mSupply system have a status of “sg” (or “cn” or “fn”). Once you are satisfied with your purchase order in the tender module do this:

  1. Go to the purchase orders tab
  2. Click on a purchase order to convert (only one at a time at the moment, sorry)
  3. Click Convert to SG
  4. Confirm the warning window, and the purchase order will now:
    1. no longer be editable in the tender module
    2. be available using Suppliers > Show Purchase orders from the mSupply menu or navigator.
  5. Repeat the process with other purchase orders that are ready to send to a supplier.

You can now view the purchase order, confirm it, and send to a supplier - see Purchasing: Ordering from Suppliers: Viewing a purchase order.

Finalising a tender

This should be done when all processing of the tender is complete and the purchase orders have been created and sent to the suppliers. The tender will not be editable after this so PLEASE make sure you are sure that all processing is complete!

When you finalise a tender you will be warned if there are no Purchase orders associated with it because you won't be able to create them later!

Previous: Using benchmark prices Next: Supplier instructions for using the tender submission web interface

2011/06/06 05:51 · Craig Drown

Supplier instructions for using the tender submission web interface


This user guide explains how to use the web site at https://tenders.msupply.org.nz that is used by mSupply users to publish tenders. It is only relevant if you are a supplier who is being invited to tender by a user of this system. If you have been invited to tender and have questions that are not answered in this document, you may request support by emailing tender_support@msupply.org.nz.

  • Save the login credentials. The login credential for the website does not change. Once received, it is the responsibility of the supplier to securely save or note down the login credential for future tender participation.
  • Don't wait until the last minute. Many suppliers have left the entry of tender till the last moment, not followed instructions correctly, and bombarded Sustainable Solutions with support requests during the last 24 hours of the tender closing. Please do not do this.
    • Please carry out a dummy run of entering lines and saving. You can change your entries later before finalising the tender. This will allow you learn how the system works without the pressure of a submission deadline.
    • If you choose to populate the tender with an uploaded file, that too should be tried out in advance and not left till the last moment. The instruction must be followed carefully. For example, importing an Excel file directly will not work. The file must be a Windows tab-delimited text file - refer Uploading prices.

How it works - a summary

  1. The Client prepares tender document and distributes by email to suppliers.
  2. Each Supplier receives details, including a username and password, for accessing the secure website where the tender is to be found.
  3. The password provided is valid only for the first time the website is accessed, so the supplier’s first action will be to change it.
  4. During the period between receiving the tender document and the tender’s deadline, the supplier decides on the quotations to be submitted, and enters the details on line. This may be done over multiple sessions.
  5. Before the deadline, the supplier finalises the quotation; this action is not reversible and prevents any further changes being made. The status is changed from SG (suggested) to FN (finalised).
  6. Once the deadline is passed, the client may access all quotations which have been finalised, evaluate them, and notify successful suppliers.

How it benefits suppliers

  • Accuracy: you can be confident that the information entered by you will be accurately transferred. Manual systems are prone to transcription errors in the price, pack size, currency, etc.
  • Speed: while the tender process may be slightly slower for the supplier, the time between tender closing and bid evaluation is dropped from weeks to one or two days. This means tender closing dates can be moved closer to the date on which suppliers are notified of winning bids, benefiting all involved.


  • There is no charge to suppliers to use the system. Development and maintenance costs are covered by software support contracts with mSupply users.
  • If you pester us with frivolous support requests (i.e. things that are answered in this document), this policy will be reviewed.

Charges to suppliers

Due to a steady stream of requests for help for issues that are covered in this guide, or issues that are not our fault (e.g. password reset requests and requests for help with uploading bids where the instructions for formatting the file to be uploaded have not been followed), we will charge for support requests if it relates to such issues.


  • We take the security of this module seriously.
  • Only https (secure) website access is allowed: observe the closed padlock icon in the corner of your browser. This means that no-one can read the interactions between you and the tender server.
  • Automatic disconnection: should there be no activity after a short time, you are required to confirm that you are still working on the website. In the absence of such confirmation you are disconnected and the login screen reappears.
  • One-time password: the password provided for the first time you access the website is valid only for that first occasion. You must change it to a password of your own choosing for continued access to the website.
  • The server running the Tender Management System is managed by Sustainable Solutions and is accessible by us alone. We know this system will only be successful if we maintain the highest standards of ethical, impartial behaviour and keep your data secure and accessible only to authorised parties.
  • Restricted access by IP address: if you wish to limit access to your online account to users within your office, let us know an IP address or subnet that you will use and we will put this restriction in place until you instruct us to remove it.
  • We track the IP address of all log on attempts. Repeated attempts from the same IP address will be blocked.
  • We have coded the software carefully to ensure that supplier information entered is only available to that supplier and to the customer (obviously once the customer downloads the submitted bids, we can not control the information flows outside of our system).
  • All emails sent by the tender module are sent by SSL (Secure Socket Layer) for added security.

First logon

Log on to https://tenders.msupply.org.nz and this is the window which appears when you log on

You should enter your supplier code and password, both of which were sent to you by email.

You will immediately be shown the window for changing your password:

In the Old Password field you should enter the password sent to you by email. You must then enter a password of your own in the New Password field, re-entering it in the Confirm Password field; when you have done this, and clicked on OK, the standard log on window appears again, and you should enter your user name and the password which you have just created. You will now be logged on to the system, and these are the details you will use for logging on in future..

Note that the web site uses a large Javascript library, so will take a few moments to load the first time you use it. In return you get a fast and easy-to-use interface.

If you have chosen to do so in the preferences, each time you log in, you will be sent an email saying that you logged in to the web interface - this means if someone else was to log in to your account, you would know about it.

Staying logged on

If no user activity is detected for a few minutes, as a precautionary measure to restrict unauthorised access, a window appears. You need to click Keep Working, otherwise you will be logged out.

Once you have logged on, you will be shown a list of tenders for which you have been invited to submit quotations.

The example shows that 4 tender documents from client Namaste Medical Stores, have been uploaded and await the supplier’s attention.

The My Information button

Clicking the My Information button displays this window:

The above window may not display properly using the Google Chrome web-browser. If this is the case, then please use Firefox.

This is where the supplier’s details held on the server are entered and stored, and this is also where they can be edited. Those details include name, address, contact details, and the default currency for this supplier.

Default currency The default currency is that currency in which the you normally supply quotations - in the example shown, it is Singapore dollars, and this will normally remain unchanged for a particular supplier; suppliers located in another country are likely to use their own country’s currency as their default one.. In the case where a supplier submits a quotation with one or more lines quoted in another currency - e.g. Euros or US dollars - the particular currency used is entered on the appropriate line of the quotation Note that changing your default currency will affect new quotations, and won’t have any affect on existing quotations.

Inactivity time This is the length of time in minutes after which you will be logged out if there is no activity. 10 minutes is the default but you can choose from between 1 and 60 minutes.

Email me manufacturer list As the name suggests, this will email a tab-delimited text file with the complete list of manufacturer names and their corresponding codes to the email address specified. If you want to take advantage of the new facility to upload a quotation as a tab-delimited text file, you will need to use the manufacturer codes specified in this list.

Saving your settings and closing the window Click the OK to update button to save your settings. Click on the close box in the top right of the window to close it when you are finished.

Viewing the tender list and individual tenders

The window which appears when you log on is the Current Tender List, and it shows all of the tenders for which the supplier has been invited to submit a quotation; it also shows the status of the tender, which is set to SG (= suggested), and should remain at this status until all work has been completed, and the quotation is ready to be finalised. Access to a particular tender document is achieved by double clicking on the line. The tender and the items involved in it are then displayed in a window which looks similar to the following:

Description: This is the description or title of the tender. Use this whenever you refer to the tender so that everyone knows you're talking about the same one!

Customer: This is the name of the organisation who created and published the tender and then invited you to respond to it.

Currencies drop down list and Set currencies icon: This sets the default currency for your quote. Use the set currencies icon to change the currency for all items currently entered. If you struggle to find the correct currency, type the first letter of the one you want and you will be taken to the first currency beginning with that letter. The list is in alphabetical order so it should make it easier to find.

Show button: displays the whole of the customer's comment if they've entered one. May contain useful information for you.

Edit button: Displays a window to enable you to enter or edit a longer tender comment for the customer (the one who invited you to tender). Any information you want to convey to the customer about your quotes can be put in here. Note: you also have the opportunity to enter comments on individual quote lines. See Entering prices section below.

Duplicate button: Duplicates a selected quote line. Will put the new quote line at the top of the quote. Helpful if you want to enter a quote for the same item but with slightly different details. If you need to do this for many items, use the Upload button mentioned below.

Show totals button: Shows the total value of your quote for each currency you've included in your quote.

Reset lines button: Removes any changes you have made to the selected quote lines.

Email me this quote button: Sends you a copy of your quote as it currently stands. It will be sent to you a tab-delimited text file attachment to an email.

Email me a quote template button: Sends you a copy of the tender with all items included with no price or other information added. This is the perfect thing to use as a base for your quote if you are going to create it in a spreadsheet and upload it using the upload button (see below).

Browse button: Allows you to select the tab-delimited text file to upload as your quote.

Upload button: Uploads the selected text file as your quote (see the Uploading prices section below).

Entering prices

To enter the details for a line, double click on the line.

Details should be entered in each of the columns:

Item code, name and quantity These are fixed by the tender and cannot be changed.

Pack size The pack size requested by the customer is already on the form; if needed, it can be changed.

Price per pack The unit price of the pack you are offering to supply in the chosen currency.

Expiry date and delivery time When completing these fields, it is suggested that a series of abbreviations be used:

  • min = minimum
  • max = maximum
  • w = week
  • m = month
  • y = year
  • So for example, if you want to indicate a delivery time of 3 months, enter “3m”

Delivery times should be specified from when you receive the purchase order, so must also include the time for order compilation by the supplier

The tender document is likely to specify minimum expiry dates, but it is important that there should be no misunderstandings. Delivery time is understood to mean the estimated period of time between the consignment leaving the supplier’s premises and delivery to the customer.

Currency: The relevant currency should be selected from the drop down list - it doesn't have to be the same as the default currency. If you're struggling to find the right currency from the list, type the first one or 2 letters of the currency you want - should make it easier to find.

Manufacturer: The name of the manufacturer should be chosen from the drop-down list. Typing the first few characters of the manufacturer's name will show a list of matching manufacturers. Click to select one.

Manufacturers are not linked to suppliers in our system, so multiple suppliers who source goods from the one manufacturer do not cause a problem.

Problems saving entered data ? : Simply entering price and saving is not sufficient. The website will not save the row of data. The Manufacturer column must also be filled with a valid manufacture. If you choose to not to specify a manufacture then simply choose : “Not Specified” as the options.

Adding new manufacturers into the tender module

Due to the desire of mSupply users to collate manufacturer data, you cannot enter manufacturer names yourself. If you want to have a manufacturer added to the list, please email to tender_support@msupply.org.nz and we will add the name(s) within 24 hours.

Please submit Manufacturers in the following manner:

The country where the manufacturer is based must be specified. The address column is optional.

If you have more than 5 manufacturers to add then it may be worth creating and a spreadsheet with the column headings described below, then sending to us as an attachment:

Manufacturer Country Address (optional)
John Western Pharmaceutical US 32 Obama Road, Virginia
Jürgen Klinsmann Group Germany Göppingen, West Germany
Universal Supplies Great Britain

If you do not want to or cannot specify the manufacturer, choose the entry 'Not specified' from the list. You may wish to add a comment to that quote line to explain your entry.

Country of Origin: Some tenders require you to specify country of origin instead of manufacturer. Common countries are specified in the Manufacturer list, so you can just choose a country rather than a specific manufacturer if you wish.

Comment: Use this column for entering any comment or note you may wish.

Once you have made all the entries for a row, click Save to update the tender document with the details you have entered. It is quite possible that you will not have all the necessary information to complete a tender document at a single session; this is not a problem - just close the document at the stage you have reached and later, once you have the further information you require, reopen the document and continue with the process.

Submitting multiple quotations for the one item If you wish to do this, then select the line you wish to submit a second (or third) price for and click the 'Duplicate' button in the toolbar. Fill in the details of the second quotation.

Tender conditions Some tenders may have more restrictive conditions than the web site allows for. For example, a tender may specify only one currency, or that multiple quotations for the same item are not allowed. Currently the web site will NOT reflect such conditions, and it is your job to read the tender conditions and respond accordingly.

Uploading prices

This facility allows you to upload a specially formatted tab-delimited text file containing a header line and one or more item lines for your quotation.

Preparing the quotation file

The file should be in plain text format, having the following 10 columns, each separated by a tab, and without using any kind of quote characters as a text delimiter around individual fields:

  • Item code
  • Item name
  • Quantity
  • Pack size
  • Currency (in 3 letter international code format: e.g. AUD USD EUR )
  • Price per pack
  • Expiry date
  • Delivery time
  • Manufacturer code (as per the manufacturer code list you can download from the “My info” button when logged in)
  • Comments

This is very similar to the file format you will get if you select the 'Email me this quote' button on the tender items window, but with the manufacturer name replaced by the manufacturer code (less likely to make mistakes as the code is shorter). You can download a manufacturer list from the 'My information' page (see the 'My Information button' section above). Note that the Item Name and Quantity columns are only included for the sake of human readability, and will be ignored.

If you wish, you can download a suitable template for uploading by clicking the 'Email me a quote template' button on the top-right of the tender items window. This will have the first four columns pre-filled for your convenience and is the best way to start if you intend to upload your quotes.

  • If opening using Excel, save it in Text (Tab delimited) format before uploading (select File > Save as… then select “Tab delimited text (.txt)” in the Format drop down list. This is true for Excel 2011, it might be slightly different if you're using a different version). Please note that Excel on Apple MAC's may not create the Text (Tab delimited) format file that will comply with the website. Please use Excel on a windows PC, unless if you are fairly IT literate.
  • If opening this template using OpenOffice, saving it as tab delimited text is done in a slightly different way:
    • Select File > Save as… from the menus
    • In the File type: drop down list select the “Text CSV (.csv)” option and click on the Save button
    • In the Export Text File window that opens, select “{Tab}” in the Field delimiter drop down list and delete the double quote marks in the Text delimiter drop down list so it looks like this:
    • Click on the OK button and you're done
  • The header line, with the column titles, is included for the sake of human readability, but will be ignored during import. But make sure the header row is there, otherwise your first quote line will be ignored.

Please note that:

  • The text file must be in tab-delimited format (not comma separated)
  • The end-of-line character is a carriage return- you must not have any carriage returns (end of lines) in the comment or manufacturer fields of a row, or the upload will fail, thinking it has reached the end of a row.
  • The decimal point separator must be a period (“.”) not a comma.
  • The currency should be entered using standard 3 letter currencies as per https://www.iban.com/currency-codes.html (3rd column)
  • the upload process will ignore the first line of the file. This line is reserved for the column headings so that the text file remains human-readable. So, whether you use the template sent to you via email or whether you manually create an upload file make sure the first line of the file contains column titles and not quote information.

Uploading the quotation file

First of all, you need to select the file that you wish to upload by using the Browse button on the far right of the tender items window. The selected filename will then be visible in the text field to its left. Then click on the Upload button and you will be presented with the following window:

Update existing quote lines: Select this if you want the contents of the file to update quote lines already in the tender. Note that information will only be updated for items in the tender where the current price for the line is 0. If a line in the tender has a non-zero price any line in the file with details for that item will be ignored. So, if you want item lines to be updated by the contents of the file reset their prices to 0 before you carry out the upload. Note also that if there is more than one matching zero-price tender item line with the same item code, then it will select the first match it comes to i.e. the system will cope with multiple quote lines for the same item. Therefore, if you want to upload multiple lines for an item, you need to duplicate that line in the tender first (using the Duplicate button on the toolbar) before uploading the file.

Replace existing quote lines: Select this if you want the contents of the file to replace everything already in the tender. All your existing lines will be deleted from the tender and the contents of the upload file will be entered into the tender. Note that if there are multiple lines in your upload file with the same item code this method will put them all into the tender. This is helpful if you keep your text file as a master copy and use it to update your quotes. And also means that you can easily input multiple quotes for the same item (with different pack sizes or manufacturers, for instance - but mSupply won't check so the multiple lines could be identical if you wish).

Click on the Cancel button to cancel the upload or the OK button to continue.

Having clicked on the OK button you will, after a short while, get a confirmation that the upload was successful and the list of displayed tender items will be updated to reflect the data that has just been uploaded.

Please note the following points regarding the file upload process:

  • Only text files (extension of '.txt' or '.csv') smaller than 1Mb are accepted.
  • Currently, the only web browsers which fully support file upload are Firefox and Chrome. The next versions of Internet Explorer, Safari and Opera are also planned to include support for this new HTML5 feature.
  • A successful upload message does NOT imply that the contents of the file are valid, simply that it has been processed. An email will be sent to your email address, with two attachments:
    • A text file which contains the output generated from the upload process i.e. the number of records which were successfully processed, and any error messages generated during the upload process.
    • A tab-delimited text file in the same format as produced by the 'Email me this quote' button, which will include the updated tender items - you should check that this reflects the changes you are expecting.
  • Any blank lines in the uploaded file will be ignored.
  • Any lines which do not contain the expected number of columns, or with data in the wrong format will generate an error message and will not be imported.
  • Any lines with an invalid item code or an invalid currency code will generate an error message and will not be imported. We use the standard 3-character currency codes - see here for a complete list.
  • Any lines with an invalid manufacturer code will still be imported but will be given a manufacturer of 'Not specified'.

Note also that it is possible to perform as many file uploads as you like.

Finalising a tender

  • Firstly, be warned: Finalising means exactly that. It can not be undone.
  • Only when you are satisfied that you have completed the details on all the lines for which you are quoting should you finalise your tender entry.

Email it to yourself first

We strongly recommend you use the button in the tender window to email yourself the tender, and then check that the entries in the online tender module match your intended entries.

To email a quotation to yourself, open the tender your wish to email, and then click the “Email it to me” button at the top-right of the window.

What finalising does

Clicking on Finalise does two things:

  1. It locks the tender document, changing its status to FN (finalised) and you can make no further changes to it.
  2. It makes the finalised tender submission accessible to the customer once the tender has closed. Only finalised quotations will be accepted by the customer.

Finalising the tender submission, therefore, must be performed before the closing date as specified by the customer.

How to Finalise

  1. You need to be viewing the list of tenders, not the particular tender you have just entered.
    1. If you are not logged in: Log in and you will be shown the list
    2. If you are editing your tender, close it to return to the list of tenders.
  2. Check the checkbox in the left-hand column next to the tender you have completed
  3. Click on the Finalise button.
  4. You're done

Closing date and time

Note that closing date and time is specified as GMT (Greenwich Mean Time). This is NOT likely to be the same as your local time. Please take this into account when planning for when you will finalise your prices.

Results notification

The client will notify successful suppliers directly by submission of a purchase order. The web site will not show you any information about you or any other supplier’s success or otherwise

Obtaining support

Please email tender_support@msupply.org.nz if you have any problems. We are based in Nepal, but provide support 18 hours per day Monday to Friday while there are open tenders in the system.

Note that you should only communicate with us regarding technical matters. For all matters relating to tender conditions, pricing, etc., communicate directly with the client who published the tender.

The future

  • We hope you appreciate both the concept and the hard work we’ve put into making this system work for both clients and suppliers.
  • The system is used by several mSupply users, and is being taken up by more each year.
  • We have lots of our own ideas on how to improve the system, and we’d love to hear your criticisms, compliments or ideas as well. Use the email address above.


There is none. Our software is provided “as is”. We take the responsibility to act fairly and carefully very seriously. We are replacing manual systems that are prone to gross errors, so even when our system experiences the odd (very rare) issue, it remains a vast improvement on what has gone before.

Infrequently asked questions

  • Q: What if your server failed just before a tender closed.
    • A: Our advice is: This isn’t an auction. There is no need to submit at the last minute. However, if there was more than a few minutes of downtime in the last 24 hours of a tender, we would ask the customer's permission to extend the closing date. Also, our server has been running for several months. Should the tender module prove popular we will transfer it to a data centre.
  • Q: Can we phone you for support.
    • A: Yes. But, if your question relates to issues that are explained in this document, we reserve the right to charge you for our time. (This includes the resetting of passwords which we have supplied in the past).
      • Nepal: +977 1 5548021
      • New Zealand: +64 22 519 0499


Thanks to the staff of Republic of Kiribati’s Ministry of Health & Medical Services Pharmacy Department who pioneered the use of this feature! :-)

Previous: Analysing supplier responses &amp; creating purchase orders Next: Uploading and Downloading Web Tenders

2011/10/17 09:15 · Craig Drown

Using web tenders

A web tender is one that is uploaded to our remote tender server and is made accessible to suppliers to enter their responses. This greatly reduces the load on you to input all the responses from all suppliers and means there will be far less data entry errors.


To use web tenders, there are several setup steps that only need to be done once:

  1. Contact Sustainable Solutions to arrange a user account. We'll send you your account details.
  2. In File > Preferences…, on the Tender tab, enter the account details Sustainable Solutions sent you. See General preferences, Tenders section for details.
  3. Link each of your suppliers with the Supplier's master record on the tender web site. For further information see Adding and editing names, Master ID and Master name fields.
  4. Tell Sustainable Solutions about any of your suppliers that are not in the tender web site list. We will then add them, and you can link the remaining suppliers.

The process

The following steps describe the whole remote tender process:

  1. Carry out the setup steps given above.
  2. In mSupply, create a new tender.
  3. Set up tender name, reference number, opening and closing date.
  4. Add items to the tender. Make sure you add a quantity and pack size for each item.
  5. Go to the Synchronise tab on the tender details window and click on the Upload tender to web site button to upload the tender to the tender server. You will be given an error message if the upload is not successful. If you get stuck, contact Sustainable Solutions for further assistance. For a tender to upload successfully:
    • Each supplier must be linked. You will be warned if they aren't.
    • Your internet connection must be working.
    • You must have entered the user name and password correctly in the mSupply preferences Tender preferences (see above).
  6. Inform suppliers by sending physical or electronic tender documents (both can come from mSupply) and send them a link to the Supplier instructions for using the tender submission web interface
  7. The suppliers enter their bids into their part of the remote tender server web site.
  8. After the tender has closed, download the tender by going to the Synchronise tab on the tender details window and clicking on the Download tender from web site button. You will be given an error message if the download is not successful. If you get stuck, contact Sustainable Solutions for further assistance. For a tender to download successfully:
    • Your internet connection must be working.
    • The tender closing date must have passed.
  9. Compare prices and print appropriate reports for the tender committee or others.
  10. Award each item to a supplier.
  11. Create purchase orders.
  12. Send the purchase orders to the suppliers.
  13. Sit back, relax and give yourself a pat on the back. Nice going.

Uploading the tender is final…

mSupply records when a tender has been uploaded, and will no longer allow the editing or deletion of tender lines on that tender. So make sure your tender is correct and complete before you upload it!

Previous: Supplier instructions for using the tender submission web interface Next: Ordering Items From Suppliers

2011/12/08 02:23 · Craig Drown

Ordering items from suppliers

Introduction to Ordering

mSupply provides ways for you to generate a Purchase Order with manually or automatically calculated quantities. Each organisation tends to have different requirements for their ordering process, so we have tried to strike a balance between providing different methods and making the ordering module so complex that it is of little use to anyone. mSupply has two general methods for generating a purchase order:

However you create a purchase order, the purchase order window looks like this:

There is some read-only information at the top of the window which cannot be edited:

  • Order num: This is the purchase order's number. It is automatically generated and increments by 1 for each new purchase order. It is unique within a store only so it is possible for purchase orders in different stores to have the same number.
  • Confirm date: The date the purchase order was confirmed. If it has not been confirmed yet, this will be “00/00/00”.
  • Status: The current status of the purchase order - refer Purchase order status explained below.
  • Store: The name of the store the purchase order belongs to.

Creating a new (calculated) Purchase Order

Before launching into creating a new (calculated) Purchase Order, it is important to understand the logic that mSupply uses.

Logic used for calculating Purchase Order quantities

There are three distinct steps required to arrive at Purchase Order quantities for each line of stock:

mSupply uses this methodology to produce a suggested order quantities in a number of other places including:

To assist in understanding these calculations, an example will be developed through the following sections. Amoxycillin 250mg tabs/caps is being ordered at the end of December 2015. Historical consumption data is as follows:

Month 2013 2014 2015
Jan 200 1,000 1,000
Feb 250 1,050 1,100
Mar 300 950 900
Apr 350 1,000 1,000
May 400 1,200 1,400
Jun 450 800 600
Jul 500 1,000 1,000
Aug 550 1,150 1,300
Sep 600 850 700
Oct 650 1,000 1,000
Nov 700 1,100 1,200
Dec 750 900 800

From this data, the following AMC (Average Monthly Consumption) calculations can be made.

Period AMC
Last 36 months (Jan 2013 - Dec 2015) 825
Last 24 months (Jan 2014 - Dec 2015) 1,000
Last 12 months (Jan 2015 - Dec 2015) 1,000
Last 6 months (Jul 2015 - Dec 2015) 1,000

A more detailed analysis of this historic consumption shows a steady increase through 2013, and then the AMC sits at 1,000 per month in 2014 and 2015. In this case, we have an AMC of 1,000 per month regardless of whether we look at 6, 12 or 24 months of historic consumption data.

Forecast future consumption

By default, mSupply uses the assumption that future consumption will continue at the same level as consumption over a given historic period. mSupply has a number of other options for making a forecast of future consumption. All of these methods are documented in the Forecasting section .

Calculate required stock quantity

mSupply does not use set “minimum” & “maximum” stock levels as its primary means of determining order quantities. Conventional minimum and maximum stock levels are calculated using the methods described here, but it is problematic to try and fix these values, because:

  • The parameters will keep on changing,
  • It takes a lot of manual work to calculate,
  • The assumptions made in calculating them are often lost.

Be assured that the system that mSupply uses will give you much better inventory control!

Having said that, mSupply does allow for minimum stock levels so as to allow you to ensure a minimum quantity of rarely used items. e.g. essential emergency supplies - refer Other information on the stock details page. These minimum stock levels should not be used for most items.

The amount of stock you require to have is based on the forecast of future consumption (previous section), modified by a range of factors including:

  • The Lead time: The time delay between carrying out the quantification analysis and when the stock is delivered to the store.
  • The Ordering cycle: How often you order from this supplier
  • How many months of “buffer” stock you want on hand just before your next order arrives.

All of these are measured in months.

Some agencies recommend the buffer stock to be double the Ordering cycle. However, if your ordering cycle is long (say 12 months) then this means keeping two years worth of stock as a buffer. This could become a problem with expiry dates.

Stock required = Lead time + Ordering cycle + (months of) buffer stock

For example:

  • Lead time = 3 months
  • Ordering cycle = 6 months
  • Buffer stock = 12 months

From the equation above, Stock required is calculated as:

  • = Lead time + Ordering cycle + buffer stock
  • = 3 + 6 + 12
  • = 21 months.

So, 21 months worth of stock is required.

The amount of stock required is almost certainly NOT the amount of stock to be purchased! See the next section: Calculate purchase order quantity for an explanation.

Calculate purchase order quantity

Purchase Order quantities are based on the amount of stock required, normally expressed as a number of months of AMC, modified by factors including:

  • The current stock level.
  • The amount of stock on backorder to customers ((if you are running the backorder feature).
  • The amount of stock already on order from Suppliers, but that has not yet arrived in your store.
  • The months of anticipated stock-out before the order arrives (more on this below).

Purchase order quantity = stock required - current stock level + stock on backorder to customers - stock on order from suppliers - months of anticipated stock-out

mSupply makes an important assumption as to how to handle anticipated stock-out. That is, the situation of running out of stock before the order arrives. mSupply assumes that the consumption that you forecast to happen between you running out of stock, and the purchase order stock arriving should not be provided under this purchase order. The basis for this are two further assumptions:

  • You will either obtain the shortfall through another purchase order (an emergency order, or from another supplier), or you will simply run out of stock.
  • Your customers will not increase their demand in the time immediately after you receive the stock from this purchase order to compensate for the stock being unavailable prior to the new order arriving.

Therefore, mSupply reduces the purchase order quantity by the anticipated stock-out amount.

It can be seen that

  • Anticipated Stockout = the Lead time - Current stock level + stock on backorder to customers - stock on backorder from suppliers

If the above equation produces a negative number, this means that there will be no stock-out, and the anticipated stock-out will have no impact on the Purchase order quantity. So, for the purposes of this mSupply calculation, Anticipated Stockout = maximum of zero and the above expression. This is expressed mathematically as:

Anticipated Stockout = max(0,Lead time - Current stock level + stock on backorder to customers - stock on backorder from suppliers)

Continuing our worked example, suppose:

  • Current stock levels = 5 months
  • Stock on backorder to customers = 3 months
  • Stock already on order from Suppliers = 2 months

Then, Anticipated stock-out is calculated as:

  • = max(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers)
  • = max(0,3-5+3-2)
  • = max(0,-1)
  • = 0

and Purchase order quantity is calculated as:

  • = stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - months of anticipated stock-out
  • = 21-5+3-2-0
  • = 17

So 17 months worth of stock to be ordered. Compare this with the 21 months worth of stock required calculated in the previous section!

To demonstrate the impact of a stock-out, let us suppose that we have only 1 month's worth of stock on hand:

  • Current stock levels = 1 month
  • Stock on backorder to customers = 3 months
  • Stock already on order from Suppliers = 2 months

Then, Anticipated stock-out is calculated as:

  • = max(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers)
  • = max(0,3-1+3-2)
  • = max(0,3)
  • = 3

and Purchase order quantity is calculated as:

  • = stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - months of anticipated stock-out
  • = 21-5+3-2-3
  • = 14

So, due to the 3 month anticipated stock-out, only 14 months worth of stock are to be ordered.

To Create a Purchase Order

Choose Supplier > New Purchase Order.

In most instances the following window will be displayed:

This window allows for a number of factors to be entered.

Types of order available from the popup menu

Firstly, you have the opportunity to select the order types:

Order for all suppliers.
  • All items in the database will be evaluated to see if they need ordering. This is the default option
  • If you have a large number of items, this may take a few minutes.
  • By default, a single order will be generated. You have the option to generate a separate order for each supplier by checking the Separate order for each supplier box. In this case, mSupply will
    • For each item, look to see whether a supplier has been identified as preferred on a current quote
    • Create a separate order for each supplier.
    • Items without a preferred quotation will all be placed together in a single order.
Order for some items only

  • Either click on the Query items box, to bring up the Query Editor window, and enter the required parameters, or select one or more criteria by placing check marks as appropriate in the three boxes; use of the Query Editor is described in detail in the Reports chapter. See using_the_query_search_modifier
Order for one supplier
  • This method is the best method to use for ordering from a particular supplier (you might have guessed that!)
  • Enter the supplier code, and press the tab key. The supplier name will be filled in, or you will be given a list to choose from.
  • Any items that have a quotation from that supplier that is marked as “preferred” will be evaluated to see if they need reordering.

Calculate Forecast

Secondly, the forecast of future consumption will be calculated in accordance with each item's settings as documented in the Forecasting section. The only forecasting factor that can be adjusted here is the number of months of historical consumption data that will be used to calculated historical AMC.

  • The bigger the number you enter here, the more accurate mSupply is likely to be, provided that consumption has been reasonably stable over that period. Entering a large number will slow down the calculation.
  • Also, beware of extending this time period to a time in the past when data is inaccurate or non-existent. This will be detrimental to the quality of the forecast.

From our worked example above, consumption has been stable at 1,000 per month for the last two years (2014 and 2015), but was significantly lower in 2013. Putting 36 months would result in a lower AMC than has been the case for 2014 and 2015.

The number of months of historical consumption data to be used to calculated historical AMC will be ignored for those items that are configured not to use AMC in the forecast - refer Forecasting.

Calculate quantity required

The quantity of stock required can be entered directly into the Months of stock required field. However, as demonstrated in the Calculate Purchase Order quantities section above, a more reliable way of getting to this figure is to use the Lead time, order cycle and buffer stock parameters. Clicking on the Calculate button brings up a window allowing you to enter these values, from which mSupply will calculate the quantity required.

Using the same figures as in our worked example above:

  • Orders take three months to arrive from your supplier - (Lead time = 3 months)
  • You order every six months. (Ordering cycle = 6 months)
  • We want a buffer stock of at least 12 months when a Purchase Order arrives.
  • The Lead time figure will generate an Expected delivery date, and the Lead time / Expected delivery date can have a significant impact on actual Purchase order quantities - refer Calculating Purchase order quantity above.
  • BEWARE of manually entering in a date that is unrealistically far into the future - this will REDUCE the quantity ordered!

Other settings in the create order window


Add a comment (note) to the order should you so wish.

Exclude transfers from usage calculations

This option is only applicable if you are running multiple (virtual) stores. If you have more than one store, this option controls whether inter-store transfers are taken into account when calculating historic consumption. The default setting is not to exclude transfers. That is, stock transfers will be included in the calculation.

Include usage for build ingredients

Selecting this option ensures that any items that were used in builds (i.e. manufactured items) will be taken into account when calculating historic consumption.

Builds can be entered with placeholder lines to reflect a projected manufacturing schedule. If the Include usage for build ingredients check box in the “new order” window is checked, the proposed order quantity for each item will be adjusted by the amount of the item that is required for all projected builds, multiplied by the “times covered” value you have entered.

Using our worked example:

  • Let us say that we wish to 'build' a kit which includes 100 x Amoxycillin 250mg tabs/caps.
  • We have a projected build for 200 of these kits.
  • This will consume 20,000 Amoxycillin 250mg tabs/caps.
  • We enter 1.5 in the times covered box
  • Then the additional quantity of Amoxycillin 250mg tabs/caps that will be added to the order will be:
    • = 100x200x1.5
    • = 30,000 tabs/caps
  • In our worked example, ignoring projected builds, 14 months usage was to be ordered.
  • The AMC is 1,000 per month.
  • Without taking into account projected builds, this would result in an order of 14,000 tabs/caps.
  • When we add the usage of the projected builds, the amount to be ordered will be:
    • =14,000+30,000
    • =44,000 tabs/caps
Include items with suggested zero order quantity

If mSupply calculates that any of the lines from the supplier are not required, when this box is checked such lines will appear on the Purchase Order, the order quantity being 0.

Create Order Now button

Once you have entered the details, click the Create order button. Order generation may take a couple of minutes, depending on how many items need to be evaluated. You will then be presented with the following Alert box:

Clicking on OK will close the Alert box and return you to the Navigator.

Creating a blank Purchase Order

Choose Supplier > New blank Purchase Order . You are presented with a blank order form, to which you can add items. This form only allows the choice of one supplier.

The name field is where you choose the supplier you are ordering from.

If it has been set in Preferences, the Donor field will appear, and the donor details may be entered here. Setting this preference is described in supplier_invoices.

The Reference field allows you to enter any relevant information.

In the top right hand corner, there is a box where you may select a particular colour from a range of colours - in the window shown below, blue has been selected.

The purpose of this is to distinguish this particular Purchase Order in the Purchase Order list - see the example below where PO number 5 is shown in the selected colour (blue):

Once a supplier(Name) has been chosen you may enter the item you are ordering by clicking the New Line button.

In the Item field type the beginning letter of the item you want and hit the Tab button. You may then choose the item from the displayed list. If you want to see the entire list of items available type @ and then Tab.

From more information on the other tabs in this window see Editing Purchase Order lines

Once you have chosen the Item and entered the appropriate details clicking OK will return you to the Edit Purchase Order screen where you will see the line you have created. Below I have ordered 300 Packs of Chlopromazine.

The Original and Adjusted Quantities columns show the number of packs you ordered multiplied by the number of units in the pack.

Viewing a Purchase Order

To view a recently created order choose Show Purchase Order… from the Supplier menu.

Choosing this menu item shows a window where you can enter either the number of recent orders to display or the order number (this is printed on an order if you have printed it out). If you click OK without changing any information you will be shown a list of the 15 most recent orders.

You will then be shown a window with a list of Purchase Orders. (If you entered a Purchase Order number you will be taken straight to the Purchase Order details window, bypassing the Purchase Order list, as shown above).

Buttons in the Purchase Order list Window

New Purchase Order

When you click the New PO button, a Purchase Order details window is displayed . See “New Purchase Order” below.


Any highlighted orders will be deleted by clicking this button. You can delete multiple Purchase Orders by highlighting more than one line. To do so, control-click (command-click on Mac) the lines you wish to highlight. If your orders are finalised, those can not be deleted. If you attempt to delete a finalised order, you will receive an alert message:


Clicking on the Report button presents you with the quick report modifier window, from which a simple report can be constructed. This report can be viewed, saved to disk or printed.


This button is very useful for quickly finding a group of Purchase Orders. when you click on the Find button, you will be presented with a window with the same functionality as if you chose the Menu item Supplier > Show Purchase Orders (above).

Order by

The Order by button allows you to sort the orders by multiple fields. Otherwise simply clicking on an individual column will also sort the order list by that column.


This allows you to print the displayed list of purchase orders. When you click on the Print button, it shows two windows. The first is the page setup for your printer, the second allows you to specify how many copies to print. The column sizes set in the list window are reflected in the printed output.

E-mail order(s)

Any highlighted orders will be converted to queued emails.

Customise list

This button allows you to change the columns that are displayed in the list and what order they are displayed in:

See Working with lists for more details.


If you wish to duplicate any orders, highlight desired orders from list and click the “Duplicate” button.


This button allows you to split the selected order between two or more suppliers, and may be used only on orders with a status of sg.

Editing a Purchase Order

Double-click the order in the list you want to modify.

You will be presented with the Edit Purchase Order window:

If the entire order qualifies for a discount, either the discount percentage should be entered at 1, or the cash value of the discount should be entered at 2.

Split Deliveries

There may be occasions when you want to arrange for split deliveries - for instance if you are placing a single order for a year's supply, but you want certain items to be delivered in, say, four consignments, at three monthly intervals. The order as generated lists the total quantity to be ordered, and you need to modify this; what you are actually doing is modifying a Purchase Order line. The procedure is described in Split deliveries in the_order_menu

Editing Purchase Order lines

To modify an order line, double click on the line you wish to modify.

Note: you can resize the order modifying window to show more lines, or to show more of the item name. To do so, drag the handle in the lower right corner to a new position.

When you double-click an order line (or when you click on the New line button) you will be presented with a window allowing you to modify the item, quantity and pack size:

Information in the Edit Order Line window

Here you can modify the item that is being supplied. To change the item, type as much of the item name as you know, then press the tab key. If only one item matches your entry, it will be filled in automatically, otherwise you will be presented with a list where you can double-click the item you wish to enter.


You can enter any information you wish to record about this order line here. Comments will be added to order lines when you email an order to a supplier.

Original quantity

The original quantity ordered from the supplier. This information is not modifiable once you have confirmed an order.

Pack size

This is the pack size the supplier prefers.


The units that the pack is measured in.


The quoted price for this item

Price extension

The price multiplied by the quantity ordered.

Volume per pack

In this field, you can define the volume per pack for the pack size chosen. If you are entering a new line the volume and pack size you have entered for the item will be used.

Note the mSupply always stores volumes as m3 (cubic metres), but you can enter a volume as millilitres (ml), litres (L) or cubic metres (m3)

Shelf location

Type the first few characters of location name or code as you know, then press the Tab key. If only one location code matches your entry, it will be filled in automatically, otherwise you will be shown a standard choice list.

Adjusted quantity

The total quantity you now expect to receive from the supplier in all consignments. You can adjust this figure so that the amount received is reduced or increased due to changes in what the supplier actually sends.

Refresh Buttons

The refresh button (to the right of Volume per pack), on clicking, displays the default volume of the selected item if it has been set previously. Similarly the refresh button next to Shelf location displays the default location.

The refresh button in the “Pricing for this item” frame reloads the price data from a preferred quotation. The price from the most recent quote is used if there are no preferred quotations. If you have received an updated quotation after generating the original price, use this button to apply the updated details to this line.


Put anything you need to have recorded for this purchase order line in here. It will print against the line when the purchase order is printed out.


Any important notes you need to make about this purchase order line should go in here. These notes will not print out when the purchase order is printed but, if you check the Show notes on Goods Received checkbox, the note will be displayed on the goods received note line and the line will be coloured red when the goods are received into mSupply - see Goods receipts for details.

Other information in the Order line details window:

On hand: This is the quantity of stock on hand of the item

On order: This is the quantity of stock in other confirmed orders awaiting delivery.

On backorder: The quantity of stock you owe to customers on backorders

Quantity received: The total quantity of this line that has already been received on this order.

Tabs in the Order line details window

The usage tab

This tab shows the usage for the last 24 months of the item being viewed. This is useful for deciding if reported usage is consistent from month to month, or is due to one or two very large supplies to clients.

The quotes tab

This tab shows quotes from suppliers for the item being viewed.

You can double-click a quote to view and/or modify details.

View quotations for the item in question. You can double-click a quotation to modify its information.

Note that the supplier of the quotation that is marked as “preferred” will be the supplier selected when using the “split” command to break a general order into orders for each supplier.

The New button allows you to add a new quotation.

The receipt history tab

This tab shows all goods receipts for the item being viewed.

If you double-click a line the associated goods receipt transaction will open in a new window.

The Ledger tab
  • This tab shows supplier and customer invoices for the item being viewed.

  • You can display a sub-set of the transaction lines by choosing options from the drop-down lists.
  • The option Received ledger for this Purchase Order line shows all supplier invoice transactions for the current Purchase Order line item. This is particularly useful if you want to see the history of prices paid for this item.
  • Goods receipts are shown on the Receipt history tab.

  • Unordered List ItemThe Dates drop-down list allows you to show only recent transactions….

  • If you double-click a ledger line, the associated invoice will be opened in a new window

Buttons in the Edit Purchase Order Line window

OK & Next

This button will take you to the next order line, unless you have reached the last line in the order, in which case you will be taken back to the order modifying window.


Will exit the window saving changes to the current window.


If you click the Delete button, the order will be deleted and the order number will be reused for the next order.

Purchase Order status explained:

  • When a purchase order (PO) is first created it has status “sg” (for “suggested”)
    • POs with status sg can be modified in almost every way, including changing the supplier.
  • Once there are no more lines to add to a PO, it can be confirmed and sent to the supplier. A PO is confirmed by clicking on the Confirm button.
    • Once a PO is confirmed, it has status “cn” (for “confirmed”) and an appropriate log entry is created.
    • Confirmed POs have the order amount added to the “on order” field for each item, so that if another PO is created for the same item, this quantity already on order will be taken into account.
    • Confirmed POs can not have new lines added to them. However, details of existing PO lines can be amended.
  • Once no more stock is to be received against a PO, it can be finalised. An order becomes finalised by clicking on the Finalise order tick-box at the bottom left of the PO window.
    • POs that have been finalised have status “fn” (for “finalised”) and an appropriate log entry is created.
    • Finalised POs can no longer be modified in any way.
    • No more goods can be received against a finalised PO. The `unsupplied' lines will not appear when you look for outstanding PO lines (Supplier>Show outstanding PO lines) and the `unsupplied' quantities are ignored in any of mSupply's subsequent Stock on order calculations.

Estimated order costs explained

From version 1.7 onwards, mSupply displays a new column (Price Ext) in the order modifying window that shows the cost of the order line.

Buttons on the General tab

New line

Click this button to add a new line to the Purchase Order. You will be shown this window:

You may enter the quantity of the item either by number of packs or by total quantity. mSupply will automatically fill in the other fields for you.

By default the Requested delivery date will be today's date but you may edit this to request deliveries at the times you require. The expected delivery date can be entered manually now but it would normally be entered once a response from the supplier has been received.

Delete lines

Select one or more lines in the Purchase Order and then click this button to delete the lines from the Purchase Order.

Update EDD

Select one or more lines in the Purchase Order and then click on the Update EDD (Estimated Date of Delivery) button to enter a new date when delivery is expected.


Click the Info button to display information about the Purchase Order including the name of the initials of the Purchase Order creator and modifier - refer figure below.


  • If the Purchase Order has not been modified, then a modify date of 00/00/00 will be displayed.
  • If there is no name against the Created by and Modified by entries, then this Purchase Order was created / modified on the Primary Server in a synchronised mSupply system.


Clicking the Print button will print the complete Purchase Order form for sending to a supplier. Note that you should fill in relevant details on the Details tab before printing the order.


See the section above on “order status” for an explanation. Orders should be confirmed once the order has been placed with the supplier.

Check boxes on the General tab


When the locked check box is checked, the Purchase Order cannot be processed to the next status (confirmed or finalized) - refer Order Status explained.

Auto calc usage

When the Auto calc usage check box is checked, each time you modify an item line, the usage for that line will be calculated. This is slower, but gives useful information upon which to base your ordering . Note that this option can also be turned on within the order line modifying window.

When the Print my signature check-box is checked, the user's signature will be printed on the Purchase Order if it has been loaded - refer Managing users.

The Details tab

This tab allows you to record a range of information that will be entered on the Purchase Order when it is sent to the supplier.

PO sent date

Enter the date the Purchase Order was sent to the supplier. When you print a Purchase Order mSupply will offer to fill in this date for you, but you should modify it if necessary to reflect the exact date.

Contract signed date, Advance paid and Received at port fields

Enter dates in these fields as appropriate. They are all optional unless any of them are made compulsory by turning on the appropriate preferences on the Purchase orders 2 tab of the File > Preferences… menu item. See Purchase order preferences for more details.

Heading message

Any text you enter here (e.g. Urgent or Supplementary order for PO 183) will be printed in a large font across the top of the Purchase Order so your supplier will (or at least should) notice the message.

Expected Delivery

Enter the date you expect the order to arrive

Goods Received date

Fill in the actual delivery date. Leave the date blank for Purchase Orders that have not been delivered

Invoice received

Enter the date when you received the invoice from the supplier

Hint: you can find all orders that have not had an invoice supplied by querying on this field.


You can enter any appropriate comments here.

Supplier's agent

Enter the name of the intermediary party here - if there is one.

Delivery method

Enter a delivery method (eg “Air”, “Courier” …)

Authorizing officers

Enter the names of the people who are required to sign off the Purchase Order. These names are printed on the Purchase Order.

Freight conditions

Enter the delivery address, shipping marks, etc. here.

Additional instructions

Enter any further information you wish to appear on the Purchase Order.

Commissions and charges fields

Fill in any relevant charges agreed between you and the supplier. Note that any charges that are zero will be skipped when printing the Purchase Order.

The Ad Hoc items tab

Here you can display a list of items that have been assigned to the supplier, but not yet added to a Purchase Order.

Click on a line, then click the “Add selected line to order” button to add a line to the current Purchase Order.

Warning: if you delete a line from a Purchase Order it will not have its status updated automatically- it is your job to do so using the Items > Manage Ad Hoc items menu.

New Ad Hoc line button

Here you can add an ad hoc item “on-the-fly”. This is useful if you want to process a Purchase Order for a single Ad Hoc item that has not yet been entered into mSupply.

Note that the Items > Manage Ad Hoc items menu is the normal route to add, modify and delete Ad Hoc items.

The Goods Received tab

This is a record of the receipt of the order, and, where multiple deliveries have been made, records each instance.

The Supplier Invoices tab

This tab displays a list of invoices related to this Purchase Order.

There are two types of invoice that are created directly from Purchase Orders:

The Log tab

This tab records a log of actions that have been performed on this purchase order. The below image shows that the Purchase Order has been confirmed for sending to the supplier and printed by the user Margaret at the date and times shown:

The Location tab

This tab displays the locations of the items received, if this feature is used. Where details of the volume of available space in any location has been entered, and where details of the area/volume of item pack has also been entered, the remaining available space will be displayed.

Lines will also be coloured red/orange/green to indicate greater than 100%, 90 to 100% or less than 90% of space used. showing which lines are likely to cause space problems on receipt.

The Order Menu

When the order modifying window is being shown, an extra menu is added to the menu bar:

Copy order to clipboard

Copies the order details to the clipboard, so you can paste it into an email or text document.

Export html ...

If you want to produce an order which can be saved as a file in html format, use this option. . If you have Excel installed, the report will open in Excel. Note that if you want to keep the Excel file, you should choose File > Save as.. in Excel and choose a location.


Prints the order. You will be shown the standard printing dialog boxes.

Note that if Show all lines is selected, the entire order is printed; if Show incomplete lines is selected, the printout lists only lines which have either not been supplied at all or require a balance to complete the order.


Splits the order into a number of smaller orders based on the preferred supplier for each line. The preferred supplier is the quotation that is marked as “preferred” for that item. To view and modify quotations you can double-click the order line then chose “quotes” from the “show” menu. All items that do not have a quotation marked as “preferred” will be put into a separate order.

Email in body

The order will be turned into an e-mail and placed in the queue so that it is sent next time you send e-mails. You will be warned if you have not entered an e-mail address for the supplier.

The e-mail will be formatted as follows:

To check the email before sending it, choose Special > show l_formatemails , then double-click the email to modify it. Note that to make the columns line up properly, you will have to click the <|-|> button to view the text in a fixed-width font.

Email HTML attachment...

The order will be turned into an HTML attachment, and attached to a new email that is then placed in the queue so that it is sent next time you send e-mails. You will be warned if you have not entered an e-mail address for the supplier. The attachment will be stored in the export folder you have nominated in the Preferences. (For multi-user mSupply, the export folder is set as the folder “C:\mSupply\mSupply client\Export” (on the assumption that you have selected the default install location for mSupply).

Email PDF

Choosing this item will cause mSupply to generate a PDF file, create an email and attach the PDF file to the email.

Note that you must use the PDF xChange PDF driver installed on the computer generating the email for this to work. The driver currently costs US$50, and is available from Sustainable Solutions info@ss.org.np

The PDF that is created is stored in the mSupply data file, so you can create a PDF attachment on one computer and send it from a different computer without problems.

Update quotes using this order

This command allows you to check that quotation data is up to date based on actual supplied prices.

Each order line will be evaluated, and if a quotation does not exist, one will be created. If a quotation does exist and the price you have paid in the order and the price stored for your quotation are different, you will be shown a window to compare prices, and you can decide whether to keep the existing quotation or update it.

Note that you need to have your user permissions “Can add quotations” and/or “Can modify quotations” set before this command is available.

Split Deliveries

Creating split or multiple deliveries will now be described using the following example.

It is important to note that the Purchase Order should not be finalised before this procedure is performed, as a finalised order may not be modified or altered in any way.

A store is placing an order for Normal Saline and, having followed the normal procedures, mSupply has created the Purchase Order displayed: below.

The store does not have the storage capacity to hold 1250 packs of Normal Saline, so the supply of this item needs to be made in multiple deliveries; it is decided that 500 be requested for delivery at the beginning of January, followed by 250 at the beginning of each of the months of April, July and October - i.e. at three monthly intervals.

The Purchase Order is modified as follows:

  • Click on New line, and add the item Normal Saline
  • In the Number of packs field, enter 500
  • In the Requested Delivery date enter 1/1/17
  • Click OK & Next
  • In the Number of packs field, enter 250
  • In the Requested Delivery date enter 1/4/17
  • Click OK & Next
  • In the Number of packs field, enter 250
  • In the Requested Delivery date enter 1/7/17
  • Click OK & Next

Repeat the last two steps, but enter 1/10/17 in the Requested Delivery date field for the final delivery in October.

To complete the process, delete the line calling for 1250 units on 1/1/17.

The Purchase Order should now look like this:

You won't see the different requested dates on this screen. Expected dates are generated upon feedback from the supplier or can be entered manually.

This feature enables mSupply to take future deliveries into its reckoning if, for example, an additional order for Normal Saline was placed in mid June, and a delivery of 2,500 had already been arranged for 1 July.'

Authorising purchase orders

If required, it is possible to turn on authorisation of purchase orders. An unauthorised purchase order will print with an “Unauthorised” watermark clearly visible across it. An authorised purchase order will print without the watermark. This is the only difference authorising purchase orders makes - unauthorised purchase orders can still be confirmed and have goods receipted against them so it is not as restrictive as, for example, customer invoice authorisation.

To turn on purchase order authorisation, check the Purchase order must be authorised store preference. See Virtual stores preferences for details of how to do this.

When a user is logged into a store with this preference turned on, an Authorise checkbox appears in the bottom left hand corner of a purchase order:

Only users with the Can authorise purchase orders permission can check the Authorise checkbox and therefore authorise a purchase order. See Managing users for instructions on setting permissions for users.

Purchase order categories

Purchase order categories are useful for separating up your purchase orders when reporting. For details about setting them up and assigning them to purchase orders please see Purchase order categories.

Previous: Uploading and Downloading Web Tenders Next: Managing Purchase Orders

2011/05/08 16:38 · John Ross

Managing purchase orders

Managing purchase orders you have placed is an important part of running a medical supply facility. There are two main windows you will use to do this, along with a variety of reports.

Show outstanding Purchase Order lines....

Choosing this Suppliers > Show outstanding purchase orders from the menus or the Navigator displays a list of all lines outstanding on all confirmed Purchase Orders.

Using the find box

In the toolbar there is a field to enter searches. To the left of the field you can choose from the drop down list what to search for.

You can restrict the list displayed to a single supplier, to a single item, or to items whose delivery is expected within a specific number of days.

This search excludes finalised orders.

Printing and opening in Excel

Click the Print button to print the list as displayed. If you want to send the list to Excel, choose Open in Excel from the print options window that is shown after you click Print Double click on a line to display the Purchase Order containing that line

Show Purchase orders

Choose Suppliers > Show Purchase Orders.

  • In the find window you can choose what will be displayed. By default mSupply displays the last 15 purchase orders.

  • You will be shown a list of matching Purchase Orders. Double-click a purchase order to open it.

For a more detailed description of this window see Ordering Items From Suppliers

Previous: Ordering Items From Suppliers Next: Purchase Order categories.

2012/02/26 23:36 · Craig Drown

Purchase order categories

Sometimes it's really helpful to categorise your purchase orders for reporting purposes. To allow you to do this, mSupply allows you to create purchase order categories and then apply them to purchase orders as needed.

Viewing purchase order categories

Choose Supplier > Show purchase order categories… from the menus. You will be shown this window:

This shows a fill list of all the purchase order categories that you have at the moment. The user_field_1-3 columns show the values of the custom values given to each category, which can be used to further refine your reporting later.

The functions to adding, delete and edit purchase order categories is all accessed from this window.

Adding purchase order categories

Click on the New button in the window shown above to add a new category. This window will open:

Enter the Description of the category (this is name by which the category will be known and selected throughout mSupply) and any values for the custom fields you wish and click on the OK button to save the new category. You will see it immediately added to the list of available purchase order categories.

Note: user_field_3 takes numerical values, user_field_1 and user_field_2 take alphanumeric (any combination of letters and numbers) values.

Deleting a purchase order category

Select the category to delete in the list of purchase order categories and click on the Delete button. You will be asked to confirm the deletion.

Note: you will only be able to delete a purchase order category if no purchase orders belong to it.

Editing an existing purchase order category

To edit a purchase order category simply double-click on it in the list. The same window as for adding a new purchase order category will open populated with the selected category's details. Simply edit the details as required and click on the OK button to save your changes.

Assigning categories to purchase orders

Assigning categories to purchase orders is really simple, as you'd expect! When editing or creating a purchase order, simply select the category the purchase order belongs to using the Category drop down list on the General tab:

The drop down list will contain the descriptions of all the categories you have added.

Previous: Managing Purchase Orders Next: Ordering from one store to another

2011/05/12 07:04 · John Ross

Receiving goods - a supplier invoice


If you are using purchase orders (which you should be!) supplier invoices will be created automatically when you finalise a goods receipt. So you should read Receiving goods (Goods Receipt function) before reading this section.

All goods you receive should be recorded in mSupply either by entering a “Supplier Invoice” or by using the Purchase Order system, which leads to the creation of a supplier invoice. In some countries a supplier invoice is called a “bill”.

Confirming a supplier invoice is what actually puts the goods into stock in mSupply, ready for issue. It calculates the selling price based on the margin you have chosen for that supplier or for that item, depending on how you have set your mSupply Preferences.

You will notice there is a Prices tab in the Supplier Invoice window- this is for use with invoices received in foreign currencies, which will usually be done via the goods receipting system. See Viewing and editing supplier invoices created via Goods Receipts.

Creating a new supplier invoice

If you are receiving the goods from another virtual store in your mSupply system, and they are not responding to an internal requisition (purchase order) from your store, then they should have followed the procedure for transferring goods to another store.

Provided that they have finalised their customer invoice, a new supplier invoice will be created automatically in your store, populated with the stock lines that they are sending to you. In this instance, you should NOT create a new Supplier invoice, and can skip most of the following section.

Search for this automatically created invoice using Suppliers>Show invoices…

Depending on the store preferences, the supplier invoice may be finalised. If not, you will be able to add, edit or delete lines on the supplier invoice if what you actually received is different to what the supplier invoice states…

To create a new supplier invoice, choose Supplier > New invoice. The supplier invoice entry window will open with the cursor in the Name field:

If you have turned on any of the custom stock fields in store preferences they will be displayed as columns (between the Batch and Expiry columns) in the list of invoice lines and the information you entered for these fields will be shown in the appropriate cells.

Information to enter in the main window

Name: Enter the first few characters of the supplier's name, and then press the Tab key. Any name that has the “Supplier” check box checked can be used. If only one name matches the entry, the supplier name will be filled in. Otherwise, a list will be displayed:

Double-click the appropriate entry, or click Cancel to try again. You can also use the up and down arrows or the “u” and “d” keys on the keyboard to move the highlighted item up or down, then click the Use button or use the Enter key to choose the highlighted item. This will return you to the Supplier Invoice window with the name of the supplier you have chosen entered in the Name field.

The downward pointing arrow to the right of the Name field takes you directly to the Edit Customer/Supplier window, giving access to all the information relating to the name entered.

Bill no.: Enter the bill number - the serial number on the bill the supplier gave you.

Comment: Click on the downward pointing arrow to the right of the Comment field to display a window where any comment relating to this invoice can be noted.

Category: Category for supplier transaction is created in File>Preferences>Invoices1 . The categories created are listed in this category field.

Colour: Clicking on the colour box in the top right corner presents you with a selection of eight colours from which the desired one should be selected; this does not make any change on the invoice window itself, but when the list of invoices is displayed, the line showing this particular invoice will show the entry using text of your chosen colour.

Confirm date: This is normally read only but will be editable if the “Allow entry of dates on invoices” preference is turned on in Preferences on the Invoices 1 tab

Read-only information at the top of the invoice

There is some information at the top of the invoice that is read-only and cannot be edited:

  • Entry date: The date the invoice was created.
  • Confirm date: The date the invoice was confirmed. Will be “00/00/00” if the invoice has not been confirmend.
  • Invoice number: This is the invoice number. The number is automatically incremented and assigned when the invoice is first saved (which actually occurs when the first line is added to it) and is unique within a store. Note that supplier invoices in different stores could have the same invoice number.
  • Status: The current status of the supplier invoice:
    • nw = new (just created, can still be edited, stock not yet added to mSupply)
    • sg = suggested (has been opened since first creation, still editable, stock not yet added to mSupply)
    • cn = confirmed (stock has been added to mSupply but invoice is still editable)
    • fn = finalised (stock has been added to mSupply and the invoice is no longer editable)
  • Goods received ID: If the supplier invoice was created automatically when a goods received note was finalised then the goods received note's ID will appear here in blue, indicating that it is a link and, if clicked, will open the goods received note.
  • Purchase order ID: Again, if the supplier invoice was created automatically when a goods received note was finalised then the ID of the purchase order which the goods were ordered on will appear here in blue, indicating that it is a link and, if clicked, will open the purchase order.
  • Entered by: The user name of the user who created the invoice.
  • Store: The name of the store the invoice belongs to.

Buttons in the supplier invoice window

New line: Will add a line to the invoice. This command can be used on any invoice that is not finalised. Clicking the button will present you with the window for adding a line from stock.. See the Adding lines to an invoice section below for more details. To select a line to edit, simply double-click on it. Note that New line and Edit line are disabled on finalised invoices

Delete line: Will delete a line whose batch is “none”. To delete other lines, you must first edit the line and set it's quantity to zero. Multiple lines can be deleted if highlighted.

The Hold Check Box: Checking this box means that the invoice can not have its status changed. If its status is “nw” it cannot become “cn” (confirmed). If it is “cn”, it cannot be changed to “fn” (finalised).

Note the “nw” status invoices do not have the stock entered into the system yet, so this allows you to enter a supplier invoice, but to make sure the stock is not available for issued until all the details have been checked.

The Finalise Check box: This check box allows you to finalize an invoice when you click the OK button. This will mean that it can no longer be edited, so be sure first that all the details are correct. Note that only users with Can finalize individual invoices checked in their user permissions have access to this check box. Other users will be warned if they try to turn it on, and the check box will automatically uncheck.

If this check box is not checked and OK button is clicked, it will display a confirm window with a message Confirm invoice and enter into stock now? If you click on Later , the invoice will have a status “nw”(new). If you click on Confirm , the invoice will be confirmed.

If this check box is checked and if the invoice is not yet confirmed, it will display a confirm message. If you click on Later , the invoice will have a status “nw”(new) and will not be finalised. If you click on Confirm , the invoice will be confirmed as well as finalised.So be very careful! A finalised invoice may be viewed and/or printed but it can not be edited.

Should a finalised invoice need to be changed, the entire invoice may be cancelled, and the correct data may be entered as a replacement. In order to maintain the accuracy of any subsequent audit trail, mSupply creates a transaction which reverses all the stock movements on the invoice being cancelled, having due regard to all appropriate details, such as batch numbers, etc. See Cancelling finalised invoices

If Confirm supplier invoices without asking is checked in the “Invoices 1” tab of the Preferences window, then all invoices will be finalised automatically (whether you like it or not!)

If you have the store preferences set to force supplier invoice authorisation, you will not be able to confirm supplier invoices until they have been authorised. See here for details.

Copy button: This button copies the invoice details to the clipboard, allowing you to paste them into a spreadsheet or email message.

Delete: Allows the deletion of an invoice.

When you press Delete button, it will leave no trace of your entry, and the invoice number assigned will be reused.

Note: Unless the invoice has a status of “nw” if you have added lines to an invoice, you must manually delete each line using the “delete line” button before deleting the invoice. This is intentional, to save the “Oops, I just deleted my invoice with 100 lines on it” feeling.

Invoice status Description
nw The invoice has just been created- clicking cancel will delete the invoice and automatically delete each line
sg The cancel button will only delete the invoice if you have first deleted all lines using the “delete line” button
cn Same as for status “sg”
fn No changes or deletions can be made

If the invoice has already been saved by previously clicking OK, Cancel will be disabled or not present.

OK: Saves the changes you have made and exits the window. You are given the opportunity to print if you want to. If the invoice status is “sg” a packing slip will be printed, otherwise an invoice will be printed. (Tip: you can bypass the print messages by holding down the shift key as you click OK)

Adding new lines to a Supplier invoice

Click the New line button to add a line to the invoice. This window appears:

The cursor will be in the field ready for you to enter the item name.

Item: Enter as much of the item name (or code) as you know, then press the Tab key. As usual, if only one entry matches, it will be filled in. More than one matching entry will present you with a list from you should double-clicking on the required item. The text you type will be matched against both the item name and the code. A match for either will display the item.

Note: To query for an item name or code that contains (rather than starts with) “250mg” (for example), enter “@250mg” in the search field (without the quotes).

Hint: you can use the “up” and “down” arrow keys to change the highlighted item (You can also press u to move up and d to move down!) . Pressing the enter key will choose the highlighted item.

Note: If you did wish to apply a different margin to the whole invoice, click the cancel button, and edit the margin for that supplier by choosing Supplier >Edit supplier and change the margin. If you wish to apply a different margin to just some lines, you can do this as you enter the lines, as long as Editing margins is enabled in the Preferences.

If the the item you are entering is not listed, you can click New item to add it.

Note: it is a good idea to agree upon a standard form for entering items. For example, will you enter an “infant feeding tube” as:

  • “infant feeding tube”
  • “feeding tube, infant”
  • “tube, infant feeding”

Duplicated items can later be merged, but it is better to get it right first time!

Note: if you need to see the full details of the item itself after selecting it, click on the down arrow icon () to the right of the item name field and you will be taken to the item's details window.

Now there are a series of fields to enter to fill in the basic information for the line

Num units: How many did you receive?

Location: The location of the item should be entered in this field.

Pack size: How many units in a pack

Note: Say you receive 50 packs of 100 amoxycillin caps, you should enter “50” in the quantity field and “100” in the pack size field. However, if you issue the capsules in strips of 10 to customers (e.g. you allow them to order 20 or 30 capsules), you should enter quantity “500” and pack size “10”

Batch: The batch number or other identifying information. The batch appears on the invoice, so you can use this field to differentiate between brands if you need to (eg you operate using generic names, but occasionally want to give a specific brand- you can put an abbreviation for the brand name here as well as the batch).

Expiry: You can use “/” or “.” to separate the day/month/year. Note: Use whichever date format you have set in your computer (dd/mm/yy or mm/dd/yy or yy/mm/dd). You can enter the year as 2 digits, which will be understood as a date between 1961 and 2060. This should cover the expiry date on most things you receive in the next 52 years!

Cost price (invoice line unit cost): Enter your cost price for one pack of the pack size you entered above. If your supplier's currency is different to that of mSupply the cost price will appears in the supplier's currency.

Adjusted local cost: This information field displays the cost of a single unit of the item in local currency.

Margin and sell price: If you have allowed editing of these fields in Preferences, you can adjust the margin (and the sell price will adjust automatically), or you can adjust the sell price (and the margin will adjust automatically).

Click OK if you are finished, or OK & next to add another line. (The invoice lines added will be displayed in Items Display Field.)Click cancel to exit to the main screen without saving any of the details.

Manufacturer: This field displays the name of the manufacturer of the item. It will only be shown if you have turned the Able to specify manufacturer when receiving, ordering or quoting for items preference on in the store preferences.

Entering a manufacturer follows the same pattern as entering an item or supplier - type the first few letters of the manufacturer's name or code, and press the Tab key. Choose the required manufacturer from the list if more than one is displayed.

You can add a new manufacturer by clicking on the New button.

Donor: The donor of the item can be entered to this field. A valid donor should be entered, type the wildcard character '@' and press the TAB button to view your list of donors.

Price extension: This information field provides the cost price in local currency for the total quantity of the item you have entered.

Custom fields 1-8: The appearance of these fields is controlled by the Custom stock field preferences. Any information you enter in these fields will be displayed wherever stock information is displayed (e.g. when issuing stock on a customer invoice or when viewing the stock of an item on the stock tab of the item details window). The fields can also be reported on so they are an important and powerful way of tracking different categories of stock. For full details please see Custom stock fields.

mSupply provides the feature of receiving service items into stock. Service items are items that are not normally held in stock and are called non-stock items in mSupply. See here for more information on those. One use of service items is for managing assets. For more information on this, see the chapter on Asset Management.

Editing lines on a supplier invoice

Supplier invoice lines can be edited at any time until the invoice is finalised.

To edit a line, simply double-click on the line you wish to edit.

Editing lines if stock has been issued

If you have already issued stock of this line to a customer, you will be warned with a window like this:

Clicking View issued invoices will show you a list of customer invoices containing this particular line:

Clicking OK will take you to the item issue window, where certain fields only may be edited. You may not reduce the received quantity to a figure lower than the quantity already issued.

The item issue window: You will be presented with a window where you can edit the line details in much the same way as when entering new details.

In the graphic above you will notice the “units issued: 100” text in blue to the right of the Quantity field. This will only be present if stock has already be issued to customers. You can click on that text to display a list of issued invoices as described above with the View issued invoices button.

Note that the OK & Next button is very useful for editing a whole invoice. Simply double-click the first line of the invoice, then use the OK & Next button to go from line to line.

Note also that many options for the window are set in the mSupply Preferences. For example, whether or not line one is chosen automatically, and whether you can use placeholder lines.

Working with the list of invoice lines

Resizing columns: These columns are resizable. If any of the column data is cut-off or remains hidden, the column width can be increased or decreased by positioning the mouse at the borders of the column. The cursor changes to a cross with arrowheads on the horizontal bar. Click and drag the cursor to the left or right.

Sorting columns: Columns may be sorted either in ascending or descending order by clicking on the header.

The order of the columns can be re-arranged by clicking on the header and dragging it to the new position.

Deleting a line on a supplier invoice

To delete a line, do one of the following:

  • Click on the line you wish to delete, then click on the Delete line button:
  • Double-click the line to edit it (see above) and set it's quantity to zero.

Click the OK button. You will be asked for confirmation. Click OK to proceed.

You cannot delete a line from a supplier invoice that has been finalised.

Selling price calculations in mSupply

mSupply uses a number of items of information to calculate the selling price of an item. This enables you to have the price calculated just the way you like it.

Here's the logic mSupply uses:

  • Does the item have a selling price specified? If it does, this price will be used regardless of any other information. Note that the price entered for the item is for one unit. The price will be multiplied by the pack size to get the selling price for the line.
  • If either the supplier margin or the item margin is specified as zero, then the other (non-zero) value will be used?
  • If a margin is specified for both the supplier and the item, the Preference Item margin overrides supplier margin will be examined to see if it is on or off. If it is set, the item margin will be used, if not the supplier margin will be used.

For example:

Cost price Pack size Supplier margin Item margin Preference set for Item margin overriding Supplier margin Item price Price used
100 100 6 10 yes 1.15 115
100 100 6 10 no 1.15 115
100 100 6 10 yes 0 110
100 100 6 10 no 0 106
100 100 0 10 no 0 110
100 100 6 0 yes 0 106

Note that if you have turned on “allow editing margins and sell prices on supplier invoices” in the Preferences you will be able to over-ride the prices mSupply calculates.

The Price tab

This tab provides functions for applying discounts and apportioning different charges to items.

Applying a Discount to the whole invoice

If a supplier gives a discount at the bottom of the invoice rather than adjusting the price of each invoice line, you can use the discount button.

This window will be shown:

If you enter “5” the cost price of each line will be reduced by 5%, and the invoice total will be recalculated. It should then match the amount the supplier is actually charging you.

If you want the sell price calculated based on the new cost price, check the “Recalculate sell price” checkbox. The selling price rules as described above will still apply.

Applying local charges

Local charges are any charges you want to add to the cost of individual items on this invoice in your data file's local currency (i.e. the default currency used in your data file - this might not be the same as the currency you use when you visit a local shop!). These could be administration charges, local freight charges, handling charges etc.

You can either enter the amount of local charge to apply to each invoice line or the total amount of charges to apply to the invoice.

Entering local charge amounts on each invoice line

You do this by directly entering the amounts to apply to each line in the cells of the Local charge column in the table. As you do this, mSupply will automatically increase the sell price per pack by the amount you have entered divided by the number of packs for the line and will add the amount you entered to the current value in the Local charges field above the table.

Entering the total amount to apply to the whole invoice

To do this, you simply enter the total amount in the Local charges field above the table. When you do that, mSupply will automatically apply a portion of the local charges to each invoice line's sell price, according to the ratio of that line's Price extension to the sum of all the Price extensions of all lines on the invoice. You can see how much mSupply added to each line in the Local charge column. If you wish, you can edit the local charges applied to each line after this by simply clicking on the appropriate Local charge cell in the table and typing in the cost to apply. As you do that, mSupply will keep track of the total local charges applied to all lines in the Local charges field.

Applying foreign currency charges

These charges are applied in the currency selected in the currency selected in the Currency drop down list, following the rate displayed in the Currency rate field (which you can manually adjust if the default shown by mSupply is not what you require). The charges could be, for example, international freight charges or administration charges.

Simply type the amount of foreign currency charges to apply to the whole invoice in the Extra foreign currency charges field and mSupply will apply a portion of the whole amount to each line, according to the ratio of the line's Price extension to the sum of the Price extensions of all lines. mSupply will automatically update the sell price value for each item.

Applying other charges

These charges will NOT be added to the sell or cost prices of the items on the invoice. You enter them in the Other charges section below the table of items:

  • Item(s) field: Enter what the charges are for in this field.
  • Amount field: Enter the total amount of the other charges in here. When you do this, you will see the amount added directly to the Subtotal and Total amounts and none of it will be added to the sell or cost prices of the individual items in the table.

Applying tax to the invoice

Tax, like other charges, will not be added to the sell or cost prices of the individual items. To add tax, click on the % tax rate below the Subtotal field on the right hand side below the table of items and enter the rate you wish to use. mSupply will calculate the amount of tax (the % you entered of the Subtotal value) and automatically add it to the Subtotal value to give you the new Total.

If you have set a default tax rate in the preferences (see General preferences) you will see it applied as soon as you open the invoice. Also, you will only be able to edit the tax rate if the Allow editing tax rate and amount on invoices preference is turned on (see Invoices preferences).

Viewing supplier invoices

To view or edit any supplier invoice, choose Supplier>Show invoices. The details of how this works is virtually identical to that of viewing customer invoices.

Rapid access to Goods Received note from Supplier invoice, and vice versa

Supplier invoices show the Goods Received transaction number in the upper right area of the window. By clicking on that, the Goods received transaction will be displayed. Similarly, the Edit goods received list has a link Click here to open Supplier inv ……. which will display the required invoice.

Printing supplier invoices

When a supplier invoice is open you can print it by checking the print checkbox in the bottom right hand corner:

When the checkbox is checked and you click on the OK button, the invoice is closed and the printing options window is displayed:

  • Form to use drop down list: Select the form you want to use to print the invoice. There may be several in the list. There is also a None option if you don't want to print the invoice but just want to print pallet labels.
  • Remember this choice checkbox: The form you choose in the Form to use drop down list will be selected (and everyone else!) next time the supplier invoice printing options window is opened if this checkbox is checked.
  • Print pallet labels checkbox: Check this if you want 100x150mm pallet labels in a specific format to be printed out from a label printer. A label will be printed for each line on the supplier invoice. Note: the label printer has to be installed and configured in mSupply before this option will work - see Label printer installation and Printing preferences (setup) for details.
  • Destination radio buttons:
    • Printer: the invoice will be printed out straight away.
    • Preview: a preview of what the invoice will look like when it is printed will be displayed in your installed PDF file reader. You might be able to print the invoice from the PDF reader, depending on its features.
    • PDF file on disk: the invoice will be saved to disk in PDF format.
    • Email PDF: the invoice will be created as a PDF file and attached to an email for you to send. You can double-click the email attachment to see a preview of the invoice. The email preferences in File > Preferences should be setup correctly before using this feature.
    • Export to Excel: the invoice will be exported as a spreadsheet file and opened for you (provided you have a spreadsheet application installed).

When you click on the OK button the invoice will be printed in the form you have chosen.

Previous: Ordering from one store to another Next: Receiving goods (Goods Receipt function)

2011/04/28 11:15 · John Ross

Receiving goods (goods receipt function)

Entering goods received

If the receiving store is receiving goods from another virtual store in your mSupply system, in response to an Internal Requisition (Purchase Order) from that store, the Goods Receipt will be created automatically - refer Receiving the goods (Customer Store). Open this automatically created Goods Receipt. Do not create a new Goods Receipt!

Choose Supplier > New goods received and this window appears:

There is some read-only information at the top of the goods received note that cannot be edited:

  • Store: The name of the store the goods received note belongs to.
  • Goods received ID: This goods received note's number. The number is automatically incremented and assigned when the goods received note is first created and is unique within a store. Note that goods received notes in different stores could have the same number.
  • Created by: The name of the user who created the goods received note.
  • Modified by: The name of the user who last modified the goods received note.
  • Entry date: The date the goods received note was created.
  • Purchase order: The number of the purchase order the goods on this goods received note were ordered on. It is a link and clicking on it will open the purchase order.
  • Supplier invoice: The number of the supplier invoice produced from this goods received note. The number is filled in after the goods received note is finalised. Again, it is a link and clicking on it will open the supplier invoice.
  • Status: The status of the goods received note:
    • nw = new, the goods received note is not complete yet and is still editable
    • fn = finalised, the goods received note is complete and is no longer editable

If you have goods receipt authorisation set up in Store Preferences there will be an extra Authorised column - see the Authorising items on goods received notes section below for more details.

In the Supplier field (which displays Search Purchase Order when it first opens), enter the first few characters of the name of the supplier from whom the order has been received; to display all Purchase Orders awaited, enter @ in the Supplier field. (This has been done in the example shown below):

From this screen select the entry which matches the order you have received either by double clicking on the entry, or by highlighting the entry and clicking on the Use button.

The New Goods Receipt window reappears with the supplier field and some other details completed.

At this point you should fill in the Supplier reference field (with the delivery note number, for example) and the Comment field (with any extra information you need to record about the delivery).

Next, you should click on the Add from Purchase Order button to add the items which have arrived to the goods received note. Clicking the button brings up the Choose order lines… window:

This window displays the goods on the Purchase Order, and you may either select each item separately (click on a single item), the entire order (click on an item then press Ctrl+A on the keyboard, or Cmd+A on a Mac) or something in between (use Ctrl+click to select individual items and add/remove them to/from the selection and/or Shift+click to select a range of items) to enter the details of the items received!

If you're trying to find a particular item in a long list you can also type the start of the item's name or code into the search box at the top and the list will be filtered to show items which have a name or code starting with what you have typed.

In any case, when you have selected the items to receive, click on the Use button.

Occasionally goods may be received which were not ordered; when this occurs, click on the Add an un-ordered item button and select the item before proceeding.

Goods receipt line entry

You are now presented with the Edit goods received line window for the first item:

Let's have a look around the window and see what information is being displayed:

  • Item: the name of the item we're entering the information about. At the end of the field is the item's code.
  • Remaining quantity to receive: the number of packs we're still waiting to receive from the supplier on the purchase order this goods receipt note is for. This is 0 on the screenshot because, by default, mSupply creates a line in the table which contains all the outstanding stock.
  • packs of: the pack size (number of items in the packs) we're waiting to receive. So, the total number of individual pieces of this item we're waiting to receive is Remaining quantity to receive x packs of.
  • table: contains all the lines of the item that we're receiving from the supplier. Click on any of the cells to edit them (they are all editable except the Total quan column because this is a calculated column and equal to Quantity x Pack Size). There will be a separate line in this table for each batch or location (and manufacturer if the preference to record manufacturer is turned on - entering a manufacturer is the same as entering a location i.e. enter the first few characters of the manufacturer's name and press the Tab key on the keyboard and select the manufacturer you want from the list displayed or click on the New button to create a new manufacturer).
  • Expiry date picker: this is in the column just to the right of the Expiry column. Click on it to select the expiry date from a date picker: Click on a month and year in either order and mSupply enters the last day of that month in the expiry date column. You can manually edit the date (or manually enter it without using the picker) if you don't want the last day of the month.
  • Volume per pack: the volume per pack for the line currently selected in the table. Will be set to the item's default volume per pack if it has one, otherwise 0.
  • Weight per pack: the weight per pack for the line currently selected in the table. Will be set to the item's default weight per pack if it has one, otherwise 0.
  • Total line weight: the total weight of this line in the table (= Weight per pack x Quantity column figure for the line)
  • Total capacity: the total volume the location for the selected line in the table has. 0 if the location is not set for the line or has no volume set.
  • Available space: the available space in the location before putting this line in it.
  • Space required: the volume this line requires (= Volume per pack x Quantity column figure for the line). So compare this with the Available space figure to see whether the line will fit in the location selected.
  • Comment: Anything you want recorded for this line. Anything typed in here will appear in the Comment column in the table.

If you have set a note for this item on the purchase order (see Notes section in Editing Purchase Order Lines) then an extra Note section will appear at the bottom of the window:

Until the Note has been actioned checkbox is checked, lines for this item will appear in red on the overall goods receipt window (see below).

To add lines for new batches or locations, click on the Add line or Duplicate line line button - they both add a line, Add line adds a blank one, Duplicate copies the line currently selected in the table. No surprises but, to delete a selected line, you click on the Delete line button!

You can edit a row in the table by clicking on the various cells. It is best to click on the left-hand Quantity cell and adjust that one first. Then you can use the tab key to advance to the next cell in the row.

Let's take the following example for amoxycillin 500mg caps.

quantity pack batch expiry
648 1000 b1234 30/6/18
324 1000 b1235 30/11/18

Let's say there are 12 packs in a box, and 27 boxes on a pallet, so you have 2 pallets of the first batch and one pallet of the second batch. You can only put one pallet in each location, so the first row will be split into two.

Enter the details into the first row as above.

If you are entering details for an item which has its “Expiry date required on receive” preference set (see here for details) and you do not enter an expiry date for any of the item's batches then, when you click on the OK or OK & Next buttons, you will be shown a warning message and you will not be able to close the window without entering an expiry date for each batch or deleting all the item's batches.

Location management when receiving goods.

If the items you are receiving have had a location and volume entered when the Purchase Order was created, these will be transferred to the goods receipt. If you want to edit these details you can do so by double-clicking a line and either changing the volume or the location.

You can then choose a different location by entering it in the location field, or enter the start of a location code and press tab to get a list of matching locations.

When you get to the location column, we type m then press tab. you are shown the location choosing window with locations that match “m”

Note we have then clicked the Show empty radio button, as we are putting away a whole pallet, and pallets only go in empty locations. The Show available radio button shows locations that have enough spare capacity to take the volume of the line we are receiving. We then double-click on the location to choose.

If the item you are receiving has a default location set for it, this will have already been filled in when the line was added to the purchase order. Default locations should be set if the same item is always put in the same place, otherwise leave it blank. In the current example we've assumed it has not been set for each item.

Now we have entered all details for the line, we can click on the row to highlight it, then click the Duplicate line button to create another row the same without entering all the details again - you then only need to click on the location column on the newly duplicated row, and you can edit the location to find another empty location for the second pallet.

Once done, you can duplicate the row again, and this time you have to change the batch (to b1235), expiry (to 30/11/18) and location.

Then your window should look like this:

Note that the bottom row of the table shows you the total number of packs and total quantity being received.

If all the details are correct click OK (or OK & Next if you selected more items to be added from the purchase order) or click Cancel if you want to abandon this entry. You will be taken back to the window showing the overall goods receipt, this time including the lines you've just entered:

Review overall Goods Receipt

All the items you've selected have been added to the goods receipt The quantity is set to the total remaining to be received for that item.

Double click on each item in turn and the window allowing you to enter quantities, pack, batch numbers, expiry dates.

Red line in the Goods Receipt?

If you see lines show up in red on the Goods Receipt that means that you have set a note that must be actioned for that line on the Purchase Order (see Notes section of Editing Purchase Order lines for details).

Once you have actioned the note, the lines will return to their 'normal' black colour.

The right hand side of the window shows you the shelf location, total capacity and available space for a particular item in a particular shelf location. You are also shown the volume or space required for a particular item. The small “refresh” icon the right inserts the default location for the items. The volume of the shelf location is now reduced to reflect the space consumed by our newly added stock item.

After entering the details for each item, you can click on OK & next to proceed to editing the next item.

Finalising Goods Received

The next step in receiving your goods into mSupply is to create a supplier invoice (that is where you will enter pricing information if you need to). This is done automatically for you when you finalise the goods receipt.

When you have entered all the goods you have received onto the Goods Receipt note, you finalise it by checking the Finalise box in the bottom left hand corner of the window and clicking on the OK button. Only do this when you are sure the Goods receipt note is an accurate record of what you have received and contains all the information you want in it because finalised means finalised and you won't be able to change it afterwards (just like everywhere else in mSupply!).

Finalising a Goods Receipt will update the received (and outstanding) quantities in the Purchase Order for any goods receipt lines which came from a Purchase Order.

Your goods are not yet entered into stock in mSupply - that only happens when the supplier invoice is confirmed. The initial status of this automatically created supplier invoice is controlled by the “When finalising a Goods Receipt” store preference - see here for details.

If you have the store preferences set to force supplier invoice authorisation, you will not be able to confirm supplier invoices (and therefore bring items into stock) until they have been authorised. See here for details.

Authorising items on goods received notes

When you have goods received note authorisation turned on in Store Preferences you will see an extra “Authorised” column on your goods received note:

The column will contain a checkbox for each batch you add to the goods received note. If a batch is authorised then check its box in the Authorised column (only users with the Can authorise goods received permission can check these boxes). You can enter any notes on batches which fail authorisation in the Authorisation comment box at the bottom. When you finalise your goods received note only the batches which have been authorised will be put on the automatically created supplier invoice. In this way you have a complete record of what was received, what was satisfactory and what was sub-standard.

Viewing existing Goods Receipts

Choose Supplier > Show goods received…

A standard mSupply find window is shown:

Click the OK button to view the last 15 goods receipts, or enter a value to find in the lower field, and choose the field you are searching for in the left-hand drop-down list (if you enter something in the lower text box this filter only will be used and the top one - number of recent goods received notes - will be ignored). This window then opens to show the goods received notes that match your filter selections:

New button: Creates a new goods received note

Find button: Opens the search filter window again, allowing you to make a new search for goods received notes.

Accessing the related Purchase Order when the Edit goods received window is open is achieved by clicking on the blue “Purchase Order” on the right side.

Similarly, if you want to see the linked Supplier Invoice then click on the blue “Supplier Invoice”.

If you have turned on any of the custom stock fields in store preferences they will be displayed as columns (between the Batch and Expiry columns) in the list of items and the information you entered for these fields when the stock was received will be shown in the appropriate cells. If you double-click on one of the supplier invoice lines to edit it (assuming they are editable!), you will see the custom fields and be able to enter information into them.

Outstanding Purchase Order lines

Outstanding PO lines are those which you are still waiting to be delivered from the supplier (also known as your pipeline stock). These will only be updated when a Goods Receipt is finalised. You can view them by either:

  • Clicking on Show outstanding PO lines on the Navigator's Supplier tab or
  • From the Supplier > Show outstanding PO lines menu item

Viewing and editing supplier invoices created via Goods Receipts

Supplier invoices created via goods receipts differ slightly from standard supplier invoices.

The Price tab

Here, you can add in any extra currency related charges

  1. in the supplier's currency in the Extra Foreign Currency charge field , and
  2. in your local currency in the Local charges field and mSupply will automatically calculate the updated invoice price.

Here's an example of how mSupply will do this with a currency “YXB” whose rate is YXB 7 = USD 1

Item Foreign Price Quantity Foreign Currency
Price Extension
Local Price Local price Extension
Amoxycillin 250mg tabs 50 10 500 70 3,500
Paracetamol 500mg tabs 300 5 1,500 35 10,500

Now we add USD300 of freight charges and YXB1400 of import duties:

  • The total USD value of the order is USD2000, so 15% must be added to each line to account for this
  • The YXB1400 is equivalent to USD200 in local charges, so 10% must be added.
  • Therefore a total of 25% is added.
Item Foreign Price Quantity Foreign Currency
Price Extension
Local Price Local price Extension
Amoxycillin 250mg tabs 50 10 500 87.5 4,375
Paracetamol 500mg tabs 300 5 1500 43.75 13,125

Currency and Currency rate

Select the supplier currency from this drop-down box, and enter the current exchange rate in the Currency rate field . Note that currencies must first be entered using the menu item Special>Currencies. See Currencies...

Extra foreign currency charges

In the supplier's currency, enter any extra charges from the supplier.

Local charges

Enter any local charges, in your local currency.

Application of charges

mSupply distributes any extra charges proportionally according to the invoice value of each item on the invoice; this is done automatically

MoneyWorks tab

If you are using the MoneyWorks accounting software (which is highly recommended), clicking on this tab allows you to export the invoice details to MoneyWorks. Elsewhere in this guide instructions on setting up mSupply to work with Moneyworks are to be found. See moneyworks.

Previous: Receiving Goods - a Supplier Invoice Next: New Supplier credit

2011/05/18 10:02 · Craig Drown

New supplier credit

Entering a supplier credit is exactly the same as entering a customer invoice, except that you enter a supplier code rather than a customer code.

Note that the transaction uses the cost price of the goods to calculate the invoice value. If you have set the mSupply Preferences to allow editing sell prices, you will also be able to edit the price at which you return goods on a supplier credit.

You can also adjust the cost price of an item line manually. To change an item line's cost price, choose Items | View or edit item… Locate the item concerned, then click on the “stock” tab to display the item lines. Click the item line you wish to change, then click the “edit line” button. (Only users in the “high access” group can perform this action.)

Previous: Receiving goods (Goods Receipt function) Next: Editing Pack Sizes

2011/05/12 06:54 · John Ross

Editing pack sizes

New: version 3.03

Changing pack sizes for items already received

If you have received goods and the supplier invoice is taken off hold, these goods will go into stock and be available for issue.

You can still edit the pack size if.

  1. No stock has been issued, or:
  2. You have the user preference set that allows editing pack sizes even after issue. 7)

Allowing editing of pack sizes

Changing a received pack size after items have been issued

Take as an example chloramphenicol eye ointment; a delivery has been received, comprising 500 tubes, packed in packs of 100 - i.e. 5 boxes, each containing 100 tubes. When the entry is made into mSupply the operator in error enters a quantity of 5 and a pack size of 1, instead of a quantity of 5 and a pack size of 100.

Provided the user permission described above has been set, the error can be rectified, and the invoice altered to show the correct pack size of 100. From the Supplier menu, choose Show invoices to access the required invoice. Select the line Chloramphenicol 1% eye oint,and double click on it. If stock has already been issued, a window will appear to alert you, and allowing you immediate access to the customer invoices detailing the issues.

It should be noted that adjustments may be necessary on these invoices.

Click OK to display the Add/edit supplier invoice line where the correction can be made by changing the Pack size entry from 1 to 100.

How is this different to splitting a stock line?

Splitting a stock line is required when a store receives and manages an item whose pack size contains a number of units in the pack, but typically issues the item to the store's customers in smaller quantities. Taking the example above, the store receives and manages chloramphenicol eye ointment in a pack size of 100, but issues in single tubes.

  • Editing the pack size in a supplier invoice, changes the total stock on hand (and / or issued)
  • Splitting a stock line does not change the total stock on hand (and / or issued)

The Item details screen is displayed from the Item > Show items menu, by entering the first few characters of the item in the Find item window. From the list on the side bar, click Stock, and on the window which appears click on the appropriate line to select it; the window should now have this appearance:

Click the Split button, and fill in the appropriate details on the form - in this example the 3 packs of 100 are to be changed to 300 packs of 1.

Looking again at the Item details window, the stock is now displayed as 300 single units, and the store is now able to issue as little as a single tube, or any quantity up to the total available.

Previous: New Supplier credit.... Next: Show outstanding Purchase Order lines

2011/05/30 10:29 · Craig Drown

Managing outstanding purchase order lines (pipeline stock)

Stock that you have ordered and waiting to be delivered is called your pipeline stock. Sometimes it's helpful and important to monitor this stock so mSupply has functions to help you do that.

Pipeline stock is represented by all the outstanding purchase order lines i.e. purchase order lines on confirmed purchase orders which haven't been fully received into mSupply yet.

To see all your pipeline stock simply choose Supplier > Show outstanding PO lines… from the menus or click on the Outstanding icon in the Purchase orders section of the Suppliers tab on the navigator. This window will open:

All lines in black are those where the expected delivery date (EDD) is after the current date i.e. where the Days to EDD column (which contains the difference between the EDD for a line and the current date) has a number greater than 0. These are items which are not yet overdue but, if the Days to EDD column contains a small number, you might want to call the supplier to check on the delivery.

All lines in red are those where the expected delivery date is on or before the current date i.e. where the Days to EDD column contains 0. These items are overdue and it probably means that the supplier could do with a call to find out what's happening with your delivery.

The Adjusted quantity column shows the actual number of items you ordered (number of packs x the packsize).

The Qty received column shows the number of items (number of packs x the packsize) yo have already received into mSupply.

The Qty Outstanding column shows the remaining number of items on the order waiting to be received (Adjusted quantity - Qty received).

Double clicking on any line will open the Purchase Order with that line highlighted.

You can print the list of purchase order lines currently displayed in this window at any time by clicking on the Print button - as usual, you will be given the option of printing or exporting to Excel.

Update EDD button

If you speak with the supplier about a delivery or receive information from elsewhere about when goods are going to be delivered you can update the expected delivery date for those lines.

To do this, simply select the lines in the table that are affected then click on the Update EDD button. In the window that opens, enter the new EDD for the lines and click on the Update button. The EDD is immediately updated for the chosen lines and, if the lines were red, they will turn black.

You can select multiple lines to update using the usual Shift+click to select/deselect a range of lines and Ctrl+click (Cmd+click on Mac) to add/remove a line to/from what is currently selected.

Filtering the list

Sometimes the list of outstanding purchase order lines can be very long (just after running your annual tender for example, or when you have placed several large orders) and it can be hard to find a specific item or items expected from a particular supplier. To help in this situation, mSupply allows you to filter the displayed list.

To do this, select the type of filter you would like to apply by clicking on the filter icon () just to the left of the textbox and select one of:

  • Search by supplier or code - will show only those outstanding purchase order lines on purchase orders whose supplier name or code begins with what you type in the textbox
  • Item name or code - will show only those outstanding purchase order lines whose item name or code begins with what you type in the textbox