# ofbiz-dev mailing list archives

##### Site index · List index
Message view
Top
Subject Re: Accounting Average Cost Algorithm
Date Thu, 10 Jan 2008 17:28:17 GMT
```I've found it's best to ask an accountant these types of questions. In this example, an accountant

might expect average cost to be calculated a certain way, and not worry so much about "penny
accuracy."

Daniel Kunkel wrote:

> Hi
>
> It's so wonderful to see an integrated accounting system for OFBiz.
>
> I've done some thinking about the algorithm used to calculate the
> average cost of an inventory item, and thought I'd share it again.
>
> Rather than trying to store an "average cost" for an item, I believe we
> would be much better off storing the "total investment" for each item.
>
> Most of the time, it won't make any difference, however I have seen that
> directly storing the average cost leads to all sorts of floating point
> resolution and residual adjustment issues, and complications when
> purchasing inventory at a varying price. Most notably that the total
> investments purchasing an item sometimes won't exactly equal the total
> cost of goods expensed after it is all expended.
>
>>>From http://lists.ofbiz.org/pipermail/dev/2006-March/010207.html:
>
> For example, if you bought a million pieces for \$3,889,107,143, and sold
> them out of inventory one at a time for \$3.89 without tracking/updating
> the residual average cost..  eventually you'd have to account for
> difference of more than \$800,000!
>
> The solution:
>
> Keep a running "total investment" for each item. At
> the point that you utilize an item, calculate and subtract
> the cost of those items rounded to a penny for example. Other
> currencies will round to the degree necessary for their currency.
>
> The effect of doing this will be that the cost of goods will
> oscillate up and down, in the above example between 3.88, and 3.89
> in such a way that when you've sold your millionth item, the
> residual investment remaining is exactly 0.
>
> Thanks
>
> Daniel
>
>
>
>
>

```
Mime
View raw message