Version History

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 »

mSupply v4.11 (2020-06-12)

New Features

  • Add vaccine module schema sync updates [6087]
  • Make JSON display of Custom Data nicer in Names (and other?) listboxes [6055]
  • Create a new form for different types of windows: alert, confirm and request [5873]
  • Ability to search by store details in Supervisor mode. [5753]
  • Manual sync button [2210]


  • Myanmar UNOPS: Requisition outstanding items report failed to filter by item name [6190]
  • Migrate historic overpayment values stored in [name]overpayment field [6179]
  • Calculate customer overpayments rather than reading from [name]overpayment field [6178]
  • Refactor to store customer overpayments in the same way as patient credits [6177]
  • Custom General Purchase report Nigeria Kaduna [6161]
  • Streamline dispensary payment forms [6011]
  • Add a method to replace text placeholders and use instead of alert_display() [5893]
  • Store visibility for a new Name should be only to the store in which it has been created – by default [5891]
  • Edit Stores list – add OK & Previous and OK & Next buttons [4510]
  • Fix slowness when searching for supplier invoices in Tonga server [2394]
  • Listbox cells should be edited with double click, not triple [2300]

Bug fixes

  • Run time error: While deleting blank customer credit throws error [6349]
  • Report type requisitions not being exported to Dashboard (Myanmar) [6335]
  • getUnixTime gives incorrect Unix timestamp [6330]
  • Run time error when preference item is not found [6273]
  • mobile preferences in desktop are not clearly labelled [6223]
  • Export Stock for QuanTB doesn’t ignore the disabled store [6222]
  • Customer Invoice Print error using report Summary_portrait_no_logo throwing error [6218]
  • Dispensary store mode is both a field and a preference but not linked [6199]
  • Customer invoice input window freezes [6154]
  • Satellite site import XML shouldn’t receive stores with sync type None [6120]
  • Regimen report fails after data migrated to indicator tables [6111]
  • When issuing or receiving > Deleting invoice Always says to reuse the number [6099]
  • Price category to consider the selling price when issuing is failing [6095]
  • Running Regimen data against the valid reporting data throws runtime error [6082]
  • Creating a CI out from stock history doesn’t select the name on which stock history is made aganist [6062]
  • Response type requisition serial number set to 0 [6061]
  • Creating new request order clicking OK doesn’t open a confirm box in first go [6060]
  • Can issue/receive stock even when name is put on hold. [6058]
  • Can issue/receive stock against new item which isn’t visible. [6057]
  • Prescription Repeats: Deleting the invoice also counts repeats and repeat left math seems wrong [6048]
  • Synchronisation: Sync table search don’t get refreshed. [6043]
  • Errors in dashboard export part2 [6014]
  • Improve json logger to keep log before/after per scheduler for all schedulers [5995]
  • Cash register: add transaction window is not modal so can go to back [5979]
  • Dashboard: Cancelling and re-exporting to PG server – mSupply Crashed. [5977]
  • Unpaid prescriptions for CDI are saved with confirm status, and no amount_outstanding set [5975]
  • Dashboard export: fails for strange dates [5960]
  • Custom stock labels: if 5 or more are made visible, the 5th is stretched vertically on the stock on date report window [5871]
  • Call workers should alway run on server even when client is executing call worker [5652]
  • Runtime error on Response requisition report for direct clients (not stores) [5609]
  • Deprecate the use of field [name]overpayment for the cash/payment module [5211]
  • Remove checking user login rights on store deletion [4540]
  • Watermarks don’t appear on Customer and Supplier invoices [4493]
  • sync check returning incorrect response [4179]
  • Transaction report > ‘cross_tab_name_category1_in_rows_quarters_in_columns_value_in_cells’ reported value is wrong. [3909]
  • Can’t delete a Store if it has historically been assigned a masterlist [3889]
  • Customer invoice sell prices are inconsistent after customer type changed [3570]
  • View Item: Usage stats options should not be restricted to Edit Items permission [2183]

Read more »