The Weighted Average costs calculation now considers the quantity that was delivered or issued into the store when calculating the historical average.
If I deliver 24 units of Coke at R6 and then another 20 units at R7 then the Weighted average after the second delivery is ((24 * 6) + (20 * 7)) / (24 + 20) = 6.45.
Of course this a simple case and does not account for current stock level.
If you reduced stock out of the store by 2 (24 - 2 = 22) before the second delivery, then it is: (((24 - 2) * 6) + (20 * 7)) / ((24 - 2) + 20) = 6.48.
So the steps are as follows:
1. Calculate the stock period's weighted average before movement. (This includes the (opening cost price * opening quantity) if available).
2. If there is no movement or price information, then we adopt the new price.
3. Get the current stock level.
4. If the current stock level is less than or equal to 0, then adopt the new price.
5. Finally, if we have existing stock, then we calculate the new weighted average as:
((period weighted average * current stock) + (new cost price * new stock)) / (current stock + new stock).
2. Examples
The item Savanna Dry is currently R11.32 per unit and the stock level in my Weighted Average Store is 163.
If a Delivery of 48 units at R11.45 is added the Cost price will be calculated as follows:
((period weighted average * current stock) + (new cost price * new stock ) / (current stock + new stock).
11.32 x 163 + 11.45 x 48 / 163 + 48 = 11.35
The new cost price will now reflect as R11.35.
Should an Issue to another store take place the stock units will be reduced. In the below example we issued a case of Savanna Dry to the Weighted Average Bar Store.
The number of units are now 187 from 211 in the Weighted Average Store.
We received another Delivery of Savanna Dry 72 units at R11.40 per unit.
187 units x R11.35 = R 2122.45
72 units x R11.40 = R 820.8
R 2122.45 + R 820.8/ 187 +72 = R11.36