Hoe importeer ik in GnuCash?

In een van mijn eerste blogposts over GnuCash heb ik wel eens iets geschreven over de import van banktransacties. Maar dat was destijds nog niet heel uitgebreid. In deze blogpost een uitgebreidere beschrijving, naar aanleiding van vragen van lezers. Ook deel ik de spreadsheet die ik gebouwd heb om de exportbestanden van mijn bank ‘voor te bewerken’.

Zoals ik op mijn blog wel eens beschreven heb, werk ik met de Rabobank en met ABN AMRO. Bij die eerste staat mijn persoonlijke rekening, bij die tweede de gezamenlijke huishoudrekening. Bij de Rabobank download ik regelmatig het standaard CSV-bestand met rekeningtransacties, bij de ABN AMRO download ik het TXT-bestand. Die worden daarbij automatisch in mijn standaard Windows downloads directory geplaatst.

GnuCash Converter

Ik voer daarna inderdaad wat bewerkingen uit om die bestanden om te zetten in versies die makkelijker te importeren zijn in GnuCash. Ik heb hiervoor uiteraard een spreadsheet met macro’s ontwikkeld, die deze handelingen met één druk op de knop voor mij doen. Want als ik ergens een bloedhekel aan heb, dan is het aan identieke handmatige acties die ik regelmatig uit moet voeren. We leven in 2023, daar is ICT voor…

En ik heb daarvan inmiddels zelfs twee versies. Eentje voor Microsoft Excel (die ik zelf niet meer gebruik) en eentje voor LibreOffice Calc. Beide zijn op mijn Downloads-pagina te vinden, onder het kopje ‘GnuCash’. Let op, die werkt dus alleen voor bestanden van Rabobank en ABN AMRO! Voor de Rabobank importeer ik niet alleen de reguliere banktransacties, maar ook mijn creditcardtransacties.

De opzet van de spreadsheets is simpel. Op het werkblad ‘Settings’ vul je eenmalig jouw Downloads-directory in, ook de directories waar je wilt dat jouw originele bankbestand gearchiveerd wordt, en de GnuCash Import directory waar je wilt dat het voorbewerkte importbestand door de spreadsheet wordt opgeslagen. Daarna ga je naar het werkblad ‘Dashboard’. Hier kies je in het keuzevenster voor Rabobank Boekingen, Rabobank Creditcard, of ABN AMRO.

Vervolgens druk je op de knop ‘Process File’. Die start de verwerking op. Het bestand dat je vooraf gedownload hebt van de bank wordt gekopieerd naar de archiefdirectory. Daar wordt het geopend en tijdelijk ingelezen in de Converter spreadsheet. Die voert vervolgens een aantal bewerkingen uit. Datum en cijfervelden worden in het juiste formaat gezet, overbodige velden worden verwijderd, een aantal velden worden gecombineerd tot één veld. Het bestand dat overblijft wordt vervolgens opgeslagen in jouw ingestelde GnuCash Import directory.

GnuCash Import

Vervolgens start ik GnuCash. In mijn administratie ga ik naar ‘File | Import | Import Transactions from CSV…’. Dit opent de importfunctie van GnuCash.

Wat belangrijk is om te weten: in de importfunctie van GnuCash kun je vaste importprofielen aanmaken en opslaan. Die heb ik uiteraard gemaakt voor mijn importbestanden. Ik selecteer dus het juiste importbestand, kies daarna voor het bijbehorende importprofiel, en dan weet ik zeker dat het importbestand (de output van mijn Converter spreadsheet) goed wordt ingelezen. Hieronder beschrijf ik die profielen.

Wat ook prettig is om te weten: GnuCash leert van jouw boekingen. Als jij een keer een bepaalde boeking op rekening X geboekt hebt (bijvoorbeeld ‘supermarkt X’), en GnuCash komt bij een volgende import een boeking tegen met dezelfde kenmerken, dan zal GnuCash zelf voorstellen om die ook op rekening X te boeken. Dat scheelt handmatig werk. Let wel op, het systeem is niet onfeilbaar. Ik controleer dus altijd zelf tijdens het importeren de rekeningen die GnuCash voorstelt. Maar in meer dan 90% van de gevallen heeft GnuCash het goed gezien.

Stappen in het importproces

Eerst krijg je een informatiescherm over de Transaction Import Assistant. Als je op ‘Next’ klikt krijg je een scherm waar je het in GnuCash te importeren bestand kunt kiezen. De output van de Converter spreadsheet. Daarvoor kies je de directory die je op het Settings werkblad van de Converter hebt ingevuld als GnuCash Import directory. Als je die kiest, zie je (als het goed is) een bestand staan met de datum van vandaag. Dat selecteer je, je klikt weer op ‘Next’.

Vervolgens krijg je het scherm met de importinstellingen. Die beschrijf ik hieronder apart.

Import Rabobank Transacties

In onderstaand scherm zie je de instellingen die ik gebruik om Rabo Transacties te importeren. Als je deze instellingen gedaan hebt, typ dan een naam in venster (1) en klik dan op knopje (2) om de instellingen op te slaan. Dan kun je ze bij een volgende import met één druk op de knop hergebruiken.

Bij (3) zie je dat ik mijn banktransacties standaard op de grootboekrekening ‘Activa:Huidige Activa:Lopend Rabo’ (mijn standaard Rabo betaalrekening) importeer. Van daaruit laat ik ze dan boeken op de juiste kostenrekening, de juiste tegenrekening in activa (bijvoorbeeld een overboeking naar mijn spaarrekening of beleggingsrekening), of op een andere rekening (bijvoorbeeld hypotheektransacties die ik rechtstreeks tegenboek op de rekening ‘Passiva:Hypotheek’).

Als ‘separators’ tussen de velden van het importbestand gebruik ik puntkomma’s. Dat stel je in bij (4).

Het datumformat stel je in bij (5). Encoding en Currency Format heb ik op de defaultwaarde laten staan.

