Stock control methods for your customers

mSupply is designed for situations such as a central supply facility within a country or region, or within a hospital where the supply of stock to customers is controlled by the supplying facility. That is, supply of stock to customers is managed by the supplying store.

Regardless of who controls the supply of stock, it needs to be made principally on the basis of information about the customer's anticipated usage. mSupply has several ways of arriving at quantities to be supplied to customers:

Collectively, these are grouped together as different types of Requisition. When editing an item, you can view all types of requisition records for that item. More information is available here

(If you can think of better names, please tell us!)

Both the imprest and stock history methods require a stocktake of the customer's stock. The items to be included in the customer's stocktake is defined in lists which are specific to each customer, and must therefore be individually compiled, however, they can be based on Master Lists.

Master Lists and Local Lists and how to create and assign customers to them are covered elsewhere in Master Lists

Lists are defined for each customer in the Edit Customer window. Click on Item lists in the side bar menu.

This displays the window in which you create the required lists.

Adding a local list

First, click on Add local list and in the panel that appears, enter a name for your list then click OK - in the example we've named it Items_Imprest.

Adding items to a list

Select the list to highlight it, and you're ready to compile it. Click on Add item to do this, and repeat until you've added all the items you require. Our example (below) shows that one item (Ibuprofen) has been added, and a second item (Prednisolone) is being added.

Only if you are using the The imprest method is it necessary to enter imprest quantities. If you are not using the imprest method, the Imprest Quantity field should be left blank.

Entering an imprest quantity

We'll now add another item, Haloperidol 5mg tablets, with an imprest quantity of 200, to demonstrate how it's done.

  1. Click on the Add item icon to bring up the standard search window.
  2. Type the first few letters: hal, followed by the Tab key.
  3. From the list, select: HALOPERIDOL TABS 5MG by double clicking on it. The Add item window appears.
  4. Enter 200 in the Imprest Quantity field.

For the purpose of the guide, only 3 entries are present for the fictitious Highland Health Centre. In the real world your imprest list is likely to contain many items

The theory behind the stock history method (sometimes referred to as the Historical Logistics Method) is based on the the assumption that future customer usage will be similar to historic usage.

We can calculate the customer's average usage over time if we know their stock levels at two points in time, and what stock they received from us in that intervening period. We assume that this average usage rate will continue over the coming supply period.

There are three more variables that need to be estimated:

  • The number of months in the coming supply period
  • The lead time required to supply them (that is, the time lag between the customer doing a stocktake in order to trigger re-supply, and receipt of the stock)
  • The number of month's worth of buffer stock they need

With this data, the calculation is like this:

  • A = Stock on hand on date1
  • B = Amount supplied to customer between date1 and date2
  • C = Stock on hand on date2
  • D = Quantity used in period between date1 and date2 = A+B-C
  • E = number of months between date1 and date2
  • F = Usage rate = D/E
  • G = Number of months in coming supply period
  • H = Number of buffer stock months desired
  • I = Lead time (months) between date2 and delivery of stock
  • J = Amount to supply = F*(G+H+I)-C

Using the stock history method:

  • A and C are reported by the customer on date1 and date2 respectively
  • B is calculated by mSupply based on mSupply records
  • G, H and I are entered by the user
  • D, E, F and J are calculated by mSupply

mSupply uses stock issued by the supplying store to arrive at the parameter B.

Obviously, if the customer has received goods from other sources during the calculation period, B will be inaccurate!

First stocktake record

In order to calculate the usage rate, mSupply requires stock on hand figures of the items on the list recorded on an earlier date (date1) = A, above. This becomes the initial stock history record.

To create such a record, follow the procedure described below for entering a stock history, noting particularly, the following:

  1. Enter the date as the correct date at the time the stocktake was performed.
  2. Ignore the figures that automatically appear along each row, except for the Their current stock column.
  3. Enter their current stock figures in the Their current stock column
  4. Close the window using the OK button.

Regular use

Once your customer's first stocktake record has been entered, and a period of time has passed with some customer stock usage, re-supply can be be generated on the basis of this usage.

A re-supply using the stock history method needs to be triggered by a customer stocktake. If your customer is set up with mSupply Customer Web Interface, then this process can be initiated by the customer directly, and then completed in the supplying store as described below.

