On 2/7/25 6:43 AM, Thomas Baumgart via KMyMoney-devel wrote:
On Mittwoch, 5. Februar 2025 20:56:44 CET Brendan Coupe via
KMyMoney-devel wrote:
I've been running the master branch on Fedora 41 for several months.
I compile it on my system. When I import my CD transactions from my
broker via a downloaded ofx file, the price is listed as $100 when is
should be $1. This has been an issue in 5.1 for several years and I
think it started when I switched brokers. I have not asked about it
since the developers are busy working on 5.2 and it was easy to
correct in 5.1. Since I switched to the master branch, the problem
appears to be much deeper. The $100 price appears to be stored and
used for some of the value calculations. As I bought new CDs, they
were all valued at 100 times their actual price. I corrected this by
doing a manual price update in the investment section and changing it
from 100 to 1. The dialog that opens says I'm adjusting the exchange
rate for the stock xxx to USD which seems odd. I leave the date alone
but it appears to be the purchase date. This is far from ideal since
i have more than 100 securities / CDs in several investment accounts
so it's hard to find the ones that need to be fixed. Ideally KMM
would recognize the discrepancy and adjust the price from $100 to $1
when importing the OFX file. I'm guessing this is due to the broker
not following the OFX standard. I think these are the relevant lines
in the OFX file when I purchase a CD. <UNITS>12345 <UNITPRICE>100
<MKTVAL>12345 The UNITPRICE should be 1 and it's obvious the math
does not work if you assume 100 is correct.
Yes, and the OFX spec ver. 2.3 states that: Unitprice: Use decimal
notation. Unless specifically noted, prices should always be positive.
Unfortunately, the same spec contains a few odd examples:
<UNITS>1</UNITS> <!--100 shares--> <UNITPRICE>5</UNITPRICE><!--Latest
price--> <MKTVAL>500</MKTVAL><!--Current market value $500.00--> The
comments are correct, the values don't match them. Another example is
shown as <UNITS>1560.18 <UNITPRICE>1 <MKTVAL>156.18 which also does
not calculate correctly as the price would be 10. UNITPRICE is defined
as follows: - Price per commonly-quoted unit. Does not include
markup/markdown. - Share price for stocks, mutual funds, and others -
Percentage of par for bonds - Per share (not contract) for options To
work around all this, I could imagine to add an OFX specific option
that selects the price source: a) Price field in transaction b)
Calculate by value and units Thoughts? This seems easy to implement.
Not sure how I would specify this, I assume on an account basis, but
this would fix this problem.
It appears to have changed part of the way this has been handled since
5.1. Do you understand why it's behaving differently?
Oddly enough, the Quantity, Value and Balance columns in the ledger
for the investment account are all correct and the Price column is
wrong. When I update the price in the transaction from 100 to 1, all
of the columns are correct. The Investment Value at the bottom of the
ledger is clearly not based on the total of the Balance column since
it appears to be using the 100 imported from the OFX file. The only
way I can fix this is to find the CD in the investment section and
manually change the price (exchange rate?) from 100 top 1.
Would it help to sort the investment ledger by security (in case you
have multiple of them in one investment account)? At least that can be
done in master (5.2).
This extra step was not required in 5.1. When I adjusted the price in
the transaction, the Investment Value at the bottom of the ledger was
correct. I'm also having a problem when I sell CDs. The transaction
only shows in the Brokerage account, not the investment account. I
have to find the original purchase in the Investment account,
duplicate it, switch it from buy to sell and correct the date. Then I
match the newly created transaction in the brokerage account to the
imported one. Unless this triggers a quick fix, lets figure out the
first problem and I will come back to CD sales later since this is
not a new problem in the master branch.
An example would help. Please feel free to send it via PM if needed.
I will send you the OFX and Test KMM files directly. I suggest you
import the OFX into 2 new test files using 5.1 and the master to see the
difference. let me know if I need to clarify anything.
--
*Brendan Coupe*
*3...@coupe7.com*