Bij (6) zie je dat de import begint bij regel 2 van het importbestand, want in regel 1 heb ik de kolomnamen staan.

Op de onderste helft van het scherm kies je bij (1) tot en met (5) de GnuCash-velden waar de betreffende importvelden weggeschreven moeten worden.

Zo simpel is het, dit zijn de instellingen die je nodig hebt om de output van de GnuCash converter te importeren. Vergeet je niet om de instellingen op te slaan?

Import Rabobank Creditcard Transacties

In onderstaand scherm zie je de instellingen die ik gebruik om Rabo Creditcard Transacties te importeren. Als je deze instellingen gedaan hebt, typ dan een naam in venster (1) en klik dan op knopje (2) om de instellingen op te slaan. Dan kun je ze bij een volgende import met één druk op de knop hergebruiken.

Bij (3) zie je dat ik mijn banktransacties standaard op de grootboekrekening ‘Passiva:Creditcards:Mijn Creditcard’ importeer. Van daaruit laat ik ze dan boeken op de juiste kostenrekening.

Als ‘separators’ tussen de velden van het importbestand gebruik ik puntkomma’s. Dat stel je in bij (4).

Het datumformat stel je in bij (5). Encoding en Currency Format heb ik op de defaultwaarde laten staan.

Bij (6) zie je dat de import begint bij regel 2 van het importbestand, want in regel 1 heb ik de kolomnamen staan.

Op de onderste helft van het scherm kies je bij (1) tot en met (4) de GnuCash-velden waar de betreffende importvelden weggeschreven moeten worden. Je ziet dat de eerste regel van het importbestand is weggestreept, daar staan de veldnamen en die hebben we bij (6) op het instellingenscherm ingesteld.

Import ABN AMRO Transacties

In onderstaand scherm zie je de instellingen die ik gebruik om ABN AMRO Transacties te importeren. Als je deze instellingen gedaan hebt, typ dan een naam in venster (1) en klik dan op knopje (2) om de instellingen op te slaan. Dan kun je ze bij een volgende import met één druk op de knop hergebruiken.

Bij (3) zie je dat ik mijn banktransacties standaard op de grootboekrekening ‘Activa:Huisidige Activa:Gezamenlijke Rekening’ importeer. Van daaruit laat ik ze dan boeken op de juiste kostenrekening, de juiste tegenrekening in activa (bijvoorbeeld een overboeking naar mijn spaarrekening of beleggingsrekening), of op een andere rekening (bijvoorbeeld hypotheektransacties die ik rechtstreeks tegenboek op de rekening ‘Passiva:Hypotheek’).

Als ‘separators’ tussen de velden van het importbestand gebruik ik puntkomma’s. Dat stel je in bij (4).

Het datumformat stel je in bij (5). Encoding en Currency Format heb ik op de defaultwaarde laten staan.

Bij (6) zie je dat de import begint bij regel 2 van het importbestand, want in regel 1 heb ik de kolomnamen staan.

Op de onderste helft van het scherm kies je bij (1) tot en met (3) de GnuCash-velden waar de betreffende importvelden weggeschreven moeten worden.

Vervolg Importproces

Als je het bestand geselecteerd hebt, de juiste importinstellingen hebt gekozen, en weer op ‘Next’ hebt gedrukt, gaat GnuCash aan de slag. De transacties worden ingelezen, en GnuCash probeert er zelf de juiste tegenrekening bij te vinden. Dat wordt je gepresenteerd via onderstaand scherm. Zelf vind ik dat soms best onoverzichtelijk. Het motiveert me om regelmatig mijn transacties in te lezen zodat er geen grote aantallen regels het scherm vervuilen.

Bij groene regels (1) denkt GnuCash zelf een matchende tegenrekening (2) gevonden te hebben. Dat is fijn, maar zoals ik al zei: het systeem is niet onfeilbaar, dus controleer het goed!

Bij gele regels (3) kan GnuCash geen tegenrekening voorstellen. Het systeem stelt dan standaard voor om het op een aparte rekening ‘IMBALANCES’ te boeken. Meestal kijk ik even naar de boeking en pas dan handmatig de tegenrekening aan. Dat doe je door de gele regel te selecteren met de rechtermuisknop te klikken op het rekeningveld waar ‘IMBALANCES’ staat, en te kiezen voor de optie ‘Assign a transfer account to the selection’.

Rode regels (niet in bovenstaand scherm) wil GnuCash om een of andere reden niet importeren. Door aan de rechterkant het juist vinkje bij veld A (4) te zetten kun je het systeem op andere gedachten brengen. Je kunt dan ook een tegenrekening instellen en de regel wordt gewoon geïmporteerd.

Soms markeert GnuCash zelf al boekingen (5) waarvan het systeem denkt dat die al eerder geïmporteerd zijn. Dat kun je zelf even controleren, de importfunctie staat (in elk geval onder Windows) open in een apart venster naast het eigenlijke GnuCash scherm. Je kunt dus makkelijk even schakelen tussen de vensters.

En daarna klik je weer op ‘Next’. De boekingen worden dan geïmporteerd in jouw GnuCash administratie, met de door jou geselecteerde tegenrekeningen. Scheelt een hoop tijd ten opzichte van handmatig invoeren!

Werk jij jouw administratie nog handmatig bij? Of heb je dat geautomatiseerd?

Het logo van GnuCash aan het begin van dit artikel is eigendom van de GnuCash developers.

NB: Op mijn startpagina vind je een overzicht van al mijn blogposts over GnuCash.

De finance routine

Geldnerd is dol op het bijhouden van zijn cijfertjes. Dat geeft rust en overzicht, en dat is belangrijk. Ik heb vaak geschreven over mijn wekelijkse finance-moment. Maar dat is geen starre traditie. Het beweegt en ontwikkelt zich door de tijd, ook afhankelijk van de tools die ik gebruik.

Alles draait om de 25e

