Version History

mSupply v5.00 (2021-02-17)

This was our maintenance release, which has a lot of tweaks to help mSupply run even more smoothly, so you will notice a lot of bug fixes.

It also comes with a few exciting new features such as a cold chain app integration, improvements to barcode functionality, and the ability to change your language on the log-in page! This new release comes with a change in hardware requirements, as detailed here. Single-user and client versions of mSupply require Windows 10 or higher, and the server versions of mSupply may be run on the same or will require Windows 2016 server or higher.

New Features

See our docs to read more about our new features!

Cold Chain Equipment integration in mSupply desktop!

  • Merge CCE integration feature branch into develop [7711]
  • AlternateHTTP extra logging [7630]
  • Alternate HTTP Server preferences [7629]
  • coldchain API login endpoint [7628]
  • Per store credentials UI [7627]
  • Add LightningV5 Component [7598]
  • Multiple temperature breach configs per store [7597]
  • Update TemperatureBreachConfiguration form for CCE integration [7593]
  • Form for viewing temperature logs [7580]
  • UI For per store credentials [7577]
  • Per store credentials [7576]
  • Notifications of temperature breaches UI [7533]
  • TemperatureBreachConfiguration form should be restricted as store data [7532]
  • Form to view sensors and manage location and sensor linking [7531]
  • Vaccines schema update [7529]
  • New sensor end-point [7516]
  • New temperature-breach-configuration endpoint [7515]
  • New temperature-log endpoint [7513]


  • Option to add barcodes to existing item lines [7583]

For Niger

  • POD: Niger customer invoice printout: needs a QR code of the invoice ID [7466]
  • Customer invoices: add a “Received in full and good condition” checkbox [7455]
  • Customer invoices: add custom data to transaction line issue window [7454]

For UK-Med

  • UK-Med: New customer invoices and tweak to boxing functionality needed [7032]


  • DRC import data from Excel [7152]

For everyone

  • MVP Scheduler push to InfoHub server to collect mSupply instance data [7367]
  • Users now able to switch language on login. [4456]
  • Location “output” form- add a column for replenishment location type [7204]
  • Use “Set User Alias” to use the real user name for 4D generated user lists (v18) [5322]



  • Pickface : Replenish up to quantity seems NOT to be reached when clicking “Generate all Replenishments” icon [7312]
  • Adding replenishment : The packsize for bulk fails to default to the Bulk packsize setup in item.details.Storage form [7311]

For Axios

  • Axios One Network: Duplicate shipment prevention [6825]

For everyone

  • Show location column on stocktake new line window [7463]
  • Add Manufacture and Expiry date columns to the deliveries to site Inbound report [7381]
  • Enable connecting to hub on registration [7842]
  • Rename new temperature breach fields + new field [7836]
  • Remove carriage return line endings [7828]
  • Restrict non-mobile collector stores from pushing to hub [7796]
  • Push store site identifiers to hub [7770]
  • Change the logic of assigning sensor to a location so it has one-to-one relationship [7609]
  • Send active stores to info hub [7567]
  • Re-word button and alert when removing item from master list [6128]
  • Cash register: add search by name [6091]

