On Freitag, 7. Februar 2025 18:56:25 CET Brendan Coupe via KMyMoney-devel wrote:
> 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. Yes, account basis will make the most sense here. > > It appears to have changed part of the way this has been handled since > 5.1. Do you understand why it's behaving differently? There have been so many changes between 5.1 and 5.2 so that this is hard to answer. > >> 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. I got those files in the meantime and made some changes to the code to support fixing that weird price factor. -- Regards Thomas Baumgart ------------------------------------------------------------- Person A: It's an ISO standard. Person B: ...And that means what? --mal (http://theangryadmin.blogspot.com/2008/04/future.html) -------------------------------------------------------------
signature.asc
Description: This is a digitally signed message part.