[GNC] asset discrepancy in change of year

John Ralls jralls at ceridwen.us
Sat Apr 17 13:47:49 EDT 2021



> On Apr 17, 2021, at 8:01 AM, Andrea Borgia <andrea at borgia.bo.it> wrote:
> 
> Il 11/04/21 18:41, John Ralls ha scritto:
> 
> 
>> You may be confusing "recognized gains" and "realized gains". A realized gain (or loss) is the change in value between a buy and a sell transaction. In contrast an unrealized gain is the change in the value of an asset that you  still own. If you update prices in GnuCash then you can display the value of your assets at the latest price on the Accounts page and in various reports if you select "latest" as the price source. A recognized gain is a realized gain that you've correctly recorded with a pair of splits. A balance in a trading account indicates that you have unrecognized realized gains.
> 
> If I still hold all of the assets across year end, the trading account balance is most definitely pointing to unrealized gains only; in this context, what's the point in booking a split simply to recognize a gain which is not even realized?
> 
> Of course, the moment I sell some shares and hopefully make a profit I will have to record it explicitly.
> 
> But for the moment, that is for closing 2020, I think I'll use the trading account balance as a quick shortcut :)

My claim that a balance in a trading account indicates an unrealized gain is only true when the position has been completely closed and of course in that case the balance is in the home currency because in the simple case of conversions only to the home currency the other commodity is zeroed out and to balance it so will be the trading account. That simple case is well illustrated in https://www.mscs.dal.ca/~selinger/accounting/gnucash.html, which is the basis of the Trading Account design. 

Sticking with the simple case, when you buy 100 shares of XYZ @€10/share Trading:EUR has a balance of €1000 and Trading:XYZ has a balance of -100. The following year you sell the 100 shares for €12/share and Trading:XYZ has a balance of 0 and Trading:EUR has a balance of -€200, reflecting the realized capital gain.

But if you sold only 50 shares Trading:XYZ would have a balance of -50 and Trading:EUR has a balance of €400. To find the capital gain you have to compute the basis of the remaining 50 shares and subtract it from the Trading:EUR balance.

>> Your statement about recalculating the initial capital each year suggests marking to market, that is creating a transaction that recognizes the unrealized gain at the end of the year, changing the basis of the stocks. That's generally required only of banks and investment companies and it has substantial tax consequences. You should do so only with the advice and guidance of a locally-licensed accountant or tax advisor.
> 
> AFAIK in my case it has basically no tax consequences because:
> 
> 1) my employer acts as a tax proxy: whatever sum the ministry of finance has to give back after tax declaration flows through them.
> 
> 2) the bank handles taxes on capital gains: this actually happened to my father, the CG tax was directly debited with the sale.

So rather than getting you in trouble with the tax authorities the consequences would be in the time spent on figuring out why your numbers and theirs are different.

> 
> 
> 
>> The problem described in the bug report is that even those trading account balances don't tell the whole story because they don't convert your USD realized gains to EUR and recognize the gain/loss on converting USD->EUR. As long as the amounts are small enough to not concern your tax authorities the discrepancy is somewhat academic, but if the amounts aren't small you should get professional advice about how to handle it.
> 
> John, I appreciate your care in pointing out that I need professional assistance tailored to my tax jurisdiction but, to the best of my knowledge, how I record stuff in gnucash has no effect on my taxes: I don't get to calculate those, only to record the amounts. Clearly, the moment this changes I'll have to be more rigorous, just not now.
> 
> 
> This whole discussion had an unexpected side effect: after years of working with SAP (as a programmer) I finally understood why the accounting tables have two separate amount fields, DMBTR (amount in document currency, saved in another field) and WRBTR (amount in company currency). This way the exchange rate for each transaction is implicitly recorded, allowing for proper recognition of forex gains & losses.

Interestingly the accountant who's driving the discussion of bug 797796 is an experienced SAP user and brings that perspective to his discussion there. Even more interestingly Sellinger discussed the same principles in https://www.mscs.dal.ca/~selinger/accounting/tutorial.html and https://www.mscs.dal.ca/~selinger/accounting/gnucash.html 16 years ago, including how GnuCash got (and unfortunately still gets) it wrong.

Regards,
John Ralls



More information about the gnucash-user mailing list