In GnuCash, I have tried setting up a mutual fund similar to the Stock Account example in 9.4 of the GnuCash manual, but as a Mutual Fund. The account that I set up looks something like this (example values):
|Account name||Nasdaq 100|
|Account Type||Mutual Fund|
|Security/currency||USD (US Dollar)|
I bought some shares, paying for them from a "USD Checking Account". As a simplified example, let's say $10,000, 200 shares at $50.0000/share.
When I imported transactions from my "USD Checking Account", for the debit of $10,000, I was able to choose the "Nasdaq 100" account as the destination.
After importing, I opened the "Nasdaq 100" mutual fund account to find something like this:
|2023-01-01||INVESTMENT||Assets:USD Checking Account||n||10,000.0000||1.0000||10,000.00||10,000.0000|
I try to update the values to this:
|2023-01-01||INVESTMENT||Assets:USD Checking Account||n||200.0000||50.0000||10,000.00||10,000.0000|
When I tell it to save the transaction, all the numbers revert to what was previously, or values a couple percent off (e.g. $9,958.77 instead of $10,000).
If I change to Split mode and click on the "Nasdaq 100" line, the column headers change from Shares/Price/Buy/Sell to Oth. Curr/Exch. Rate/Buy/Sell, which seems suspicious. I see that the confirmed value in the "USD Checking Account" has changed to $9,958.77, messing up the balance in that account.
Some site told me to enter price history in the Tools -> Price Database, which does have some entries. It didn't seem to help, and I do not know if that is now conflicting with me entering prices or not.
I have gone back and tried variations of the numbers with slightly varying levels of failure, but can never get anything that works.
At this point, GnuCash (5.0/2023-03-25, but also on the 4.x version, all on Windows 10) on my system is not functional for entering in mutual funds. But my searches have not found other people posting about this kind of problem, so I imagine there are thousands of people using it with success, and I must be entering something wrong or maybe I configured something wrong.