Investment Handling in Master Branch
Thomas Baumgart
thb at net-bembel.de
Fri Feb 7 13:43:27 GMT 2025
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.
> 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.
--
Regards
Thomas Baumgart
-------------------------------------------------------------
Q: Do you know the golden rule?
A: The rules are made by those who own the gold!
-- Frank Stornach
-------------------------------------------------------------
-------------- 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/20250207/9f4b00ef/attachment.sig>
More information about the KMyMoney-devel
mailing list