Investment Handling in Master Branch
Thomas Baumgart
thb at net-bembel.de
Sun Feb 9 09:41:35 GMT 2025
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)
-------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 868 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20250209/40fb6cff/attachment.sig>
More information about the KMyMoney-devel
mailing list