I am a corporate IT veteran from the financial industry with some QA experience and a Gnucash newbie. I am working on my chart of accounts setup in an iterative manner: I make adjustments to my account tree CSV file, create a new Gnucash file with one dummy account (rent expense), import my adjusted account tree CSV into the new file, reimport my QFX file, evaluate the results, rinse and repeat.
I am working with a fresh install of Ubuntu desktop (minimal install) and a fresh install of Gnucash, both as of mid-August, 2021.
The Vanguard QFX file I used for my trials contains seven Vanguard accounts with a half dozen securities, some of which are held in multiple of the seven accounts.
If I export my account tree after a trial QFX import, I see my securities where I expect them to be, subaccounts under their respective brokerage accounts and stock accounts under the Investments:Stocks placeholder account. However, if I wipe my Gnucash file and then reimport this exported CSV file, I receive an error for each security and the above subaccounts are not imported, but the respective dividend, short term and long term income accounts are imported.
As an exercise to assist in recreating this condition, I attempted an import using the same QFX file going into a completely flat Gnucash account tree (start with empty Gnucash file, with the one dummy account Expenses:Rent) and I received the same error messages. A narrative of the experience follows:
I start with new Gnucash file with one rent expense account
I perform an import of Vanguard QFX file, taking all default answers and assigning the top account tree level for each account.
An illustration of the chart of accounts after the 'flat QFX import':
dummy Expenses
dummy insurance
dummy rent insurance
dummy rent account
income account VMRXX
income account VMFXX
income account VSGDX
investment account 1
investment account 2
investment account 3
investment account 4
investment account 5
investment account 6
investment account 7
VMFXX
VMRXX
VSGDX
VSMGX
VTSAX
Next, I do a File>Export>Export Account Tree to CSV and save to 'flat account tree.CSV'
Next, I do a File>New File and create a new Gnucash file with the one dummy Rent account
Next, I do a File>Import>Import Accounts from CSV and select file 'flat account tree.CSV'
I see the first 10 expected accounts in the preview, I click the 'apply' button in the import window
I see the following messages in the import window:
Import completed but with errors!
The number of Accounts added was 10 and 4 were updated.
See below for errors...
Row 2,commodity VMFXX/FUND not found
Row 3,commodity VMRXX/FUND not found
Row 4,commodity VSGDX/FUND not found
Row 5,commodity VSMGX/FUND not found
Row 6,commodity VTSAX/FUND not found
I clear the dialog and see the new chart of accounts after the import of the CSV file:
dummy Expenses
dummy insurance
dummy rent insurance
dummy rent account
income account VMRXX
income account VMFXX
income account VSGDX
investment account 1
investment account 2
investment account 3
investment account 4
investment account 5
investment account 6
investment account 7
As a result of this behavior, I find it necessary to re-enter my set of securities information after each reload of my account tree. Naturally, I would prefer that the stock information be imported with the rest of the account tree from the CSV file and I would very much appreciate any suggestions that I could implement to make this happen.
Sorry for the verbose post - I have other questions but this is my top priority so I will save the others for another day.