If your customer has not used the mSupply customer web interface to report their stocktake, then their stock data needs to be entered in manually to the supplying store.

Manual entry of customer stock history

To begin the process, choose Customer > Show requisitions, and the list of any historic customer stock histories is displayed along with the other requisition types. The Status column lets you know the status: sg (suggested) or cn (confirmed). The Type column shows the stocktake type: im (Imprest), sh (Stock History) or response (Requisition):

Double-clicking on a line will allow you to edit the selected record (provided that you have permission to do so).

With the passage of time, entries on the list will rapidly grow in number, and so mSupply allows you to apply a filter selecting exactly what will be displayed. The default display is for Suggested, as these are most likely the ones you will be processing; other options include All, Confirmed, Web entries to be processed - this covers histories submitted via the web customer interface - and Entered today

Add new customer stock history

Click the New customer stock history button, to display the Enter new customer stock history… window:

Enter the first few letters of customer's name in the Name field, then press the Tab key to call up the list of customers' names from which the required customer may be chosen. In this example, our customer is Medical Ward.

Once you have chosen a customer, the window is populated with the items that are members of any item lists that:

  • Have been assigned to that customer (both master lists and local lists)
  • and that have the “Stock history” check box checked for that list

You are presented with this window:

Fill in customer stock history

The Our SOH column is the stock on hand in our own store, while figures in all subsequent columns are the customer's data.

The first entry to be made is in the Days to supply field, where the appropriate figure should be entered - e.g. 30 if the ordering frequency is monthly, 90 if it is quarterly, etc.

You will see in our example that

  • 29 days have passed since the last stocktake
  • The column headed Their old SOH shows their stock on hand at the last stocktake
  • The column headed They received shows the amounts supplied when their last order was processed
  • The column headed Their current SOH is the column where the customer's current stock figures (as provided by the customer) are entered. But note that, just as with the imprest method, if the name you entered in the Name textbox is actually another store then this column will be automatically filled in with the current stock in the store - saving you a lot of time (you only need to edit those figures where the stock in mSupply does not actually match what's on the store's shelves).
  • As figures are entered, mSupply® calculates a suggested quantity to order, and this appears in the Suggested quan column. These suggested quantities should be reviewed, and any adjustment entered in the Actual quan column to reflect, for example, pack sizes and to ensure that actual quantities match exact multiples of the pack size.

After entries have been made in the column Their current SOH the window will look like this:

All that remains is to make adjustments in the Actual quantities column, to reflect appropriate pack sizes.

Once you are satisfied, the Confirm box (bottom left corner) should be checked, the Create customer invoice button should be clicked, and you will proceed to Creating the customer invoice, which is the same for all requisition types.

Printing forms

Clicking the Print button provides several options for printing forms:

  1. Customer stock takes: This form you can give to the customer (for example, if they are a ward in a hospital that has mSupply running in it's pharmacy store), and they can fill out the quantities they have on hand, and then values are entered into mSupply.
  2. Customer stock supply: This form provides information to give to the customer about the quantity they will be supplied.
  3. Customer stock request and issue: This form provides information for the customer comparing what was requested with what was actually supplied.

The second two reports are for use after you have entered quantities to be supplied into the customer stock history window.

The Imprest method is probably the most commonly understood and used method of stock control, and has been used for many years, probably since before the invention of the computer!

As can be seen by the discussion below, the Imprest method is a simplification of the Stock History method discussed above. We argue that the Stock History method is superior to the Imprest method because it dynamically calculates a number of values based on live customer consumption data, rather than relying on some historic calculation that is likely out of date. It is quite understandable why the Imprest method is the standard approach in hospitals - because it was developed before the computer age, and its hard to change old habits. However, now that you have mSupply ready to do the number crunching, we suggest that you seriously consider using the Stock History method instead of the Imprest method… :-)

