The Rabalder Blog

A quick script to import data from my bank to GnuCash

Here’s a quick awk script I did to convert the bank statements from my bank to a format recognizable by GnuCash:

# A simple filter to mould the csv from nordea into
# something that can be swallowed by gnucash.

    FS = ";";
    RS = "\n";
    OFS = ";";
    ORS = "\n";

    # Regex for matching a date
    DATE = /^[0-9]{4}\.[0-9]{2}\.[0-9]{2}$/;

# Only lines starting with a date should be printed
$2 ~ DATE {
    # Strip negative sign from withdraw column
    withdraw = gensub(/\-/, "", "g", $8);
    print $2,$4,$6,withdraw,$10;

It could probably be shorter. I could drop setting the RS/ORS, but I like to be explicit. In addition to fixing the polarity of the withdrawals column it strips away all the lines that don’t contain any transactions. I don’t need them, and this saves me from having to do it manually in GnuCash.

Not anything revolutionary, but thought I’d share it anyways.