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.

Prior to mSupply version 4.01, this could only be done using a special form of purchase order, which we call an internal requisition. These are essentially purchase orders from another store.

In newer versions of mSupply, internal orders are the desktop equivalent of supplier requisitions in mobile and are an easier way to place orders in another store, without having to submit a purchase order and process goods received records.

Entering an internal requisition (requesting store)

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 Virtual Store suppliers will appear in RED in the pick list of suppliers. If the name of the store you select as a supplier is BLACK, then you have not chosen a Virtual 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, a customer invoice for the purchase order is created in the supplying store (with your store's name in the Name field) and it will no longer be possible to modify the purchase order lines, except for updating the expected data of delivery (EDD).

Processing the customer invoice (supplying store)

Now, in the supplying store, the customer invoice can be viewed via the Customers tab on the Navigator or via the Customer > Show invoices… menu item as usual. The new Customer Invoice will have Status = sg (suggested), Their ref = PO number: XXXX, and Comment = Invoice from internal requisition. Also, when it is opened, the customer invoice will have an Internal requisition label to highlight that it has originated from another store.

Each purchase order line will have a corresponding placeholder line in the customer invoice:

Now assign stock to each placeholder line in the usual way by double clicking on the first line to start the process.

When the Customer Invoice is ready, rather than just confirming the invoice (click on the button in the upper middle of the Customer Invoice window) Finalize the Customer Invoice by clicking the tick box on the bottom left of the Customer Invoice window, and then click on the OK button.

This is important. If you only confirm the invoice then the next part of the process (creating a goods received note in the receiving store) will not happen.

Once the 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).

Handling partially fulfilled orders

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

Receiving the goods (requesting store)

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 (and the purchase order lines updated with the stock received). 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.

Entering an internal order

To begin the process, choose Supplier > Show internal orders, and the list of any historic internal orders is displayed:


Either double-click on an existing order to edit it, or click the New internal order button to create a new one. 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).
  • If necessary, update the Order date - this will default to the current date.
  • 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.
    • mSupply already knows the current stock, and will calculate the Average monthly consumption and the Months of stock, based on the current stock on hand and assuming the same average monthly consumption. The Calculated quantity is then worked out by multiplying the average monthly consumption by the maximum months of stock, and then subtracting the current stock on hand. If adding a single item, the cursor will go into the User requested quantity cell. This will already been filled in with the Calculated quantity as the default value, but can be edited as required.
    • If adding from a master list, the cursor will instead go into the first new item's User requested quantity cell.
    • Either way, 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.
  • The Max MOS field will default to the store's default days to supply (but converted to months). This can be edited, but doing so will recalculate the Calculated quantity and reset the User requested quantity to the new calculated quantity.


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.

Previous: Purchase Order categories. Next: Receiving Goods - a Supplier Invoice

  • purchasing/ordering_from_one_store_to_another.txt
  • Last modified: 2018/10/19 14:36
  • by adrian