Bug fixes

  • Runtime error: While trying to see invoice that was incomplete after server quit unexpectedly [7848]
  • Transactional reporting window > Transaction category filter > cannot choose the DDL options [7814]
  • The message in Adjustment Reason DDL is cut in Inventory adjust – reduce stock [7735]
  • Foreign currency total is drastically different than what the total (after conversion) is supposed to show [7731]
  • Creating a store from a name creates a new stock transfer when an old CI is edited [7566]
  • Dashboard export failed for pref_blob table [7565]
  • Runtime error when printing a confirmed prescription with multiple items [7520]
  • Items: Clicking on the Universal code magnifying glass icon when item is linked to a universal code opens a spurious empty window [7511]
  • Transaction report window is not sized well when custom stock fields are used [7482]
  • DHIS2 stock status code typo: `lenght` [7481]
  • Item window : store specific checkbox not being displayed on Supervisor mode. [7462]
  • Cash register report: Runtime error when records including empty Defined Reason [7457]
  • New Calculated Purchase Order > Search by item query does not seem to work [7453]
  • Cash register: Wrong patient/customer code shows on view cash transaction [7411]
  • Ok & next button does nothing when adding items to New Customer Requisition form [7409]
  • Cross reference item: viewing its details shows the code of the x ref item twice. 2nd Instance should be the code of the referenced item. [7397]
  • Suggested_order_quantity report has incorrectly formatted header line [7392]
  • Stock take date error message is incorrect [7365]
  • Current stock report: Total stock for each item format is broken [7362]
  • Rename “Master list” to “Master lists” [7360]
  • Sierra Leone custom CI form expiry date column is truncated [7348]
  • Item stock line details: “Close” button doesn’t work [7337]
  • Creating a new item: default weight is set to 1 instead of 0 [7326]
  • Prescriptions: “Close” button on finalised prescriptions doesn’t work [7300]
  • Prescriptions: credit limit is not saved if patient is edited from the prescription window [7299]
  • Cross-tab Excel reports don’t have the units [7259]
  • Method barcodeUpdatePicklistCheck is broken [7255]
  • Cleanup of barcode printing methods [7251]
  • Customer invoices: Prescribed quantity field is displayed when option is set, should only be on prescriptions [7248]
  • “Filter Location by Location type” ignored other search field in Report Location [7240]
  • Item Input > Order Options > Expiry date required.. is a radio button. Should be a checkbox [7236]
  • Runtime error when clicking on Draw button for polygon without coordinates [7158]
  • Group user permission missing against creating new datafile against sync offline datafile. [7062]
  • The date filter from previous customer applies for the current one after clicking “OK & Next” in Invoices tab, but current date filter are shown as default [6989]
  • [item_line]name_id : not updated when supplier name is changed on existing Confirmed invoice [6796]
  • Export names should include store names [6787]
  • Inventory Adjustment-> mismatch hover text of Adjustment Reason field [6763]
  • When merging item / Name or anywhere > Create a JSON log of deleted record [6746]
  • Controlling the visibility for other store from cloud doesn’t check the SOH [6702]
  • Changing Prescriber homestore from one site to another is not syncing properly. [6681]
  • Excel Spreadheet template absent for Each invoice line by item transactions report. [6498]
  • Name import: import of names with no code or name allowed [6378]
  • DHIS2 Settings say I’m connected without entering anything [6374]
  • Policy insurance infos on a Primary with sync on are not read only [6281]
  • The “Received vs Sent” transaction report shows no data even if there are [6250]
  • V18 Change Current User error [6156]
  • New Internal order “no programs” warning is annoying [6092]
  • When printing many records from name list – confirm buttons are reversed [6059]
  • Editing inventory adjustment line shows supplier invoice fields [6052]
  • The Goods received consignment Report display the wrong Outstanding quantity [6034]
  • Dispensing: when a customer credit is made to offset incoming cash, description should link to the cash receipt [5982]
  • Cash register: searching for a name should be same as for a patient [5980]
  • Bulk edit store preferences: Window resizing needs handling [5976]
  • User is prompted to finalise records on a collector copy of store [4224]
  • Can auto confirm foreign CI on primary [4209]
  • Prescriber report shows ‘0’ prescription counts [3855]
  • bugs in Supervisor multi-store PO’s [3014]
  • Transaction report: Each invoice grouped by date has confusing Total colum header [2545]

Read more »

mSupply v4.14 (2020-11-20)

New Features

See our docs to read more about our new features!

Universal Codes Integration

  • Save external codes to item when adding universal code [6971]
  • Add user-editable item properties [7238]

Pickfaces in mSupply

  • Add pickface replenishment functionality [6961]
  • Items: add ability to set pickface locations [6949]

For everyone

  • Store log should exist and be populated with all significant events [6452]
  • Add warning alert when making a new stocktake if any unconfirmed invoices (CIs) exist [6407]
  • Sync system: allow viewing master lists on satellite sites [6112]
  • Add Copy/Paste/Toggle selection buttons on the Name > Store visibility [3817]
  • Add Disease(Diagnosis) Selection to Dispensing transactions [2274]
  • Make Store General and preferences tabs visible and non-editable when on a satellite site [6966]

For Axios One Network

  • Axios One Network: Duplicate shipment cleanup [6827]
  • New section for an extra charge to show up in the standard supplier inv report [6842]

