mSupply v9.0 (2026-04-09)
New Features
Improvements
- Option to select specific fields to export in dashboard [17666]
- Tamanu prescription integration updates [17880]
- Stock window: export to excel all the stock columns [18028]
- Able to process multiple repeats in one prescription [17735]
- Patient merge button while doing prescription [17762]
- Use machine id to identify clients for default printer prefs [17660]
- Web authorisation: add button in requisition to recheck authorisation status [17325]
- Tender: preferred column in the evaluation report to show if it is preferred or not [18058]
- Support DB: Send the deleted site details to the Support DB app [17915]
- Add confirmation alert when the user clicks on the duplicate lines button in a transact [17772]
- Separate json logging for rest errors [17565]
- Add a purchase order reference column on the outstanding purchase order line excel report. [17776]
- Alphabetically sort master lists when applying master list filter [17769]
Nigeria
- NHLMIS integration updates [17960] [17894] [17887]
- One Network integration (COMS): changes to make it usable for non-Akesis stores [17506]
- One Network integration (COMS) updates [17711] [17665] [17658] [17648] [17636] [17621] [17618] [17615] [17603]
Niger
- Niger DHIS2 Integration [17763]
Afghanistan
- Custom report for dispatch printing template [17744]
Côte d’Ivoire
- Internal requisition report to include indicator code [17824]
- eSIGL integration: only push requisition order for the specific supplying stores [17823]
Bug fixes
- Print issue: Windows 11 microsoft print to pdf print error code 995 [17956]
- Delete relevant sync out records when all of the stores are removed from a sync site [17838]
- Improve alert when ‘Removing item from masterlist’ [17765]
- Calculated purchase order should not be able to choose mSupply store as a supplier [17736]
- Runtime error while opening the merged location [17686]
- Restrict to put an invalid number for pack size during stock split [17657]
- Name merge handle soft deletions [17192]
- Web authorisation: able to work on a single user with sync turned off. #15347 [15347]
- When running 2 progress bars, the total and counter numbers of both progress bars are getting mixed up. [11973]
- Runtime error when printing replenishment report [18053]
- The store masterlist visibility does not work in the store window [18005]
- Issue With Replenishment Move List – Export To Excel [17996]
- The stock transfer does not work when the receiving store is not visible [17993]
- When making a store visible to another, the name of that store doesn’t sync to the site [17992]
- Ledger issue: when you delete the lines from the customer invoice and the stock window is opened in another client [17975]
- Syncing the newly created name using mirror sync doesn’t work. [17959]
- Prescription window freezes when you try to view the item details window [17886]
- Handle record locking when doing stock transfer [17861]
- Runtime error while opening a merged location [17686]
- Item reconcile code creates the stock line for the placeholder lines in a supplier invoice [17987]
- Tender imports should handle the number as text [17986]
- In the prescription window, add space in the UI for date of birth [17921]
- ‘Tender lines with supplier response’ Spreadsheet Missing Lines [17906]
- Import tender not working if manufacturer is missing [17893]
- Haiti: Phased stocktake gets finalised even if the record has been locked [17875]
- In prescription, the program list does not respond when you re-select a prescriber [17828]
- Window freezes when you click on `OK & Previous` button on the very first record in the `Edit Tender Item` window [18074]
Internal or open mSupply related
- New fields are added
- Preemptive web/sync processes [17536] [17801] [17800] [17788] [17787] [17786] [17878]
- Make background migration processes preemptive [17965]
- Ability to keep records appearing recent for training and demo datafile17662
- Upgrading to 4D v20.8 LTS [17728]
- Removed 4D tokenisation [17869]
- Dashboard OAuth: send additional information for a newer Grafana version [17825]
mSupply v8.08 (2026-02-02)
New Features
- Tamanu prescription integration [17279]
Improvements
- Filter out inactive users in the Special > Store > User tab. [17641]
- Optimized the aggregator calculation for AMC dataElement [17296]
- Add mSupply server version to the customer web interface screen [17583]
- Site log when the site app and version changed [17672]
- Add the number of packs column in the item stock details and stock list form [17655]
- Add a preference to enter the supplier category in the supplier invoice as mandatory. [17511]
Nigeria
- Nigeria: Akesis manufactured date recording customisation [17486]
- Nigeria: Akesis pallet packing customisation [17485]
Haiti
- Haiti: Restrict Phased stocktake to be finalised if the stocks are record locked [17579]
Angola
- Angola Guia de remessa report changes [17631]
Bug fixes
- Another way to get the machine UUID is invalid [17441]
- Fix stock that has been entered in `sg` mode on item builds [17652]
- Runtime error when you try to delete the ingredients in build [17638]
- Consolidate stock: added validation to avoid creating a negative ledger balance [17627]
- Transact without the name ID can be created [17626]
- Repack: added validation to avoid creating a negative ledger balance [17623]
- eSigl schedulers running in interpreted mode [17608]
- Restrict deletion of the manufacturer name that is related to the health supply hub [17432]
- Set mobile remote site supplier invoice line extension price [17340]
- Ledger Problem when a stockline record is locked when consolidating stock [17547]
- Blank log during `item_line_locked` in the same site across different stores [17721]
- Stock list `Export to excel` report does not match the stock columns [17681]
- Runtime error when you try to print `Print box content list` [17576]
- Error while creating new cash receipt [17575]
- Disable price in purchase order once confirmed [17542]
Internal or open mSupply related
- New fields are added
- Open mSupply fields for goods receiving [17582]
- Prevent historic transfers that should be blocked from being created on open mSupply [17507]
- Allow user endpoint authentication even if the default store is not set [17677]
- Change site sync default interval from 1 to 5 minutes [17534]
- Can generate ledger issue report with diagnosis [16866]
- Automatically disabled email to support whenthe database is unregistered [17592]
mSupply v8.07 (2025-12-19)
New Features
Djibouti
- DHIS2 vaccine card integration [16420]
Improvements
Tonga
- Tonga: Goods receipt customised form [17509]
Côte d’Ivoire
- eSigl: Updates for requisition indicators push [17495]
Congo
- DHIS2: handle multiple mSupply items to push to one DHIS2 data element [17481]
Bug fixes
- Runtime error when you try `apply stocks` in dispensary mode [17455]
- A blank manufacturer is being created when you import blank tender lines [17431]
- The stores list gets changed when you click on `all off/on` button in `store visibility` tab on `edit name window` [17416]
- Avoid entering invalid quantities in stocktake, transact, and other forms [17342]
- Trim the spaces of the transline and itemline batch field [17338]
- Masterlist can be created without the description and items [17019]
- Don’t apply `discount list` and `default price` list for supplier credits [17504]
- Requisition transfer logs are creating sync out records to all sites [17554]
- Sync error “No valid table is found: Table Number xxx” – log and allow sync to process [17552]
- Slow site list load due to sorting [17551]
- Increase the length of the item name field [17476]
- The `authorisation` tab shows the pending status of the requisition even if the `authorisation status` is denied [17474]
66] - Don’t allow the change of the customer name when the invoice is finalised [17463]
- Tender module – Unable to edit ‘pref, disq, and evaluator comment’ in compare supplier responses window [17458]
- Requisition should not move to the next level once the lower level rejects it [17460]
- Merging name into store stuck in loop [17419]
- If consolidate is enabled and item line is opened, then creating supplier invoice does not add up the stock in the existing line [17521]
Internal or open mSupply related
- New fields are added
- Index changes for `sync_out` and `site` table [17499] [17436]
Where is mSupply?
mSupply is primarily used in low- and middle-income countries around the world. You can find us in more than 35 countries.
Version History
- mSupply v9.0 (2026-04-09)
- mSupply v8.08 (2026-02-02)
- mSupply v8.07 (2025-12-19)
- mSupply v8.06 (2025-11-10)
- mSupply v8.05 (2025-09-25)
- mSupply v8.04 (2025-08-08)
- mSupply v8.03 (2025-06-27)
- mSupply v8.02 (2025-05-14)
- mSupply v8.01 (2025-03-19)
- mSupply v8.0 (2025-01-30)
- mSupply v7.19 (2024-12-11)
- mSupply v7.18 (2024-10-09)
- mSupply v7.17 (2024-08-31)
- mSupply v7.16 (2024-07-18)
- mSupply v7.15 (2024-06-05)
- mSupply v7.14 (2024-04-26)
- mSupply v7.13 (2024-03-27)
- mSupply v7.12 (2024-02-12)
- mSupply v7.11 (2023-12-22)
- mSupply v7.10 (2023-11-27)
- mSupply v7.09 (2023-10-20)
- mSupply v7.08 (2023-09-22)
- mSupply v7.07 (2023-08-15)
- mSupply v7.06 (2023-07-05)
- mSupply v7.05 (2023-05-25)
- mSupply v7.04 (2023-04-12)
- mSupply v7.03 (2023-03-09)
- mSupply v7.02 (2023-03-01)
- mSupply v7.01 (2023-02-01)
- mSupply v7.00 (2022-12-22)