Als je Rabobank internetbankieren gebruikt, en je wilt graag je rekeningoverzicht importeren in KMyMoney, dan heb je daar een scriptje voor nodig. Hieronder een korte uitleg hoe je dat kan doen.
vervang hieronder overal "gebruikersnaamhierinvullen" door je gebruikersnaam:
1) Open een terminal
2) Maak een nieuwe (verborgen) map aan in je thuismap: ("." voor mapnaam maakt map verborgen!)
mkdir /home/gebruikersnaamhierinvullen/.Rabobank
2) Maak een scriptje aan in deze map:
(ipv nano kan je ook gedit gebruiken)
nano /home/gebruikersnaamhierinvullen/.Rabobank/rabocvs2qif
en plak hierin de volgende tekst:
#!/usr/bin/python
# A script to convert the comma separated data as supplied by the Rabobank (the Netherlands) to QIF file format.
# Based on csv2qif by Baruch Even, which can be downloaded from http://baruch.ev-en.org/proj/gnucash.html.
# Amounts are positive when added to the account, negative when subtracted.
# (C)2004 Jeroen van der Vegt, ajvdvegt (@) 123mail (.) org.
# Beetje veranderd door Thomas en Raymond
import csv, string
def cleanrow(row):
newrow = []
for cell in row:
cell = string.strip(cell, '\xa0')
newrow.append(cell)
return newrow
class CSV2QIF_Base:
def __init__(self):
return
def run(self, filename):
reader = csv.reader(file(filename))
writer = file(self.basename() + '.qif', 'w')
writer.write(self.qif_header())
writer.write('\n')
for row in reader:
qifdata = self.row2qif(cleanrow(row))
if not qifdata: continue
writer.write(self.qifdata2str(qifdata))
writer.write('^\n')
writer.close()
class Rabobank(CSV2QIF_Base):
def basename(self):
return 'Rabobank'
def qif_header(self):
return '!Type:Bank'
def row2qif(self, row):
if len(row) < 11: return None
# orginele script:
# return {'D': row[2], 'T': self.creditdebit(row[4], row[3]), 'P': row[6] + ", " + row[10], 'N': row[5]}
# aanpassing door thomas, weghalen bepaalde info ivm. bruikbaarheid in Kmymoney
# return {'D': row[2], 'T': self.creditdebit(row[4], row[3]), 'P': row[6], 'N': row[5]}
# aanpassing door Raymond, extra info gaat in memo veld
return {'D': row[2], 'T': self.creditdebit(row[4], row[3]), 'P': row[6], 'M': '[' + row[8] + '] ' + row[10] + " " + row[11] + " " + row[12] + " " + row[13], 'N': row[5]}
def qifdata2str(self, data):
s = ''
for key in data.keys():
if key == 'D':
date = data[key]
s = s + key + date[0:4] + '-' + date[4:6] + '-' + date[6:8]
else:
s = s + key + data[key]
s = s + '\n'
return s
# creditdebit returns a single number: a positive value indicate money added,
# a negative value indicated money spend. A 'D' in the transfertype field indicates
# that is is debit, 'C' (or actually anything but 'D') indicates credit.
def creditdebit(self, credit, transfertype):
if transfertype == 'D':
return '-' + credit;
return credit;
if __name__ == '__main__':
inputfilename = 'mut.txt'
import sys
instance = Rabobank()
instance.run(inputfilename)
print 'Done'
bewaar dit bestand en verlaat nano.
3) Maak nog een bestandje aan:
nano /home/gebruikersnaamhierinvullen/.Rabobank/RaboConvert
plak hierin de volgende tekst, waar je "gebruikersnaamhierinvullen" vervangt door je gebruikersnaam, en wanneer je een Nederlandstalig systeem hebt "Desktop" door "Bureaublad":
#! /bin/bash
cd /home/gebruikersnaamhierinvullen/.Rabobank
cp /home/gebruikersnaamhierinvullen/Desktop/mut.txt /home/gebruikersnaamhierinvullen/.Rabobank/mut.txt
./rabocsv2qif mut.txt
rm /home/gebruikersnaamhierinvullen/Desktop/mut.txt
opslaan en nano verlaten
4) maak bestandjes uitvoerbaar: (verander weer gebruikersnaamhierinvullen door je gebruikersnaam)
chmod a+x /home/gebruikersnaamhierinvullen/.Rabobank/*
5) maak een snelstarter knop naar het scriptje /home/gebruikersnaamhierinvullen/.Rabobank/RaboConvert zodat je deze makkelijk kan uitvoeren, of maak hiervoor een nieuw menu item aan.
Nu kan je naar de Rabobank site gaan, en daar download klikken, vervolgens data invullen, kiezen voor bestandsformaat kommagescheiden, aanmaken, en downloaden naar je desktop (bureaublad).
-> mut.txt verschijnt op je desktop
Vervolgens voer je het RaboConvert scriptje uit.
-> mut.txt verdwijnt van je desktop (bureaublad)
Start KMyMoney op, file->import->QIF
browse naar /home/gebruikersnaamhierinvullen/.Rabobank/Rabobank.qif (dit hoef je alleen de eerste keer te doen)
en druk op de knop import
kies het juiste acount en druk op ok.
De rest wijst zich van zelf, en zo niet, hoor ik het hier wel.