Afgelopen vrijdag was het weer de 25e. In mijn financiële kalender is dat de belangrijkste dag van de maand. Uiterlijk op de 24e stort mijn werkgever, de rijksoverheid, namelijk mijn salaris. Eerder in december en als de 24e in een weekend valt. Naast mijn salaris ontvang ik dan ook mijn IKB-budget. Ik heb ervoor gekozen om dat maandelijks uit te laten betalen zodat ik het meteen aan het werk kan zetten. En meestal ontvang ik ook een bedrag aan thuiswerkvergoeding. Volgens de CAO hebben we recht op € 2 per dag, en ik werk nog steeds 2 à 3 dagen per week thuis. In mijn agenda staat een reminder op de eerste werkdag van elke maand om de thuiswerkvergoeding van de voorafgaande maand te declareren. Dat kost een paar minuten, ik houd namelijk in mijn notitie-app bij wanneer ik op kantoor geweest ben. Op deze manier vergeet ik niet om te declareren, en vraag ik ook niet te veel of te weinig aan.

Op de 25e ’s ochtends vroeg voert de Rabobank een aantal voorgeprogrammeerde boekingen uit. Dat kan bij hen nog steeds niet automatisch als het salaris binnenkomt. De functie die ze daarvoor hebben, Slimme Overboekingen, werkt namelijk alleen tussen rekeningen van de Rabobank onderling. Dus alleen voor Domme Mensen die al hun financiële zaken bij de Rabobank doen…

Maar van mijn rekeningen vertrekken op dat moment alleen maar boekingen naar rekeningen elders. Er gaat geld naar onze gezamenlijke huishoudrekening bij ABN AMRO voor het huishouden in de komende maand en de aflossingen op de hypotheek. Mijn maandelijkse inleg op de beleggingsrekening wordt overgemaakt naar mijn rekening bij Saxo Bank. En mijn maandelijkse inleg in de voorzieningen wordt overgemaakt naar mijn spaarrekening bij Lloyds Bank. De boekingen naar ABN AMRO staan meteen op de rekening (lang leve Instant Payments!), de boekingen naar Lloyds en Saxo zijn iets langer onderweg.

Acties

Afgelopen vrijdag rond de lunch maakte ik mijn maandelijkse rondje langs de rekeningen.

Allereerst log ik in bij ABN AMRO. Aan het saldo kon ik zien dat de overboekingen van mijn eigen rekening en de persoonlijke rekening van Vriendin gearriveerd waren. Vervolgens ga ik naar het hypotheekgedeelte, en doe de maandelijkse extra aflossing (inclusief sneeuwbal). In mijn hypotheekspreadsheet kan ik zien hoe hoog die moet zijn. Ik download de PDF met de bevestiging voor mijn administratie. En ik download alle boekingen sinds de vorige download, om te verwerken in mijn administratie.

Daarna log ik in bij de Rabobank. Daar check ik of er genoeg saldo op mijn lopende rekening staat voor de creditcardafrekening, die de Rabobank meestal op de 26e incasseert. Indien nodig vul ik het aan. Ik download het creditcardoverzicht en het bankafschrift van de vorige maand (PDF), en ik download ook de CSV-bestanden met banktransacties en creditcardtransacties.

Als derde log ik in bij Saxo. Daar kom ik echt maximaal twee keer per maand. Op de 25e om mijn maandelijkse beleggingstransactie uit te voeren. En de eerste zaterdag na die transactie om mijn rapportage te downloaden zodat ik de transacties kan importeren in mijn beleggingsspreadsheet. Rond de lunch is mijn maandelijkse inleg altijd wel binnengekomen. Het voorgaande weekend heb ik in mijn beleggingsspreadsheet al gekeken welke ETF ik dit keer bij moet kopen om dichter bij de gewenste portefeuilleverdeling te komen. Ik maak een kooporder voor het maximale aantal stukken dat ik met het beschikbare bedrag op de beleggingsrekening kan kopen. Ik kijk niet naar de koersen. Ik ga niet aarzelen of de koers over een uur of morgen misschien lager staat. Order inleggen met een ruime prijsmarge, een paar seconden wachten op de bevestiging dat de order is uitgevoerd en tegen welke koers, en uitloggen.

En als laatste log ik in bij Lloyds. Daar hoef ik eigenlijk niets te doen, ik kijk alleen even of mijn overboeking inderdaad is binnengekomen en check het saldo tegen de bedragen in mijn boekhouding om te zien of er geen gekke dingen gebeuren.

Veel werk? Valt best wel mee. Het kost me ongeveer een kwartier. Er zijn maar twee echt handmatige handelingen, de aankooporder voor de beleggingen en de extra aflossing op de hypotheek. En beide heb ik zo eenvoudig mogelijk gemaakt met mijn spreadsheets die me precies vertellen wat ik moet doen. Geen emoties, geen twijfel. Gewoon doorgaan.

Boekhouding

Na het rondje langs de rekeningen is het zaak om mijn administratie bij te werken. Meestal doe ik dat in het weekend na de 25e, in november valt dit toevallig samen op dezelfde dag. Het bijwerken begint met mijn ‘GnuCash Converter’ spreadsheet. Die importeert met één druk op de knop de bestanden met creditcardtransacties en banktransacties van de Rabobank en ABN AMRO, en zet ze om in een format dat ik makkelijk in kan lezen in GnuCash. Omdat er inmiddels ongeveer 10 jaar aan financiële data in GnuCash zit weet het systeem vrijwel feilloos op welke grootboekrekeningen de boekingen terecht moeten komen.

Soms vul ik handmatig wat extra informatie aan bij een boeking zodat ik ook over een paar jaar nog weet waar deze boeking over ging. En sommige boekingen splits ik in meerdere regels. De salarisbetaling splits ik bijvoorbeeld zodat ik de thuiswerkvergoeding op een aparte inkomstenrekening kan boeken. Op dezelfde manier splits ik de reguliere rente en aflossing, de aflossing boek ik op de rekening Passiva:Hypotheek en de rente op Uitgaven:1000 Huisvesting:1025 Hypotheekrente (die nummering is in mijn administratie historisch zo gegroeid).