With the Imprest method, the quantity to be ordered is the quantity necessary to restore the stock on hand to a pre-agreed fixed quantity. This imprest stocktake must be carried out on a regular fixed frequency (daily, weekly, fortnightly, monthly, whatever.) This pre-agreed fixed quantity is arrived at on the basis of a number of simplifications to the stock history method:

  • A = Stock on hand on date1
  • B = Amount supplied to customer between date1 and date2
  • C = Stock on hand on date2 THE ONLY INFORMATION COLLECTED
  • D = Quantity used in period between date1 and date2.
  • E = number of days between date1 and date2
  • F = Usage rate PRE-DETERMINED AND FIXED
  • G = Number of days in coming supply period PRE-DETERMINED AND FIXED
  • H = Number of buffer stock days desired PRE-DETERMINED AND FIXED
  • I = Lead time (days) between date2 and delivery of stock = 0
  • J = Amount to supply = F*(G+H+I)-C

The Imprest Quantity = F*(G+H+I)

If stocktakes are not taken at the pre-determined frequency, and particularly if they are missed, the system will fail. It is a fairly rigid system, in that once set, F, G and H must remain constant. It is frequently used for supplying wards in a hospital setting, where operations are generally more controllable.

Using the imprest system

The imprest system operates in this way:

  • The stock of a particular item which a customer (usually a clinic, ward or department) should hold is agreed. This is the Imprest quantity.
  • A stocktake is carried out at the facility, giving us a Stock on hand.
  • The amount to be ordered by the facility is calculated as:

Order quantity = Imprest quantity - Stock on hand

For example, take the case of a rural clinic which receives a monthly order from a central store:

  • It is agreed that the clinic, when fully stocked, should hold 10,000 paracetamol 500mg tablets. This is the Imprest quantity.
  • At the end of a particular month, a stocktake shows that the Stock on hand is 2,400 paracetamol tablets.
  • To restore the stock of paracetamol tablets to the Imprest quantity, the amount to be ordered is calculated as:

Order quantity = 10,000 (Imprest quantity) minus 2,400 (Stock on hand) = 7,600

This feature caters for mSupply users who operate an imprest system, where a central store supplies goods on a regular basis to a number of customers, who may/may not be mSupply users themselves. We advise that the customers should be provided with a list - perhaps for a 12 month period - of the dates on which they should perform a stock check and submit the figures, ideally on a customised form, to the central store acccording to the prearranged schedule. It is important to note that the customer needs to supply only the current stock on hand figures, a relatively simple task; customers are not required to submit details of what they perceive to be order quantities.

It should be remembered that the items to be included in the list and their imprest quantities must be defined for each customer individually. The imprest quantity defined for a particular customer is unique to that customer, and has no bearing on imprest quantities defined for other customers.

Processing the order from the customer

The central store, on receiving the stock on hand details from the customer, selects from the Navigator or Customer menu the item Show requisitions, which displays this window:

If you are working with a customer for whom no imprest list has been defined, clicking on the New customer imprest will display the Enter new imprest window, where appropriate entries are made.

Continuing to use Highland Health Centre as our example (for whom we have created an imprest list), double clicking on that entry displays this new window on which the imprest list appears:

You will note that there are no entries in the Their current stock column, and the figures supplied by the customer should be entered; click on each line, and after a second or two the zero appearing in that column can be edited with the required figures.

There is an important exception here: if the name you entered in the Name textbox is actually another store in mSupply then the Their current stock column will be automatically filled in with the stock in the store. Very useful time saving feature!

Simultaneously, mSupply completes the next two columns, Suggested Quantity , and Actual Quantity. The Actual Quantity entries may be edited to reflect, for example, pack sizes, to ensure that actual quantities match exact multiples of the pack size. After editing, the window may appear like this:

Should you have any reason to identify one or more lines, this may be performed by highlighting the line(s), and changing the colour of the font. Black is the default, but other options may be selected from the drop-down list:

Selecting 5 or more lines brings up an alert requiring confirmation of your intention.

Once you are satisfied, the Create customer invoice button should be clicked, and you will proceed to Creating the customer invoice, which is the same for all requisition types.

These work in much the same way as customer stock histories, but with some notable differences:

  • It is possible to generate multiple customer invoices from a single response requisition e.g. if not all of the requested stock is available at the time the requisition is entered, this allows for an initial customer invoice to be sent to partially fulfil the request and another to be sent at a later date when more stock becomes available.
  • It provides a more accurate way to track demand vs supply.
  • A response requisition will be automatically created in the supplying store as a result of a request (supplier) requisition from mSupply mobile (see here for details) or (coming soon) an internal order from a store on another mSupply syncing site. In both of these cases, the customer is another store and most of the data will have been entered already in the customer store.
  • It doesn't attempt to calculate usage or suggest an amount to supply - this data is expected to have come from the customer.

