realizing multi-currency gains/losses feature proposal
Mark Jenkins
mark at parit.ca
Wed Dec 31 05:25:52 EST 2008
I've recently acquired an interest in "realizing" (as income or expense)
the "unrealized" gains/losses that appear on the balance sheet report as
a result of the multi-currency support.
I /realized/ how to do this tonight. Steps:
1) I utilize and trust the transfer funds dialog to do the right thing
for me as I enter my transactions that cross currency boundaries. (and I
take full advantage of how use of this was recently added to the
business features )
2) I reach a point where I would like my gains/losses from
multi-currency use to be realized, so I run my balance sheet report and
note the "unrealized gains"
3) I create a transaction from a gain/loss income/expense account that
is in the same reporting currency, on the day of my balance sheet
report, set debit or credit to the gain/loss from the report, and set
the transfer account to be in the other currency I want to realize a
gain/loss in. When the transfer dialog comes up, I set the exchange rate
or amount to 0.
4) I reload the balance sheet report and smile, there is no longer an
autogenerated unrealized gain/loss line under equity, my gain/loss is
now included in the autogenerated retained earnings/loss line. After I
close the books, that autogenerated retained earnings/loss line also
disappears and there are balanced values on the balance sheet consisting
entirely of real accounts, no auto-generated lines.
*PROPOSAL*
If there is interest in the community, ParIT/I will consider writing
code that makes step 2 and 3 possible in one step. I would add a dialog
to the tools menu called "realize gains/losses", which would prompt for
the same relevant things that the balance sheet report does: commodity
price calculation method, date, accounts, report currency and it would
also prompt for an income/expense account to realize the gain/loss on
and a second account as in step 3). The result would be a transaction
just like the one in step 3) above.
* END PROPOSAL *
I realize this proposal will need at least one refinement, it should
address how to handle more than two currencies. Right now my perspective
is narrowly focused on that.
Here is a concrete example use case:
1) I start my currency sharking business by investing $90 CAD, debit
Assets:CAD chequing account, credit Equity:capital.
2) I open a USD chequing account and transfer everything $90 CAD ($100
USD) , credit Assets:CAD chequing account, debit Assets:USD chequing
account.
3) After a few days of trading I realize this is not a business I want
to play in, so I transfer back $100 USD, which converts to $85 CAD.
4) I run the balance sheet report and see an unrealized loss of $5.00 CAD.
5) I go into my Expenses:Currency losses (CAD) account, set debit to
$5.00, transfer account to Assets:USD chequing, the transfer dialog
comes up and I set the rate or amount to 0.
(or, I combine 4 and 5 by using the new feature proposed above)
6) I use the close book feature to close things up, credit
Expenses:Currency losses (CAD), debit Equity:Capital, $5 CAD.
7) I run the income statement report and see my loss.
8) I run the balance sheet report, see no auto generated lines and a
balanced balance sheet: Assets:CAD chequing is $85, Equity:capital $85.
Mark Jenkins
ParIT Worker Co-op
cc fellow ParITistas
cc Jamie
More information about the gnucash-devel
mailing list