Gnucash en internetbankieren

Jaren geleden al weer maakte ik gebruik van Girotel Offline van de Postbank. Erg handig was dat je je opdrachten klaar kon maken en dan kort verbinding met de Postbank server kon maken en dan je opdrachten kon verzenden en je afschriften kon ophalen. Je had lokaal een goed overzicht van alle afschrijvingen en kon deze ook rubriceren.

Met de komst van het internetbankieren is eigenlijk dat lokale overzicht en de mogelijkheid om afschriften in rubrieken te zetten verdwenen. Er zijn daarvoor gelukkig wel oplossingen.Omdat ik vrij veel onder Linux werk ben ik gebruik gaan maken van Gnucash. Het is echter niet zo dat Gnucash zomaar de download bestanden van je bank kan lezen. Omdat ik gebruik maak van de ING (voorheen Postbank) en de Rabobank, heb ik een tijdje geleden een paar scripts gemaakt in Perl om de download data van de bank om te zetten in OFX.

ING

Voor Mijn ING (voorheen Mijn Postbank) gebruik ik pb2ofx. Het script verwacht een directory met de naam ofx en zal daar de resultaat file in plaatsen. Gebruik bij het downloaden van de ING-site het “Kommagescheiden (jjjjmmdd)” formaat, anders werkt het script niet.

pb2ofx.pl reknr_27-06-2009_09-07-2009.csv

levert een file reknr_27-06-2009_09-07-2009.ofx in de directory ofx.

Rabobank

Voor Rabobank Internetbankieren maak ik gebruik van rabo2ofx.

rabo2ofx.pl mut_280609.txt > mut_280609.ofx

Zoals je ziet wordt de uitvoer niet in de ofx directory geplaatst, maar naar stdout gestuurd zodat je het moet omleiden naar een file d.m.v. “> filenaam”.

Gnucash

In Gnucash kun je het .ofx bestand vervolgens importeren onder: Bestand->Importeer->Importeer QFX/OFX. Bij het importeren kun je vervolgens aangeven voor iedere transactie in welke rekening deze transactie thuishoort. Dit is een lerend systeem. Gnacash zal van steeds meer transacties zelf de juiste rekening voorstellen.

Links

Ik kwam ook nog een script tegen van Jelmer Vernooij om Postbank csv naar qif om te zetten. Meer info hier.

This entry was posted in software and tagged , , , , , . Bookmark the permalink.