Ook de boeking naar mijn bufferspaarrekening wordt gesplitst in 10 boekingen die verdeeld worden over mijn potjes. Dat hoef ik gelukkig niet handmatig te doen, ik kan gewoon de boeking van de voorgaande maand kopiëren en de datum aanpassen. En tenslotte verwerk ik de beleggingsorder in de administratie. Meestal ook door een eerdere order in hetzelfde fonds te kopiëren en de aantallen en aankoopprijs aan te passen.

De laatste stap in het bijwerken van mijn administratie is de saldocheck. Kloppen de saldi van mijn rekeningen in de administratie met de saldi bij de bank? Als dat het geval is, dan is alles in orde en compleet. Ook dit proces klinkt tijdrovender dan het is, in de praktijk kost het maar ongeveer een kwartier om de administratie helemaal bij te werken.

Routine

Meestal werk ik halverwege de financiële maand, zo rond de 10e, de administraties nog een keertje bij. Ik download weer de bestanden bij Rabobank en ABN AMRO en importeer ze in GnuCash. Als ik dat maar eens per maand doe, ben ik soms vergeten waar een uitgave ook al weer voor was (veel bedrijven geven vreemde namen aan hun pinapparaten, je kunt lang niet altijd zien waar het was…). Daarom schrijf ik bijzondere uitgaven vaak ook op in mijn financiële dagboek, dan kan ik het even terugzoeken.

Wat ik wel elk weekend doe is het bijwerken van de actuele aandelenkoersen in mijn beleggingsportefeuille. Maar ook dat is heel eenvoudig. Ik open GnuCash, en ga naar ‘Tools | Price Database | Get Quotes’. In minder dan een halve minuut haalt GnuCash dan de slotkoersen van mijn fondsen van de afgelopen beursweek en de actuele valutakoersen (Euro / Dollar) op. Eigenlijk is dit niet eens nodig, het zou voldoende zijn als ik dat elk kwartaal doe voor mijn kwartaalrapportage, of zelfs maar eens per jaar. Maar het is al bijna twintig jaar mijn gewoonte om die koersen elke week bij te houden, en Geldnerd is nou eenmaal een gewoontediertje…

Minder dan een uur per maand kost het om mijn administratie gedetailleerd bij te houden. Veel mensen missen elke dag meer slaap dan dat vanwege geldzorgen. Inzicht in je uitgaven en inkomsten geeft rust en geeft je inzicht waarmee je bij kunt sturen. Dat is dat uurtje toch meer dan dubbel en dwars waard?

Hoe houd jij jouw administratie bij?

Finetunen met GnuCash

Inmiddels is GnuCash vrijwel helemaal naar mijn wens ingericht. Alle blogjes die ik daarover geschreven heb kun je vinden onder het kopje ‘GnuCash’ op mijn overzichtspagina. In deze blogpost nog een aantal losse eindjes, specifieke dingen die ik gedaan heb om GnuCash helemaal naar mijn wensen in te richten.

Voorzieningen

Volkomen terecht werd ik er in de reacties op gewezen dat ik nog niet ben teruggekomen op mijn keuze voor de voorzieningen. Ik schreef een uitgebreide boekhoudkundige blogpost over de opties die ik overwoog om mijn potjes te verwerken in GnuCash. Maar ik heb niet meer laten weten wat ik nu gekozen heb!

Uiteindelijk werd het Methode 1 (Aparte Uitgavenrekening Voorzieningen) met een toevoeging. Ik maak namelijk ook een lege boekingsregel aan naar de grootboekrekening waar de voorziening uiteindelijk aan besteed wordt.

De maandelijkse toevoeging aan de voorzieningen ziet er dan als volgt uit (voorbeeld voor de voorziening Zorgverzekering).

DateAccountDepositWithdrawal
25-mm-2021Activa:Huidige Activa:Lopende Rekening100
25-mm-2021Passiva:950 Voorzieningen:951 Voorziening Zorgverzekering100
25-mm-2021Activa:Huidige Activa:Bufferspaarrekening100
25-mm-2021Uitgaven:9500 Voorzieningen:9510 Voorziening Zorgverzekering100

En de terugboeking ziet er dan als volgt uit.

DateAccountDepositWithdrawal
21-12-2021Activa:Huidige Activa:Bufferspaarrekening1.155
21-12-2021Activa:Huidige Activa:Lopende Rekening1.155
21-12-2021Uitgaven:9500 Voorzieningen:9510 Voorziening Zorgverzekering1.200
21-12-2021Passiva:950 Voorzieningen:951 Voorziening Zorgverzekering1.200
21-12-2021Activa:Huidige Activa:Lopende Rekening1.155
21-12-2021Passiva:950 Voorzieningen:951 Voorziening Zorgverzekering
21-12-2021Uitgaven:1200 Financiën, Zorg en Overheid:1230 Zorgverzekering1.155

Die lege regel lijkt zinloos, maar is het niet. Het betekent namelijk dat ik in de administratie op de uitgavenrekening kan zien dat (een deel van) de uitgave door een voorziening gedekt is.

Ik heb hiermee gekozen voor de oplossing die ik boekhoudkundig het meest zuiver vond. En het kost als je het eenmaal hebt ingeregeld nauwelijks werk, zie hieronder bij ‘Dupliceren’.

Backup

Geldnerd heeft een back-up obsessie, dat is bekend. Als ik een nieuw softwarepakket in gebruik neem kijk ik dus ook even of alles wat belangrijk is wel meegenomen wordt in mijn back-ups.

De locatie van de GnuCash databestanden met jouw eigen administratie kun je zelf instellen bij de eerste keer opslaan. Ik heb hiervoor een aparte directory in Mijn Documenten aangemaakt. Dat is handig, want die hele directory loopt al mee in mijn reguliere back-up schema. Maar GnuCash slaat (helaas) ook allerlei instellingen op andere plaatsen op. Maatwerkrapportages, importinstellingen, dat soort dingen. En die zou ik ook niet graag kwijtraken, want het was best een klus om het helemaal naar mijn zin in te richten. Gelukkig is er op de GnuCash Wiki een aparte pagina waar de verschillende bestandslocaties die je moet backuppen in voor techneuten begrijpelijke termen staan genoemd.

