Calculating stock values in mSupply


Recently we’ve been asked several times about the method mSupply uses to calculate stock values.
The usual method is Average Weighted Cost which is based on the idea that you record all your inventory of item X as a single number- your stock on hand. To know the value of your stock you need to keep a running record of the average value of each item, as the stock on hand might have been purchased in several lots, each with a different purchase price.
This is a good, tried and true system. However, it doesn’t apply to mSupply, because mSupply doesn’t aggregate your stock purchases into a single stock on hand number, so doesn’t create the problem that the Average Weighted Cost formula is designed to solve.

Here’s how mSupply works.

mSupply uses actual costs, rather than average weighted cost.
As an example, here is a screenshot of the stock page for Ampicillin Injection (click the thumbnail to view full size):

  • Stock on hand for Ampicillin
    Stock on hand for Ampicillin

There are two batches in stock:

  • 7000 with a purchase price of 0.76
  • 500,000 with a purchase price of 0.70

You can see in the “stock” box under the list:

  • total stock = 507,000
  • total value = USD355,320
  • average value =0.70082

If you issue 100,000 to a facility from the batch of 500,000, the cost of that supply will be 100,000 × 0.70 (the cost price of that batch). We do not need to use average weighted price as we know the actual price of that batch when it was purchased, so this is more accurate.

Neither do we need to use Average Weighted Price to work out the value of the remaining stock. After that issue, the stock value in the warehouse will be:

  • 7000 with a purchase price of 0.76
  • 400,000 with a purchase price of 0.70

You can see in the “stock” box under the list:

  • total stock = 407,000
  • total value = USD285320
  • average value =0.701031941

Comments

Add a new comment....



Formatting: Textile help
    

Note: All comments are moderated- they will appear after being cleared by the web site moderator..