For Samoa

  • Automate prescription pricing for convicts/victims/NCD subsidy – calculate price based on prescription category [7086]
  • Add customized prescription pricing for Samoa [6886]
  • Add customized dispensary label for Samoa [6885]\
  • Allow for principal pharmacist over-riding of price [6891]
  • Add diagnosis selection for prescriptions using the NCD subsidy [6890]
  • Add prescription pricing and store ward for inpatients [6889]
  • Automate prescription pricing for pensioners [6888]
  • Automate prescription pricing for convicts/victims/NCD subsidy – add custom data to transaction categories [6887]
  • Alert users if repeat is dispensed before a defined interval [6884]
  • Show whether an item is “non-prescription” when dispensing [6883]
  • Display patient weight on prescription [6875]

For UNFPA Fiji

  • Purchase Order Import for UNFPA Fiji [6940]


  • Patch UC functionality to versioned graph schema [7237]
  • Only show prescription credit in Ivory Coast [7193]
  • Add name_tag records to mobile upgrade message for 6.0 [7067]
  • Purchase orders: make custom data fields available [6901]
  • Add Master lists tab to Item details form [6873]
  • More detail or better logging for our Sussol_Admin utility methods. [6745]
  • Name creation log should include the user who created it [6450]
  • Make name Category 1 field search filter hierarchical [6131]
  • Item Master Lists: OK & Next button when adding items. [6085]
  • Requisition/Internal Order “New line” should have “OK & Next” [2211]

Bug fixes

  • Invitech customer invoice, pick slip and purchase order do not work correctly [7425]
  • Stock on date report is not sorting the department field [7376]
  • Ok and ‘Ok & Next’ buttons have strange behaviour on Add item window [7358]
  • Pickface fields not functioning properly in the item > storage tab [7274]
  • Replenishments: clicking on the down arrow button on the “Add replenishment” window throws an error [7229]
  • Replenishments: can assign a worker to finalised replenishments [7228]
  • Item details: The text following the bulk trigger level and replenish up to fields is using preferred pack size instead of outer pack size [7222]
  • Check the table number validity [7217]
  • Barcode labels print half off the label [7176]
  • Viewing the issued lines throws runtime error [7170]
  • Can not export invoices with error: The export destination none does not exist. [7163]
  • Help > About mSupply screen takes a long time to display in HUGE database [7146]
  • Can’t enter 0 in the list box in the max lines column for an order type [7141]
  • Cannot save changes to [log] records in record browser [7135]
  • Permissions are erased when navigating between groups for user permissions when operator is using non-english language [7132]
  • Permissions are erased when navigating between stores for user permissions when operator is using french language [7123]
  • Dashboard Export : export fails for transact [7101]
  • Repeated sync filtering of records for new tables looping each time [7064]
  • Runtime error message displayed when entering the inventory/stocktake [7056]
  • One Network picklists: the program column value will be missing for stock from repacks [7031]
  • Supplier Hub : Warn user that goods received should not be manually entered for supplier that is linked to supplier hub. [6996]
  • Creating a new store on a mirrored primary no longer syncs to the central server [6959]
  • Showing sync records on large data files is far too slow [6954]
  • Prescriptions with payments: can’t be finalised on a non-Côte d’Ivoire datafile [6899]
  • Exporting invoices: should export to documents folder next to datafile, not to TEMP folder [6896]
  • Creating new datafile, eLMIS process ID pref blob is created against wrong name [6894]
  • Cash register: not possible to show transactions from just one day [6811]
  • Merging item when screen width and height is big enough lost horizontal and vertical scrollbar [6767]
  • dashboardReportExpiringItemList ($1;$2) report is virtually unintelligable when generating a bar chart [6762]
  • Utility Json data import fail on exe [6755]
  • Item store join records get locked and other item itself is locked [6725]
  • Merging items: Item name does not appear in stock [6721]
  • Fix Names export when Category_1 is not populated [6447]
  • Fix filter applying to selection of Item Category in report generator [6445]
  • Add to patient med records shouldn’t allow cash receipts/payments [6350]
  • Not possible to edit the Confirm date of new prescriptions after getting an alert message [6105]
  • Problems selecting the same item line or the same batch in the item ledger [2169]