Zelf heb ik voor mijn maatwerkinstellingen de onderstaande directories toegevoegd in mijn back-up:
C:\Gebruikers\\AppData\Roaming\GnuCash\
C:\Gebruikers\\AppData\Local\gtk-3.0\

En als je ook nog gebruik maakt van aqBanking om automatisch banktransacties binnen te halen (iets wat volgens mij door Nederlandse banken niet ondersteund wordt) dan moet je de directory ‘C:\Gebruikers\\AppData\aqbanking\’ ook meenemen. Als je verder ook nog maatwerk gebruikt voor de gebruikersinterface wordt dat opgeslagen in ‘C:\Gebruikers\\AppData\Local\gtk-3.0\’. Dat doe ik, zie ook verderop.

Price Database

GnuCash kent het verschijnsel van de Price Database. Hierin worden de handelsprijzen van jouw beleggingstransacties opgeslagen, en ook de wisselkoersen van vreemde valuta. Als je (net zoals ik) gebruik maakt van Finance::Quote voor het binnenhalen van actuele aandelenkoersen, komen ze hier ook terecht. Je vindt de Price Database via de menu-optie ‘Tools | Price database’.

Ik heb de historische prijzen van mijn beleggingsportefeuille opgenomen in GnuCash. Die heb ik immers in mijn beleggingsspreadsheet zitten. Met wat knippen en plakken vanuit Excel heb ik per fonds een CSV-bestand gemaakt. Dat heb ik vervolgens via ‘File | Import | Import prices from a CSV file’ geïmporteerd in GnuCash. Op die manier heb ik echt een volledig beeld van mijn financiën sinds 1 januari 2013.

Automatische Transacties (of Dupliceren)

Er zijn boekingen die ik regelmatig wil herhalen. Denk bijvoorbeeld aan de set met boekingen die nodig is voor het vullen van mijn reserveringen. Hiervoor kent GnuCash het verschijnsel automatische transacties, via ‘Actions | Scheduled Transactions’. Ik heb ermee geëxperimenteerd, maar vond het te ingewikkeld en foutgevoelig voor wat ik nodig heb. Liever gebruik ik de ‘Duplicate’ functie. Mijn vaste maandelijkse overboeking van de lopende rekening naar de bufferrekening bijvoorbeeld. Ik dupliceer gewoon de transactie van de voorgaande maand en pas de datum aan, via ‘Transaction | Duplicate’ of de ‘Duplicate’ knop in de knoppenbalk. Dat is net zo makkelijk, vooral voor de (gesplitste) boekingen die elke maand terugkomen.

Rekeningen Verbergen

Toen ik helemaal klaar was met het inlezen van al mijn financiële transacties sinds 1 januari 2013, was mijn rekeningoverzicht redelijk onoverzichtelijk geworden. Een ‘rekeningonoverzichtelijk‘ dus. Allerlei beleggingsfondsen die ik al niet meer bezit, drie creditcards die ik niet meer heb, een paar oude spaarrekeningen waar dat ook voor geldt, enzovoorts. Gelukkig kun je rekeningen onzichtbaar maken. Ze zijn er dan nog wel, maar staan niet meer in je reguliere overzicht. Dat scheelt een hoop.

Je kunt rekeningen onzichtbaar maken door in het Accounts overzicht met de rechtermuisknop te klikken op de account, en ‘Edit Account’ te kiezen. Vervolgens vink je de optie ‘Hidden’ aan. Via het menu ‘View | Filter by | Other’ kun je ‘Show hidden accounts’ aanvinken, dan worden ze wel weer zichtbaar (mocht dat nodig zijn).

Welcome to the Dark Side Mode

Geldnerd is fan van de dark mode op al zijn apparaten. De kleurinstelling met een donkere achtergrond en lichte letters. Ik vind het rustiger aan mijn ogen, en ik zit ook graag ’s avonds in het donker te werken. Dat leidt minder af en geeft mij meer focus. Een persoonlijke voorkeur. Maar standaard komt GnuCash met een licht thema.

Open-source software heeft soms niet alle functionaliteit die je bij commerciële closed-source pakketten wel krijgt. Er was ‘vroeger’ een tooltje in GnuCash onder Windows om een ’theme’ in te stellen, maar dat werkt helaas niet meer. Een nieuwe tool staat nog niet hoog genoeg op de prioriteitenlijst van de ontwikkelaars, al wordt er inmiddels wel geëxperimenteerd met opmaak op basis van Cascading Style Sheets (CSS).

GnuCash gebruikt wel de open-source GTK+ Toolkit, ook onder Windows. En dat maakt het relatief eenvoudig om wel een Dark Mode in te schakelen in GnuCash. Hiervoor maak je een klein bestandje aan met de naam ‘settings.ini’, dat kan gewoon met het Kladblok in Windows. De inhoud van dat bestandje is heel simpel’:

[Settings]
gtk-application-prefer-dark-theme=true

Dit bestandje plaats je in de directory ‘C:\Gebruikers\\AppData\Local\gtk-3.0\’. Als je daarna GnuCash opnieuw opstart dan wordt de interface in een donker thema weergegeven.

In de grootboekregisters zie je dan nog wel de kenmerkende afwisselende lichtgroene en donkergroene strepen. Dat kun je eventueel uitzetten door bij ‘Edit | Preferences | Register’ onder Graphics de optie ‘Use GnuCash built-in color theme’ uit te schakelen. Ik heb die zelf nog wel aanstaan voor de leesbaarheid.

Je kunt in diezelfde directory ‘C:\Gebruikers\\AppData\Local\gtk-3.0\’ ook nog een bestandje ‘gtk.css’ aanmaken om andere kenmerken aan te passen. Dat is met de huidige versie die ik gebruik (4.11) allemaal nog een beetje experimenteel. Maar de optie