14 Responses to Gnucash en internetbankieren

  1. Manfred says:

    Super bedankt. Ik liep nog altijd te klooien met importeren. Ik had al wel eens gezocht naar converters maar blijkbaar niet goed genoeg.

  2. Pigglilatet-tool says:

    Lees het hele blog, pretty good

  3. Daal says:

    Ik snap er niets van.. wanneer ik het linkje open, krijg ik een text bestand.
    welk linkje kan ik aanklikken om een ofx- bestand te importeren in numbers van Iworks?

  4. pief says:

    De links hierboven verwijzen naar een script. Dit is inderdaad een soort tekst bestand. Deze scripts kun je uitvoeren als er Perl geïnstalleerd is op je computer. Je kunt deze scripts dan uitvoeren op de commando regel.
    Ik kan je niet helpen met Iworks, daar heb ik geen ervaring mee.

  5. Leon says:

    Er zit een belangrijke fout in pb2ofx.pl. De datum die wordt weggeschreven in het .ofx bestand is incorrect. Door een bug in GnuCash crasht heel het programma hierop. (https://bugzilla.gnome.org/show_bug.cgi?id=612135)

    Een tweede probleem is dat wanneer als eerste argument een bestandsnaam met een pad wordt gegeven het wegschrijven niet goed gaat.

    VERSIE 0.2

    Ik heb het script herschreven, met twee aanpassingen.
    1) Datum correct
    2) Wegschrijven bestand gebeurt naar de stdout

    Download versie 0.2 op
    http://jongdesigns.nl/services/pb2ofx/pb2ofx.zip

    Gebruik (gelijk aan rabo2ofx.pl)

    $ ./pb2ofx.pl postbank.csv > ofx/postbank.ofx

    • pief says:

      @Leon: Ik heb er net ook even naar gekeken, maar de .csv files die ik van ING krijg beginnen met b.v. “20100201″. Dit komt overeen met het formaat dat ik zie in hoofdstuk “3.2.8.2 Date and Datetime” van de OFX specificatie. Wellicht helpt het als je op de ING-site download in het formaat Kommagescheiden (jjjjmmdd). Volgens mij zit er geen fout in het script, maar is de .csv file die je ontvangt in het verkeerde formaat.

  6. Manfred says:

    Hoi,

    Het is inderdaad een vereiste om ze te downloaden met kommagescheiden. Ook meerdere rekeningen in één keer downloaden werkt niet. (logisch, maar je moet het wel weten.) Ik gebruik je script nog steeds minstens ééns per week!

  7. Frank says:

    Kun je mij misschien op weg helpen?
    Ik vraag me af of en dus hoe de btw automatisch uit een factuur gefilterd kan worden en vervolgens op een tegenrekening gezet wordt.

    Dank

  8. Addy says:

    Na een middagje prutsen zie ik de csv bestanden in Gnucash, maar helaas……. er komen geen gegevens tevoorschijn. Ik heb gedownload van de Ing-site, kommagescheiden jjjjmmdd. Wat doe ik nog fout?

    Alvast bedankt.

  9. Leon says:

    Wanneer je dit script probeert te gebruiken met Moneydance komt er een foutje naar boven. Moneydance herkent namelijk het veld . Dit is echter niet geheel uniek met dit script. Transacties met dezelfde datum én hetzelfde bedrag krijgen hetzelfde . Dit resulteert erin dat Moneydance deze transacties als dubbel beschouwd en deze wegfiltert. (Zelfs als wegfilteren standaard uit staat.)

    Oplossing is het geheel leeglaten van het veld. In dit geval herkent Moneydance deze transacties niet als dubbel.

  10. oliver says:

    Er zit nog een best ‘grove’ fout in. De import werkt wel, maar GnuCash heeft moeite met de import van waar dingen vandaan komen e.d. GC zou erg veel baat hebben bij het correcte gebruik van de <BANKACCTTO>

    Ik heb hierover contact gehad met de gnucash mailling lijst en hier kwam het volgende uit:

    Can’t speak for gnucash import logic, but your generated OFX looks
    malformed. <BANKACCTTO> is just an aggegating element that consists
    of just a tag, without any text data. It contains three child
    elements ( <BANKID>, <ACCTID>, and <ACCTTYPE>) which are used as a
    3-tuple to uniquely identify a bank account. This might be screwing
    up your import.

    This part of the spec is stable across different OFX versions; you can
    find it e.g. on pg. 184 of the OFXv2.0.3 spec:

    in de spec staat dan wel dat NLD BANKID en BRANCHID ongebruikt zijn (je zou knunen zeggen dat de bank/branch id de BIC code oid zou zijn van de bank, maar hier in NL niet significant)

    Nu staat er in de ofx:
    <BANKACCTTO>
    rekening begunstigde
    </BANKACCTTO>

    Het zou moeten zijn (volgens mij)
    <BANKACCTTO>
    <ACCTID>rekening begunstigde</ACCTID>
    <ACCTTYPE>
    CHECKING (of SAVINGS etc)
    </ACCTTYPE>
    </BANKACCTTO>

    ik zal vanavond ff testen of het hiermee beter werkt; ik zal posten als dit niet het geval is :)

  11. Voor Rabobank-klanten: onlangs plaatste ik een (gratis) Windows-utility online waarmee ik mijn transacties omzet naar QIF en dan in GNUCash binnenhaal. http://sites.google.com/site/rabo2qif/

  12. Jeroen Kleijer says:

    pb2ofx.pl is werkt heel netjes maar ik heb zojuist een fout er in ontdekt.
    In de OFX file wordt een transactie opgeslagen met een uniek transactie ID. Omdat dit meestal niet in de csv file is meegenomen wordt deze gegenereerd door de datum en het bedrag aan elkaar te plakken.
    Dit gaat goed totdat je op een enkele dag meerdere keren hetzelfde bedrag besteedt :)
    Dan wordt (in ieder geval in Moneydance) alleen maar de eerste regel geimporteerd. De overige regels met de zelfde datum en het zelfde bedrag worden dan niet geimporteerd. (FITID moet uniek zijn volgens de OFX specificatie)
    Het uniek maken kan eenvoudig gebeuren door de regel
    $transaction[$tnr]{‘fitid’} = $t_datum . $t_amount;
    te vervangen door:
    $transaction[$tnr]{‘fitid’} = $t_datum . $t_amount . int(rand( 1000 ));

    Groeten,

    Jeroen

  13. Mijn complimenten voor het Rabobank script. Werkt als een speer.
    Ik heb nog wel een vraag over de inrichting van GNUCASH. Misschien dat kenners hierop willen reageren.
    Ik ben penningmeester van een wielerclub. Wij organiseren o.a. wedstrijden. Voor wedstrijden hebben we zowel kosten als inkomsten. In mijn gnucash rekeningschema heb ik hiervoor “de wielerklassieker” een rekening voor inkomsten en ook 1 voor onkosten. Maar dat dat staat dus niet bij elkaar in. En dat geldt voor elke wedstrijd die we organiseren.
    Vraag: kan dit anders, en dan bedoel in 1 rekening. Nu moet ik 2 rekeningen (inkomsten en uitgaven) raadplegen voor het saldo.
    Wil eventueel iemand eens naar een export van mijn rekeningen kijken of dit handiger, slimmer kan?. Ik ben dus geen boekhouder :)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>