Read more »

mSupply v4.12 (2020-07-29)

New Features

See our docs to read more about our new features!

Cold Chain Equipment in mSupply

  • Add new way to indicate the item is a vaccine in the item window [6116]
  • Create `vaccine_vial_monitor_status` form [6392]
  • Create `temperature_breach_config` Form [6391]
  • New temperature breach configuration form / vaccine vial monitor status form [6089]

Easier importing/exporting of new datafiles (Site wizard)

  • Add Site export form
  • Add user permission to change Sync settings [6362]
  • Add window for importing data on new install/datafile [6246]
  • Export sites new option in file menu [6521]


  • UK-Med: need to be able to access Crown Agents’ import purchase order functionality [6292]
  • Dynamic scheduler – create main scheduler details list box [6416]
  • Add pref for Tupaia SurveyResponse [6394]
  • Merging and transferring patients between stores [5082]
  • As an admin, I want to search login rights on edit user so I can find the store I want [2389]


Report improvements

  • “Each invoice line by item” transaction report needs some more columns [6436]
  • Kaduna Deliver Note: Kaduna wants addresses and volume in ml [6386]
  • Clarify column headings in Stock on date Report, Show items with batches [6278]
  • Make Stock on date report suitable for Supervisor Mode [6252]
  • Make Current stock report suitable for Supervisor Mode [6251]

Setting up sync and store visibility settings

  • Store visibility for a new Name should be only to the store in which it has been created – by default [5891]
  • Store sync settings should be consistent with store visibility in other stores [5754]
  • Editing store visibility for a Store Name should result in the same visibility for this Name in the other store [5480]


  • Universal codes lookup does not handle whitespace [6560]
  • Create vaccine related data sync out records when enabling vaccine module [6505]
  • Refactor vaccine tupaia push [6088]

Bug fixes


  • UNFPA Tupaia Push, AMC is wrong for some items [6622]

For Ivory Coast

  • Finalising a supplier invoice created by linking to a requisition does not enter the items into stock [6593]

For Kaduna State, Nigeria

  • Kaduna Deliver Note: Bottom logo get chopped. [6547]

For all clients

  • Lines on a customer credit can’t be edited by double-clicking when the ‘‘Limit patient credits to previously prescribed items’‘ preference is turned on [6546]
  • Missing translation prescription’s payment tab [6530]
  • Give users visual indication of pending patient transfers + prevent editing in the meantime [6507]
  • Insurance tab and home store DDL shouldn’t be visible for new patient/prescriber [6458]
  • Cash Receipt Cancellation assigns the amount outstanding to the wrong invoice [6414]
  • Customer invoice window not re-sizable, whereas Supplier invoice is [6408]
  • Have sync handle gracefully error when trying to sync to non existing table or Field [6403]
  • Customer credits: A confirm button can appear, which is non-functional [6388]
  • UserName: Can’t see which user name is selected, mSupply client log in screen [6337]
  • Purchase order import: imports the first line of data in the import file only [6291]
  • Cancelling while generating sync records doesn’t really cancel the operation [6285]
  • Customer invoices: the transport dates are not editable on finalised invoices even if the user has the permission [6277]
  • Customer invoice/prescription and supplier invoice confirmation needs to check if item is on hold [6226]
  • Customer invoice, prescription and supplier invoice confirmation needs to check if name is on hold [6224]
  • Bulk store pref does not update sync out queue [6168]
  • Satellite site import XML shouldn’t receive stores with sync type None [6120]
  • Can issue/receive stock against new item which isn’t visible. [6057]
  • Duplicating a master list doesn’t update listbox to show duplicate [6050]
  • PNG-specific upgrade code needed before they’re upgraded from v4.08 [6032]
  • New customer name not visible in store with unchecked pref `Names created in other stores not visible in this store` [6026]
  • Management Summary Report: Value of stock at the end of the reported period [5969]
  • Making a patient visible in a new store should sync the patient details to that store’s site [5924]
  • Prescriptions don’t need to be restricted to just a patient’s home store [5845]
  • Sync type of newly created store is reported (and handled?) incorrectly. [5842]
  • Confusing masterlist selection in New Store creation. [5806]
  • Error message when editing Name Store visibility is misleading [5485]

Read more »