#gnc-id-main-window {
   font-size: 20pt;
   }

Zorgt er bijvoorbeeld voor dat er een (groter) 20-punts lettertype gebruikt wordt in GnuCash. En met een beetje zoeken op internet kun je nog veel meer dingen naar jouw persoonlijke smaak aanpassen.

Rekeningschema

Inmiddels is mijn rekeningschema in GnuCash behoorlijk uitgebreid. Zo zit mijn beleggingsportefeuille erin. De hypotheekschuld en de waardering van onze eigen woning. Al mijn bankrekeningen. En het grootboekrekeningschema is behoorlijk uitgebreid. Hondje heeft nu zijn eigen rekeninggroep met aparte grootboekrekeningen voor medische kosten en de uitlaatservice. Ik heb een nieuw (geanonimiseerd) exportbestand van het rekeningschema gemaakt ter inspiratie. Dat kun je hier downloaden.

Heb jij nog tips voor of vragen over mijn inrichting van GnuCash?

Het logo van GnuCash aan het begin van dit artikel is eigendom van de GnuCash developers.

NB: Op mijn startpagina vind je een overzicht van al mijn blogposts over GnuCash.

DirSyncPro, FreeFileSync of Syncthing?

Geldnerd is een groot fan van open-source software (OSS). Naast voordelen heeft dat af en toe ook een nadeel. Want de ontwikkeling kan stilvallen als die afhankelijk is van één of slechts enkele personen. Dat heb ik eerder meegemaakt met Pegasus Mail. Meestal zit er niks anders op dan op zoek te gaan naar een alternatieve (OSS) oplossing. Soms is dat de vloek van open-source software.

Het lijkt erop dat zoiets nu ook aan de hand is met mijn synchronisatiesoftware, de oplossing die ik gebruik om de data van mijn laptop naar mijn server te krijgen als onderdeel van mijn back-up obsessie. De meest recente versie van DirSyncPro is inmiddels 3 jaar oud, en de website en social media laten weinig activiteit meer zien. Het lijkt erop dat de ontwikkeling is stilgevallen en dat vind ik een risico.

Dus was het tijd om weer eens rond te kijken. Lang heb ik mijn backups gemaakt met een klein maar fijn softwarepakket je genaamd AIS Backup, waarbij alles keurig in ZIP-files terechtkwam. Later ging ik synchroniseren naar mijn server met de hulp van SyncBack. In de queeste naar een volledig open source gebaseerde omgeving is dat vervangen door DirSyncPro. En nu, tijd voor iets anders?

Naast de eis van open source ben ik op zoek naar software die op verschillende besturingssystemen werkt. In elk geval Windows en Linux, en liefst ook MacOS. Dit om zo flexibel mogelijk te zijn in toekomstige systeemkeuzes. En ik zoek ook naar software die een kopie maakt van het bestand op mijn server. Geen versleutelde archieven of zo, dat is alleen maar ingewikkeld als ik eens een keer een bestand wil terughalen. Om deze reden is Duplicati eerder afgevallen. En ik wil uiteraard dat er regelmatig een nieuwe versie uitkomt. In elk geval vaker dan eens per 3 jaar…

Syncthing of FreeFileSync

Na wat onderzoek kwam ik uit op twee alternatieven. FreeFileSync en Syncthing. Beide worden ze actief doorontwikkeld. Beide hebben ze voor- en nadelen. Bij FreeFileSync werd ik een beetje moe van de rommelige interface.  En het bleek best ingewikkeld om FreeFileSync zo in te stellen dat het automatisch mee opstart met Windows en op de achtergrond gewoon z’n werk doet.

Syncthing heeft een prettiger interface, maar nadeel was dan weer dat je het zowel op de verzendende als op de ontvangende machine moet installeren. En de ontvangende machine is mijn QNAP NAS. Maar daar bleek gelukkig ook een versie voor beschikbaar te zijn in de QNAPclub. En er was ook een speciale Windows versie, Synctrayzor. Die onder andere met één druk op de knop gewoon ook ingesteld kon worden om automatisch mee op te starten met Windows 10.

Links FreeFileSync, rechts Syncthing.

Inmiddels heb ik een paar weken op proef gedraaid met Syncthing, gewoon parallel aan de bestaande DirSyncPro installatie. Het belangrijkste uitzoekpuntje was hoe ik Syncthing een Shared Drive van mijn NAS kon laten gebruiken, en niet een verborgen drive op Linux-niveau. Ik heb op de NAS een Shared Folder aangemaakt met de naam ‘Syncthing’ via ‘Control Panel | Shared Folders’. De standaard directory bij Syncthing op de QNAP moest vervolgens worden ingesteld op ‘/share/Syncthing’. En daarmee werkte alles als een zonnetje, dacht ik. Daarna heb ik nog even in Hybrid Backup Sync (de back-up software van QNAP) een extra job aangemaakt dat de Syncthing directory ook elke nacht synchroniseert met de backup-locatie.

Fileberichten

Maar in de weken dat ik proefdraaide met Syncthing begonnen we wel last te krijgen van stotterende videoverbindingen. Vriendin en ik werken nu allebei ruim een jaar thuis. We zijn afhankelijk van onze overheidswerkplek en de videovergadersoftware om ons werk te doen. We kregen stotterende audio en draaiende cirkeltjes waar je de vrolijke gezichten van je gewaardeerde collega’s verwacht. En behalve de installatie van Syncthing was er niks veranderd in ons netwerk. Geen upgrades, helemaal niks. Ik kreeg dus het ernstige vermoeden dat de continue synchronisatie door Syncthing zorgde voor fileberichten op ons netwerk.

