Importing into Cashfulness: CSV bank statements and GnuCash files
In short
If your transactions are already somewhere else, you don't have to type them into Cashfulness again. Importing lives in Settings, under Backup and data, and there are two routes: your bank statement as a CSV file, one row per transaction, and your GnuCash file in XML, with its whole tree of accounts. Either way, you see a preview first, then you import, and if something doesn't look right you go back.
This page goes with lesson 8 of the free video course "Cashfulness step by step". The steps are in the same order as the video.
Watch the lesson
The lesson lasts about six minutes.
Where to find it
Importing isn't under Tools. Sidebar, System section, Settings, then Backup and data: there, together with backup and export, you'll find Import from CSV and Import from GnuCash.
From a bank statement, as CSV
Almost every bank lets you download your transactions as a CSV file, the kind you open with a spreadsheet.
- Import from CSV, then Choose file. The app accepts CSV, TSV and text files separated by comma, semicolon or tab.
- On the What is in each column screen, under How the file is built, choose One row = one movement: that's how a bank statement works.
- Match the columns: Date, Description, Signed amount.
- In Statement account, type the account you downloaded the file from, for example your checking account.
- In Account for rows without a counterpart, type where to put the rows the app can't classify, for example an Uncategorised account. This is the other side of each transaction: it isn't in the bank statement, and you'll sort it out later.
- If the file shows money going out as positive numbers, turn on Flip the sign of amounts.
- Press See preview.
The preview, first of all
The Preview says Nothing has been saved yet. and shows the Rows in the file, the Entries to import, the Date format detected and the Decimal separator detected. Above all, it has a What was not understood part: the app doesn't guess, it flags. If everything is fine, you'll read All clear: no doubtful rows.
Press Import. When it's done, Import completed appears, with the Entries saved. In the Register you'll spot them by the Imported label.
Going back. On the same screen there's Undo import: it removes in one go the entries and accounts that came in with that file. Use it straight away, there: once you leave the page or move on to another file, the button is gone.
With a large file it takes a few minutes. While the import is writing, the page won't let you leave, and that's deliberate: an import left halfway would carry on by itself, and anyone who thought it had stopped would be tempted to run it again, doubling everything. If the import stops while the app is open, Import stopped appears and you're offered Undo import to remove what came in before you try again.
From a GnuCash file
In GnuCash, accounts aren't a list of rows but a tree, and that's why it has a route of its own.
- First of all: the file must be in XML format, compressed is fine too. If it's in SQLite, open it in GnuCash, use Save As and choose XML.
- Import from GnuCash, then Choose file. The screen explains Where your accounts will go.
- The Preview shows the Accounts to create, the Entries to import and the Entries skipped, each with its reason.
The app copies the tree as it was, with the GnuCash names and parent accounts, and attaches each branch in the right place: assets with assets, expenses with expenses. Bank accounts, cash and cards arrive ready for reconciliation, and transactions that were reconciled in GnuCash arrive reconciled.
What doesn't balance stays out. An entry that doesn't balance isn't quietly patched up: it stays out, with the reason. Transactions voided in GnuCash, or all at zero, are counted separately.
The whole history, or from a date. Under Import from when, choose The whole file or Choose a date. With a date, earlier transactions don't come in one by one: they become each account's opening balance, worked out from the file. The income statement for the new period starts clean.
Tidying up the branches. After the import, Tidy up the imported accounts shows you where each branch sits (Currently under) and with Move you put it where you want in your chart of accounts. One at a time, even on another day: the balances already add up. A branch only moves within its own type: an asset can't end up among the expenses.
Not twice. If you choose the same file again, This file is already in your space appears, with the day and time of the earlier import, and Import stays greyed out until you undo the old one. This also helps after an interruption, for example if the computer lost power: choose the same file again and you'll find the half-done import ready to undo.
Common mistakes
- Importing the same CSV twice. It comes in twice: the app can't recognise it. With GnuCash, on the other hand, duplicates don't get in.
- Leaving the screen before checking. You undo a CSV import there; afterwards, the rows labelled Imported have to be removed by hand.
- Leaving everything in the account for rows without a counterpart. Empty it in your own time, moving each row to its expense or income account.
- A GnuCash file in SQLite. Save it as XML first.
Frequently asked questions
If I import the same CSV twice, does the app notice?
No. The same CSV imported twice comes in twice. If it happens, use Undo import straight away on the results screen. With GnuCash, the app recognises a file it has already imported and doesn't let it in again.
Can I import a GnuCash file saved as SQLite?
No, only XML, compressed or not. Open the file in GnuCash, use Save As and choose the XML format.
What happens to GnuCash entries that don't balance?
They stay out, and the preview tells you so, with the reason. The same goes for transactions voided in GnuCash or all at zero. No entry is quietly patched up.
In the manual
The user manual covers this in the Settings chapter, Backup and data section, and for CSV in The Tools chapter, Import from CSV section.
The previous lesson
Lesson 7 · The Balance Sheet and the Income Statement in Cashfulness. The photograph of what you own and what you owe, and the film of what came in and what went out.
The next lesson
Lesson 9 · Encrypted documents and privacy in Cashfulness. Where the privacy line is drawn: what we know about you, what we can't see even if we wanted to, and which switches are in your hands.
Vittorio Giusti is an economist and psychologist, and he built Cashfulness.