CSV and Other Import
Currently the CSV (and other like QIF) import dialog is very strict and gives NO facility for MAPPING of accounts to CSV columns etc.
No info on whether to put last column in csv as expenses:OfficeExpenses or only OfficeExpenses? and then whether gnucash is configured to show
only last of account names or fully qualified names. I tried BOTH combinations, still gnucash Fails EVERYTIME to map accounts.
behaviour I saw was - it maps ALL the entries to one account ( like all csv rows to Office_Expenses !!!)
Then - in last import dialog, we get mapped (or imbalance) accounts which are always distorted
and then I have to keep double clicking EACH row !!! to map it to particular a/c.
I can't even tell gnucash to repeat same for other rows !!!
So first item would be to have
A. Proper and EASY dialogs in Import Wizards
B. It should also allow - while mapping - as debit or credit columns corresponding to accounts
C. Import should be able to read FIRST line of csv file as Column-Headers and use it in mapping
Thank you all for the feedback.
The csv importer is currently being improved on the development branch. Several of the missing parts mentioned here are already being addressed, such as:
- ability to select transfer account
- ability to import files exported from gnucash
- remember account mappings for a future import
csv reader will not read any of my downloads as when the reader attempts to import it inserts double quotation marks in columns and will not allow corrections to the csv data.
I couldn't believe it, and wasted a lot of time trying to export from my personal accounts and then import to the business. Regardless, thanks to the authors of the software.
AdminGeert Janssens (Core Dev, GnuCash) commented
Just to remind you: the current CSV importer had one very specific goal: import bank statements in CSV format.
In that scenario, all the information a bank statement typically has, is a date, a transaction number, a description and an amount. All this can be mapped in the CSV importer. There typically is no information on transfer accounts, so the importer needs you to specify this. And the from account is implied: it's the bank account you're importing from. Some csv files have this info in a column (the own account number) and so the importer allows you to map that implied account via a column.
The future csv importer extends on this. It can still be used as above to import bank statements with the limited info they provide. But is has also been made more generic and will allow to select both a from account and a transfer account. You will have to teach gnucash which account descriptions in the csv file map to which accounts. But gnucash will remember these for future imports.
The names in the csv file don't have to match exactly with the names in gnucash because of this. The only caveat would be there is a one to one mapping. So if you have an account in your csv file "Charge" and map it to "Expenses:Bank:Charge", you can't have a future csv file in which "Charge" would mean "Expenses:Car:Charge". In that case you will need to adjust the mapping manually on each import.
It will also allow to handle multi-split transactions. You normally don't have such transactions in a bank statement, but you could when importing from other applications.
In addition, if you repeatedly have to do imports from csv files that always are structured the same way, you can save your importer configuration for the next import.
As for when to expect this: the changes are implemented for gnucash 3.0. They were way to invasive to do on a bugfix release in the 2.6 series.
I find gnucash impossible to use without this feature. I just don't have a way to import my data. So sad...
Evgenii Pashkin commented
"- remember account mappings for a future import"
This still don't go to official release.
Any reason for that?
Other parts of import works very good, big thanks.
I agree the "import transactions from CSV" needs further improvment.
i would like to be able to import data like the following automatically from one file:
<TransactionNumer> ; <Date> ; <Account_From> ; <Account_To> ; <Description>
at the moment you only seem to be able to import transactions for one account-from at the time.
it semms to be the same with with the invoice importer function, a file like the following would import
all the invoices to Customer 00001
Larry Alan Smith commented
I download my financial transactions in CSV format from various banks and credit unions.
Many of the dollar amounts are whole numbers (e.g., $123) with no cents.
When $123 is imported, it is imported as $1.23, not $123.00.
I have found no way around this issue.
Agree CSV import need major improments !
Have to add my disappointment too. CSV import is badly implemented. Why can't CVs's exported from GnuCash itself not be read easily. Needs attention
This is a big problem in my view. I want to be able to use a Python script to quickly clean up the transaction file I get from my bank, and then import that file to Gnucash. However, because I can't add the destination account programmatically, this save much less time than it could.
Chris Lonsberry commented
+1 on needing to be able to use a column for the destination account.
this a feature needed to link with other software like, POP, Stock, etc.
Jakub Narębski commented
I think it should be possible to *both* design some column as having name of "category" (destination account) and category to destination account mapping like for QIF import.
The key thing for me is the ability for the CSV being imported to contain a column that specifies the destination account in the "Transfer" column, and for GNU Cash to use this instead of prompting for this information.
If needed I can explain problems encounterd by me in more detail...but in general the CSV Import looks very bad as compared to whole other product i.e. GNU Cash.