[GNC] Income in foreign currency - unrealized vs realized gains / losses How To

John Ralls jralls at ceridwen.us
Fri Nov 27 12:47:36 EST 2020



> On Nov 27, 2020, at 8:47 AM, Anton via gnucash-user <gnucash-user at gnucash.org> wrote:
> 
> Dear Gnucash community,
> 
> Residing in Australia, I work with US customers and get paid in US dollars. I don't always convert money from USD to AUD, and if I do, it's usually an arbitrary amount on an arbitrary day.
> 
> Now, how do I setup my accounts in Gnucash, and what would be the corresponding income and exchange transactions, in order to be able to report report unrealized and realized currency exchange gains and losses?
> 
> Here's how I have it now (simplified):
> 
> Income
> US Client A
> Assets
> US Bank
> AU Bank
> Trading:Currency (automatic accounts)
> AUD
> USD
> 
> When I got paid USD 1000, I recorded the first transfer:
> 
> Income:US Client A => Assets:US Bank
> USD $1000
> This was worth AUD $1500 at 1.5 AUD = 1 USD, but I keep USD
> Also, AUD $1500 is what I will have to report in my business activity statement for GST purposes.
> 
> Then say in 1 month time I convert USD $100 to AUD $130 at 1.3
> My understanding is this transaction should generate a realized loss of AUD$20
> 
> At the end of the day, in my report for the taxation office I need to put something like this:
> 
> Income: AUD $1500
> Expense:
> Deductible
> Realized currency exchange loss: AUD $20
> 
> Please advise. -- Thanks, Anton

There's a long discussion about this (with lots of digressions) in https://bugs.gnucash.org/show_bug.cgi?id=797796. The TL;DR is that GnuCash doesn't support it well and needs a fundamental change it the way it selects transaction currency to do it right. That change is a long way off.

In the meantime, you can capture the rate and include the sale in the trading accounts by using AUD income accounts to record your USD sales and AUD expense accounts to record any expenses paid for with USD assets. That won't help with purchase of assets from a USD account but you can fake that part out by creating an AUD scratch account in which you first buy AUD with USD and then buy the USD asset with the AUD in that scratch account. This workaround will work best if you always create the transactions from an AUD-denominated account so that the transaction currency is AUD, causing the transaction to balance in AUD.

Disclaimer: I do no multi-currency accounting myself and the above is a very condensed summary of a long-running discussion. The accountant who is participating in that bug doesn't like mailing lists but is on IRC so you might go there to ask him. You should also get advice from your own accountant/tax advisor.

Regards,
John Ralls




More information about the gnucash-user mailing list