After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 783636 - Accounts page using wrong price entry for commodities in non-base currency
Accounts page using wrong price entry for commodities in non-base currency
Status: RESOLVED WONTFIX
Product: GnuCash
Classification: Other
Component: Regist-2
2.6.16
Other Windows
: Normal normal
: ---
Assigned To: gnucash-ui-maint
gnucash-ui-maint
Depends on:
Blocks:
 
 
Reported: 2017-06-10 18:12 UTC by Fred Bone
Modified: 2018-06-29 23:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample book demonstrating the problem (4.07 KB, application/gnucash)
2017-06-10 18:12 UTC, Fred Bone
Details

Description Fred Bone 2017-06-10 18:12:48 UTC
Created attachment 353542 [details]
Sample book demonstrating the problem

On the Accounts (summary) page, for a commodity with old Pricedb entries in base currency and newer ones in some other currency, the latest base-currency price is used for the "Present (base)" value in preference to the most current one in another currency.

The attached book shows an account Assets:Investments:Eurotunnel in a commodity GET.PA for which there are two recent (genuine) prices in EUR and one (fictitious) old price in GBP, which is the base currency. The value displayed in the Accounts page is taken from the old GBP entry when it should be from the latest entry, which happens to be in EUR.

The "present" value displayed should be 50 (shares) * 10.42 (latest price in EUR) * 0.8671 (latest price for EUR in GBP) = 456.45. Instead it is 50, based on the old price in GBP.
Comment 1 John Ralls 2017-06-10 21:27:27 UTC
So don't do that.

GET.PA (GET SA) never traded in GBP. It had a pair of predecessor companies with the symbol TNU, one of which traded in EUR on the Paris exchange and the other, also with the symbol TNU, in GBP on the LSE. Both of those companies were absorbed into the current Groupe Eurotunnel that trades only in Euro and only on the Paris Exchange. If you had shares in the predecessor company Eurotunnel Plc then you either converted your shares 1:1 into GET in 2007 or you had them converted for you at 394:1 in 2010.

In order for GnuCash to correctly handle stock investments in currencies other than the book currency they need to be subaccounts of an account denominated in that currency, e.g.

Assets:
  Investments: 
      Investments (EUR):
          Eurotunnel

Doing that without changing anything else will allow GnuCash to display the correct value for investments (EUR), but the rollup to Investments will still be wrong as long as that bogus price for GET.PA is in the pricedb.

You *could* convert the bogus price into EUR, or you could fix the accounts to show what really happened:

Assets:
   Investments:
      Stock:
         Eurotunnel Plc.
      Investments (EUR):
         Groupe Eurotunnel.

Record the buy of EuroTunnel Plc at £2.40 and record a transfer between Eurotunnel Plc and Groupe Eurotunnel in 2007 or 2010 *with 0 price and 0 value on both splits*. Record the prices to the correct stocks in the pricedb.
Comment 2 John Ralls 2018-06-29 23:57:22 UTC
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=783636. Please update any external references or bookmarks.