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 _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