De proef met Syncthing werd dus stopgezet, en het stotterende netwerk draaide weer als een zonnetje. En ik zette mij over de ergernis van de rommelige interface heen en ging ook testen met FreeFileSync. En dat bleek ook best mee te vallen. Ik heb eerst een paar keer handmatig een back-up gemaakt naar mijn NAS. En random een aantal bestanden gecontroleerd. Daarna heb ik me goed verdiept in de ins en outs van het draaien van een back-up zonder toezicht, en de instellingen daarop aangepast. Uiteindelijk viel ook dat instellen best wel mee, al moest je er wel voor naar de Windows Task Scheduler. Af en toe moet je iets meer techneut zijn om open source naar wens te laten draaien. Maar de handleiding van FreeFileSync was gedetailleerd. En het werkt.

Twee parallelle oplossingen

Op dit moment draai ik met beide oplossingen, zowel DirSyncPro als FreeFileSync. Gewoon omdat het kan, en omdat beide werken. Eigenlijk hoop ik stilletjes dat DirSyncPro nog weer tot leven gewekt wordt en dat er nieuwe versies komen. Al is er op dit moment geen enkel signaal dat daarop wijst. En dan zal er een punt komen dat ik DirSyncPro uit zal schakelen, en met FreeFileSync verder ga.

Moet jij wel eens van software wisselen?

Hoe denk ik nu over… Mijn back-up obsessie?

Een blog die ik al schreef in januari 2016, mijn back-up obsessie. En ik verwijs er nog regelmatig naar, merk ik. Tijd om dus eens een update te geven hoe deze obsessie er tegenwoordig uitziet, en wat meer technische details over hoe ik een en ander heb ingericht. Niet alle technische details, want beveiliging is ook belangrijk en daar hoort een zekere mate van geheimhouding bij.

Om maar bij het begin te beginnen: ik heb nog steeds een back-up obsessie. En daar ben ik nog steeds erg tevreden over.

Noodzaak?

Anno 2021 is het volgens mij in elk huishouden noodzakelijk om na te denken over informatiebeveiliging. Het maken van reservekopieën van jouw informatie hoort daar ook gewoon bij. Goed, misschien leeft niet iedereen zo extreem papierloos als Geldnerd.  Maar waarschijnlijk heb je best veel informatie op je computer(s) staan die je niet graag kwijtraakt. Een archief van officiële documenten, e-mails, foto’s, noem maar op. Dat kun je natuurlijk gewoon op een Google Drive of Microsoft OneDrive of Dropbox kopiëren en denken ‘opgelost’. Maar persoonlijk vind ik dat niet handig. ‘De cloud’ is namelijk gewoon de computer van iemand anders, niet zelden een groot bedrijf uit een ver buitenland met andere wetgeving en privacynormen. Ik heb mijn informatie graag op een plek waar ik zelf de controle over heb.

Hardware

De basis van mijn back-up wordt nog steeds gevormd door twee NAS-apparaten. NAS staat voor Network Attached Storage. Feitelijk zijn het netwerkservers voor thuisgebruik. Ik gebruik apparaten van QNAP (Synology is overigens ook een goed alternatief met vergelijkbare functionaliteit). Beide netwerkservers zijn uitgevoerd met twee harde schijven, daar kom ik later nog op terug. Ze draaien op een besturingssysteem gebaseerd op LINUX, met een keurige gebruikersinterface. Ik kan er gewoon via de webbrowser op inloggen. Beide apparaten zijn beveiligd met een gebruikersnaam en wachtwoord en met tweefactor-authenticatie (2FA). Om in te loggen heb je dus zowel toegang nodig tot mijn wachtwoordenbestand als tot de 2FA-app op mijn smartphone. De ene NAS staat in Geldnerd HQ. De andere NAS staat bij familie.

Beveiliging

Naast de beveiligde toegang tot de NAS-apparaten is ook de communicatie tussen deze twee netwerkservers beveiligd. De informatiestroom tussen de twee servers wordt versleuteld. Dat doe ik zelfs op twee niveaus. Er is versleutelde communicatie tussen de netwerkservers en tussen de routers in Geldnerd HQ en op de back-up locatie. Je kunt het je voorstellen als een tunnel van versleutelde informatie tussen de servers, die ik door een tweede tunnel van versleutelde informatie van de ene router naar de andere router stuur via het Grote Boze Internet.

De tunnel van NAS naar NAS wordt verzorgd door Hybrid Backup Sync versie 3 (HBS3), de standaard back-up app van QNAP op basis van Transport Layer Security (TLS), een standaard versleutelingsprotocol. De tunnel van Router naar Router (of eigenlijk: van firewall naar firewall) wordt verzorgd door WireGuard, een open-source virtual private network toepassing.

Ik weet dat 100% beveiliging niet bestaat. Er zullen best partijen zijn die hier doorheen kunnen fietsen. Maar ik denk dat ik beter beveiligd ben dan gemiddeld, en ik hoop dan maar een beetje dat op het internet hetzelfde geldt als bij de beveiliging van je huis: als het maar beter is dan bij de buren…

In Hybrid Backup Sync heb ik een aantal standaardtaken aangemaakt. Elke nacht wordt mijn archief gesynchroniseerd. Mijn wachtwoordendatabase zelfs meerdere keren per dag. Dat betekent dat ik, zelfs als Geldnerd HQ compleet vernietigd wordt met alles wat er in zit (behalve Geldnerd, Vriendin en Hondje, hoop ik dan) nog steeds de beschikking heb over al mijn data tot en met de voorgaande nacht. Als naast Geldnerd HQ ook de backup-locatie volledig vernietigd wordt, dan hebben we op deze wereld een groter probleem dan het verlies van data. Want de backup-locatie ligt in een ander deel van ons land…

Dubbele Uitvoering

Harde schijven kunnen kapot gaan. Daar heb ik ervaring mee. Een computercrash eind jaren ’90 was voor mij ooit de aanleiding om back-ups serieus te gaan nemen en er een obsessie in te ontwikkelen. Ook daar heb ik dus over nagedacht en maatregelen voor genomen.

