Updated: Version 4.02

6.04. Ordering from one store to another

If you run mSupply using virtual stores then you can place an order for goods with another store within mSupply.

There are two ways you can do this:

  • In versions of mSupply newer than v4.01, Internal Orders are the desktop equivalent of supplier requisitions in mSupply mobile. If you're already using purchase orders and goods received records in your workflow, this is a simpler and easier way to place orders in another store:
    1. In the requesting store:
      1. Create an Internal Order to the supplying store.
      2. When the internal order is finalised, a response requisition is automatically created in the supplying store
    2. In the supplying store:
      1. One or more customer invoices can be created from a single response requisition
      2. When each customer invoice is finalised, a supplier invoice is automatically created in the requesting store

Internal Orders are also known as supplier requisitions or request requisitions.

To begin the process, choose Supplier > Show internal orders or click on the Internal orders icon on the Suppliers tab of the Navigator.

The following window will open, showing you a list of all historic internal orders. Click on the Show drop down list to filter the list by the status of the internal orders.


Either double-click on an existing order to edit it, or click the New internal order button to create a new one.

If you have activate programs in mSupply see the Programs heading below

The example below has a few lines already entered:


  • The Name will default to the supplying store for the current store, but any other store in the data file can be selected in the usual way (i.e. enter the first key characters and hit the Tab key to find matches).
  • The Order date defaults to the current date. You can change it.
  • Use either the New line button to manually add a single item, or Add from master list to add any items in the current store's master list which are not there already.
    • If adding from a master list, the cursor will go into the first new item's User requested quantity cell.
    • If adding a single item, the cursor will go into the User requested quantity cell for that item.

  • For each item,
    • mSupply already knows Our stock on hand
    • mSupply calculates the Average monthly consumption based on what the store has issued over the last 12 months (or less if the store hasn't been operating that long).
    • mSupply calculates the Months of stock from Our current stock on hand and the Average monthly consumption, assuming that continues.
    • The Calculated quantity is then worked out by multiplying the Average monthly consumption by the Max MOS (maximum months of stock), and then subtracting Our stock on hand. If the resulting value is negative, a value of 0 will be displayed.
  • The Max MOS is critical to this calculation, and you can change it.
    • There is an industry rule of thumb that the Max MOS should be set to 3 times the ordering cycle.
    • The default Max MOS is 3.0, which is based on an a monthly ordering cycle.
    • If, for example the ordering cycle was every two months, then Max MOS should be set to 3 x 2 = 6.0.
  • Hitting the Tab key will move the cursor into the Comment cell and, if there's another line below, hitting Tab again will move the cursor into the next User requested quantity cell.
  • If necessary, use the Delete line(s) button to remove selected item lines.


If the order has a lot of item lines, you can filter them by typing into the Filter items field, which will change to display the number of visible items out of the total number in the order:


Note that, while a filter is active, some of the other buttons are disabled e.g. you can't save the sort order unless all lines are visible.

You can also filter item lines which have a lot of stock (and therefore don't need to be ordered) by entering a value in the Threshold MOS field. This will automatically tick the Hide stock over threshold checkbox, and hide any lines which have their Months of stock greater than or equal to Threshold MOS.


Once you are satisfied, tick the Finalise checkbox. This will prevent further editing, and automatically delete any lines which have a requested quantity of zero.


When the order is then saved, it will automatically generate a corresponding response requisition in the supplying store. From there, one or more customer invoices can be raised in the supplying store which, when finalised, appear as supplier invoices back in the requesting store in the same way as regular stock transfers.

Activating programs turns on a complex system of managing orders and supplies by program. Here is an example configured for Côte d'Ivoire:

Normal or Emergency Orders: When creating an order type for a program, you can indicate that the order type is for a normal or an emergency order. If you choose normal order the ordering rules will be applied, and the order will be calculated for you. You will usually only be able to place one normal order per period.

If you choose emergency order this will assign a maximum number of lines amount to the order type as specified when you set up emergency orders for the program.

Programs: Each program is linked to a master list. The dropdown list will show all programs assigned to your store. When you choose a program, items from the linked master list will be added to your order. However, items will only be added to the order if they are also visible in your supplier's store. This is to avoid the situation where you request an item that they don't have visible to them (and therefore have no stock to supply)!

  • This method of ordering stock from another mSupply store is deprecated: Internal Orders (above) is the way to do it.
  • Purchase orders are used for Ordering stock from suppliers outside of mSupply

For the most part, the process is the same as for creating a normal purchase order. There are, however, a few significant differences:

  • In the Name field of the purchase order, enter the name of the store which will supply your goods.

The names of suppliers which are stores will appear in RED in the choice list of suppliers. If the name of the store you select as a supplier is BLACK, then you have not chosen another store as a supplier, and the instructions in the remainder of this section do not apply.

  • The Internal requisition label will appear after the name to indicate that this is going to be an internal requisition.

Enter the purchase order lines as normal and when you're finished, confirm the purchase order (at this point you may be prompted to enter budget and/or category information, depending on your preferences):

Once confirmed, it will no longer be possible to modify the purchase order lines, except for updating the expected data of delivery (EDD).

For versions of mSupply newer than v4.01, confirming the purchase order will create a response requisition in the supplying store (with your store's name in the Name field). This allows the supplying store to create multiple customer invoices to supply the order (and hence to better handle partially fulfilled orders). Once each customer invoice has been finalised, a goods received note for the purchase order will be created back in the store where you created the purchase order which started this whole process off (called the customer or receiving store).

If you have unfilled lines on the customer invoice (i.e. red placeholder lines), when you finalise the customer invoice you will be asked if you want to create a new invoice with the unfilled lines. This new invoice retains the link to the purchase order that created the original customer invoice, and can be used to issue further goods to the customer.

Note that you can also create another invoice that is linked to the original purchase order at any time by using the "Duplicate" button on the toolbar of the customer invoice list.

Now, back in your store, where you created the purchase order which started this whole process off, you can view the goods received record via the Suppliers tab on the Navigator or via the File > Supplier > Show goods received menu item (or via the File > Supplier > Show purchase orders > Goods received tab)

Notice that on the goods received note the lines from the customer invoice will have been filled in automatically. Process the goods received note in the normal way and note that, as with all other goods received, the goods are not added to your store's stock and available for issue until the goods received note has been finalised and the resulting supplier invoice confirmed. Note that, from mSupply v3.85, the original purchase order lines will only be updated with the stock received when the goods received note has been finalised.

  • Last modified: 2021/03/24 22:48
  • by Dhanya