Entering a requisition

To begin the process, choose Customer > Show requisitions, and the list of any historic response requisitions is displayed along with the other requisition types. A Status of sg (suggested) means that no customer invoices have been created yet - as soon as the first customer invoice is created, the status will go to cn (confirmed):

Either double-click on an existing requisition to edit it, or click the Add new requisition button to create a new one. The example below is for a manually entered requisition:

If this is a manually entered requisition:

  • Enter/update the customer Name in the same way as a customer stock history (i.e. enter the first key characters and hit the Tab key to find matches), but note that changing the customer will invalidate any other data that you've already entered.
  • If necessary, update the Requisition date and Order received - these 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 customer's master list which are not there already.
    • If the customer is another store, mSupply already knows their current stock, otherwise adding a single item will give you the opportunity to enter the customer's current stock for that item. Either way, the cursor will go into the Customer current stock on hand cell, which will already be filled in.
    • If adding from a master list, the cursor will go into the first new item's Customer current stock on hand cell, but you'll then have to type in a value (unless the customer is another store, in which case the value will have been filled in for you).
    • Either way, hitting the Tab key will move the cursor into the Customer requested cell. Type in a value and this will be automatically copied to the Remaining to supply cell and also the Supply this invoice cell, which will now have the cursor.
    • Amend the Supply this invoice value if necessary and optionally enter a Comment (e.g. if the amount supplied is less than requested).
  • If necessary, use the Delete line(s) button to remove selected item lines.

If the requisition has come in automatically from another store (e.g. mobile):

  • The customer Name is already filled in and cannot be changed.
  • The Customer current stock on hand and Customer requested columns are already filled in and cannot be changed i.e. only the Supply this invoice and Comment columns are editable.
  • If necessary, you can still add and/or delete item lines manually.

If the requistion 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 requisition:

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

Once you are satisfied, the Create customer invoice button should be clicked, and you will proceed to Creating the customer invoice. The Supply this invoice values will be used to populate the new customer invoice and the requisition status will change to confirmed.

After creating a customer invoice

  • The Already issued column will be updated to reflect any non-placeholder lines (i.e. those not coloured red in the customer invoice) in any customer invoices which have been generated from the requisition regardless of the customer invoice status (i.e. it doesn't have to be confirmed).
  • The Remaining to supply column will be reduced by the amount already issued, and Supply this invoice will be updated accordingly:

In the example above, a single customer invoice has been created to supply most of the requested stock, apart from two items. You can then create a second customer invoice to supply the outstanding amounts.

Details of the related customer invoices can be seen in the Invoices created tab:

Double-clicking on any of these lines will open the corresponding customer invoice.

Regardless of the requisition type, when the Create customer invoice button has been clicked, and the following window appears:

Press the grinder icon at the bottom left to issue stock for all placeholder lines.grindericon.jpg

issuestock.jpg


All the entries appear in red, as mSupply needs the operator to select the specific item to be supplied from your store, i.e. the batch required, and, if necessary, to distribute the order over two or more batches, if there is insufficient quantity of one batch in your store. The next step is to double click on each entry and in the example, the 1st item on the invoice, Ibuprofen 200mg tablets, is being processed; there are several batches in our store, some of which have reached their expiry; although line 4 indicates there are sufficient to meet this order in the store, you will note that only 106 tablets are available, so we select line 6.

Clicking on OK & Next displays the next item on the invoice, Prednisolone 5mg tablets.

Click Redistribute all, which is the normal procedure. There is only one batch available, but there is insufficient stock to meet the order, so mSupply® creates a placeholder line for the outstanding amount.

When the final item has been processed, clicking on OK will display the completed invoice.

Make sure the Hold checkbox is not checked, and at this stage the invoice may be confirmed.

Obviously, regardless of the calculation method employed, if the supplying store fails to re-supply the customer within the supply period (G) then the customer will start eating into the buffer stock and is in danger or running out of stock!

Previous: Box Management Next: Customer Budgets

  • issuing_goods/stock_control_methods.txt
  • Last modified: 2018/11/23 05:12
  • by mark