On Nov 30, 2007 7:39 PM, Bob Gustafson <
..hidden..> wrote:
This example is prompted by the need to:
1) Handle accounting in one currency (EUR), pay bills, receive rent,
etc.
2) Make investments from one currency (USD) to the other (EUR)
3) Pay taxes on profits (if any) in USD.
The Chicken Farm example shows two methods of getting the necessary view
for paying taxes (item 3 above).
I think you detail the problem quite will. Here is a far simpler (and more common) example.
A Canadian user of LedgerSMB opens a USD account and deposits $1000 CAD into the account. Once the exchange rate and fees are taken out, one cannot just track the amount in the account in CAD bacause the exchange rate varies frequently. Instead the amount has to "float" in USD relative to the CAD books. At the same time, the books always have to balance in CAD.
Suppose for argument's sake the CAD to USD rate is 1:1 with no transaction fees when the account is opened. The user no longer has $1000 CAD, but now has $1000 USD. However, when we want to check the trial balance it will show as $1000 CAD. Ok, now suppose that the individual pays me $200 USD for services (now having $800 USD in the account). Suppose that the USD is still doing badly and that the rate is now
1.03 CAD = 1 USD. Ok, now we have to record the transaction correctly so we know how much money is in the accont ($800 USD) but we also have to record the transaction so we know how much was paid for the expense ($206 CAD). Currently this is done by recording the $206 and using a view approach to get it back to $200 (from $1000 = $800). I propose that we record authoritatively how much money was withdrawn in the source currency as well for auditing purposes.
The major pieces of this puzzle we are lacking are not that major. We need:
1) A way of enforcing a master currency on an account.
2) Better reporting of things like current balances.
Current balance reporting has a number of other challenges associated which I think we need to tackle (especially for the midsize businesses in our userbase) but that is another discussion.
Best Wishes,
Chris Travers