tutorial on multi-currency accounting

Mike Alexander mta at umich.edu
Sun Feb 25 00:20:42 EST 2007


--On February 22, 2007 4:09:22 AM -0400 Peter Selinger 
<selinger at mathstat.dal.ca> wrote:

> Hi,
>
> I noticed that multiple currencies in GnuCash do not work very well
> with double-entry accounting. I have investigated the issue and
> written a tutorial explaining how double-entry multi-currency
> accounting should work. Perhaps someone may find this interesting:
>
> http://www.mathstat.dal.ca/~selinger/accounting/tutorial.html
>
> I have also written a fairly detailed critique of multi-currency
> accounting in GnuCash, with some suggestions for how it could be
> improved. Unlike the tutorial above, this second document is specific
> to GnuCash, but must be read after the tutorial:
>
> http://www.mathstat.dal.ca/~selinger/accounting/gnucash.html
>
> I hope someone will find this useful, and perhaps even implement it.
> Comments?

Thanks very much for writing these.  I've felt for some time that I 
didn't really understand how to handle multiple currencies but hadn't 
researched it much.  I'm not an accountant, but your explanation makes 
a lot of sense.

In addition to the changes you suggest to make Gnucash handle multiple 
currencies better, you mention two bugs.  I submitted patches to fix 
both of these some time ago, but neither has been applied to the trunk 
yet.

Your bug 410604 (which is about a split that is invalid because it has 
a zero split:quantity and non-zero split:value) seems to be a duplicate 
of 335101 (although I didn't realize that until I stepped through the 
code in gdb so I wouldn't have expected you to notice this).  I 
submitted a patch to fix 335101 last September.  I think the patch is 
correct and safe, but I don't think anyone has looked at it yet.  The 
same patch also fixes 410604.

You also mentioned that the balance sheet report doesn't compute 
unrealized gains correctly.  This is the subject of bug 131623.  I 
attached a patch to this bug last June which improves things a lot. 
With this patch, the balance sheet report for your sample file 
table2.2.xac is correct.  I realize that this is not your main point, 
but it is an improvement.  This change is less trivial than the one 
above, but I also think it is safe and should be applied.

-- 
Mike Alexander           mta at umich.edu
Ann Arbor, MI            PGP key ID: BEA343A6



More information about the gnucash-devel mailing list