De beide servers zijn RAID-1 geconfigureerd. Redundant Array of Independent Disks (RAID) is een opslagtechnologie waarbij meerdere fysieke harde schijven gecombineerd worden tot één of meer logische opslageenheid. RAID-1 is het spiegelen van twee schijven, de RAID-software zorgt er dus voor dat de twee schijven op elk moment identiek zijn. En gaat een van de twee schijven kapot, dan vervang je die gewoon door een nieuwe. De RAID-software zorgt er dan voor dat ze zo snel mogelijk weer identiek zijn. Ingewikkeld? Nee hoor. Dit is gewoon een vinkje dat je aanzet bij de installatie van de server. Als extra voorzorgsmaatregel heb ik altijd voor beide netwerkservers een reservedisk klaarliggen.

De harde schijven in beide netwerkservers zijn ook versleuteld. QNAP gebruikt hiervoor 256-bit AES encryption. Advanced Encryption Standard (AES) is een encryptiestandaard die onderdeel is van de ISO/IEC 18033 standaarden. Ingewikkeld? Nee hoor. Ook dit is gewoon een vinkje dat je aanzet bij de installatie van de server.

De meeste data heb ik dus 5 keer. Op mijn laptop. Versleuteld op disk 1 en disk 2 van de server op Geldnerd HQ. En versleuteld op disk 1 en disk 2 van de server op de backup-locatie. Verdeeld over 3 apparaten op 2 locaties.

Van laptop naar server

Data die ik regelmatig gebruik staat op mijn laptop. Het meest recente deel van mijn archief, mijn e-mail, veel basismateriaal van Geldnerd en mijn spreadsheets bijvoorbeeld. Die wil ik uiteraard ook meenemen in mijn back-ups.

Hiervoor heb ik synchronisatiesoftware op mijn laptop geïnstalleerd. Heel lang heb ik naar volle tevredenheid gebruik gemaakt van SyncBack. Er is een gratis versie, SyncBackFree, met alle functionaliteit die je voor thuisgebruik nodig hebt. Maar sinds een tijdje gebruik ik ook hier opensource software, namelijk DirSyncPro. Ook hierin heb ik taken aangemaakt die op voorgeprogrammeerde tijden automatisch op de achtergrond draaien. Mijn documenten, mijn e-mail directory, alle belangrijke gegevens op de laptop worden dagelijks gesynchroniseerd met de thuisserver. En dan ’s nachts gesynchroniseerd met de backup-locatie.

Update 20 maart 2021: De meest recente versie van DirSyncPro is inmiddels 3 jaar oud, en de website en social media laten weinig activiteit meer zien. Het lijkt erop dat de ontwikkeling is stilgevallen en dat vind ik een risico. Inmiddels draai ik op proef met Syncthing. Dat ziet er veelbelovend uit. En ik kijk ook nog naar FreeFileSync. Ik zal er binnenkort een blogpost aan wijden.

Ingewikkeld? Nee hoor. Een beetje ICT-kennis is voldoende. Het zijn allemaal standaard softwarepakketten met standaard instellingen. Een obsessie? Ja, wel een beetje denk ik.

Zorg jij voor een goede kopie van al jouw belangrijke gegevens?

Hoe denk ik nu over…. Mijn Wekelijkse Finance Moment?

Inmiddels ben ik ruim drie jaar aan het schrijven op dit blog. Meer dan 500 berichten heb ik inmiddels geplaatst. En ik heb dus ook heel veel onderwerpen aangeraakt. En regelmatig geef ik daarbij aan dat ik vooral ook blog om mijn gedachten te ordenen, en mijn denken over financiën te ontwikkelen. Drie jaar is al best wel een lange tijd. Het leek me daarom leuk om er eens wat onderwerpen ‘uit het verleden’ uit te lichten, en te bekijken hoe ik daar nu over denk. Lees je mee?

Vrij snel na de start van Geldnerd heb ik jullie meegenomen in mijn wekelijkse finance-moment. Ook de lijst van dingen die ik dan doorwerk heb ik al eens gedeeld. Elke week, meestal op zaterdagochtend, ga ik er even voor zitten. Laptop aan, kopje koffie erbij. Ik neem de financiële post van de week door. Rekeningen, mededelingen van wijzigingen, dat soort dingen. Rekeningen worden betaald of klaargezet. Indien nodig wordt er gereageerd naar partijen. Dat doe ik liefst schriftelijk, maar soms zet ik ook een reminder in mijn agenda om ergens achteraan te bellen.

En uiteraard worden de spreadsheets bijgewerkt. Ik download de boekingen bij onze banken, en de wekelijkse rapportage van mijn ‘aandelenboer’. Met een druk op de knop importeer ik ze in mijn spreadsheets. Het kost maar een paar minuten per week. Het moge duidelijk zijn: het finance moment is er nog steeds. Ik vind het enorm waardevol. In control zijn op mijn (onze) financiën, en ook in control blijven. Een vast moment werkt daarvoor in mijn geval het beste. En ik ben gelukkig niet de enige die er zo over denkt.

Het karakter van mijn finance-moment is wel wat veranderd. Het bijwerken van de spreadsheets is grotendeels geautomatiseerd, en kost dus steeds minder tijd. De tijd die vrijgekomen is besteed ik aan analyse. Ik bouw steeds meer rapportages en grafieken om de ontwikkelingen te kunnen volgen, ook meerjarig. Er is wel een behoorlijk risico op uitloop, het ‘moment’ duurt steeds langer. Het finance-moment gaat de laatste jaren naadloos over in het blog-moment, de tijd waarin ik de blogjes voor de komende week maak / afrond en klaar zet voor publicatie. En dat gaat weer over in het programmeermoment, waar ik probleempjes oplos in mijn spreadsheets en nieuwe programmeerideeën uitwerk. Die drie momenten, Finance, Bloggen en Programmeren, kunnen soms ook een hele dag duren. Een mens moet maar een hobby hebben…

Kijk jij op vaste momenten naar je financiën?

Eerder schreef ik al een terugblik op mijn kasboek.