Reporting: weighted average price source

Christian Stimming stimming at
Fri Jul 4 05:58:42 EDT 2008

Am Freitag, 4. Juli 2008 04:31 schrieb Charles Day:
> For reports, does anyone know why the calculation for price source
> "weighted average" uses the absolute value in its calculations? It seems to
> me that this gives incorrect results.
> In most cases the figures for the "value" and "amount" fields of splits are
> either both negative or both positive, which makes the sign irrelevant.
> Sometimes the "amount" is zero and the "value" is positive, such as in
> capital gains. However there are some cases when "amount" could be zero
> while "value" is negative and needs to stay negative, such as a return of
> capital (see bug 538800).
> I am inclined to change this code to take away the use of absolute value,
> but wanted to check with everyone to see if there is some particular reason
> that it needs to be this way.

If I recall correctly, this code comes from the old days when I added this to 
track "my personal exchange rate" between USD and EUR. Without this code, I 
think if I bought x USD for y EUR and later sold x USD for y EUR, the 
resulting rate turned out zero instead of the expected value (which is x 
divided by y). Using absolute values here gave the intended results.

That's just what I vaguely remembered.


> Cheers,
> Charles
> >From src/report/report-system/commodity-utilities.scm, starting at line
> > 558:
>                   ;; Always use the absolute value here.
>                   (share-amount (gnc-numeric-abs
>                                  (xaccSplitGetAmount a)))
>                   (value-amount (gnc-numeric-abs
>                                  (xaccSplitGetValue a)))
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at

More information about the gnucash-devel mailing list