Geldnerd.nl

Bloggen over persoonlijke financiën

Tag: macro (page 1 of 3)

Is er toekomst voor mijn administratie?

Sinds 2003 gebruik ik Excel om mijn financiën en beleggingen bij te houden. En sinds 2013 zijn mijn spreadsheets uitgebreid met macro’s om zoveel mogelijk handmatig werk weg te automatiseren. Kan ik zonder? Vast wel. Maar ik WIL niet zonder. Het geeft me rust om te weten hoe ik er financieel voor sta, en ik hou van het ‘puzzelen’ als ik weer een nieuwe macro of functie uitwerk. Zonder de spreadsheets zou Geldnerd er nooit geweest zijn.

Ik heb dus een afhankelijkheid van Microsoft. Visual Basic, de macro-programmeertaal, is al ruim 25 jaar oud. Tot en met Office 2016 wordt dat keurig ondersteund. Heel veel organisaties gebruiken spreadsheets met ingewikkelde, over vele jaren opgebouwde, macro’s voor bijvoorbeeld planning en rapportage. Die zouden niet blij zijn als Microsoft die ondersteuning zou stoppen. De verwachting is dan ook dat Visual Basic in Office 2019 nog gewoon ondersteund wordt, maar officieel bevestigd is dat nog niet. Volgens de laatste berichten verschijnt Office 2019 (en dus ook Excel 2019) ergens in het najaar.

En naar verwachting wordt Office 2019 ook de laatste stand-alone versie. Microsoft heeft liever dat wij allemaal een abonnement nemen op Office365. Maar ten eerste heb ik geen zin om maandelijks een bedrag te betalen voor software die ik (behalve Excel) nauwelijks gebruik, in plaats van eens per 4 – 6 jaar eenmalig een licentie te kopen. Ten tweede: in Office365 zit (nog) geen ondersteuning voor macro’s. Het is onduidelijk of die er komt en zo ja, wanneer. En ten derde is het hoog tijd om open-source te gaan. Ik heb al geëxperimenteerd met LibreOffice, dat voldoet uitstekend. Daarbij hoopte ik dat de macro-taal van LibreOffice een waardige vervanger zou zijn van Visual Basic in Excel.

Maar dat laatste viel een beetje tegen. Macro’s programmeren in LibreOffice is een stuk bewerkelijker dan in Excel. Ik heb er de nodige tijd ingestoken, en mijn ‘oude’ administratie volledig omgebouwd naar LibreOffice. Maar ik zag het niet zitten om ook de beleggingsspreadsheet volledig te herbouwen. Ik wil iets moderner en robuuster dan wat deze macro-talen mij kunnen bieden.

Ik ben van plan om dit najaar mijn laptop te vervangen. Die gaat inmiddels ruim 4 1/2 jaar mee, en begint behoorlijk traag te worden. Daar erger ik me aan. En er staat Office 2013 op. Dat wil ik dan dus vervangen door Office 2019 (en daarom wil ik dus wachten met de vervanging tot dit najaar). Uitgaande van een jaar of zes werken met Office 2019, geeft dit me in elk geval tot en met 2024 om een oplossing te creëren.

Officieel bevestigd is het nog niet, maar het lijkt erop dat het gebruik van JavaScript een optie wordt in Office. Dat kan al met een API. En het gebruik van JavaScript is ook al een optie in LibreOffice. Als dit klopt, dan zou een migratie naar LibreOffice eenvoudiger worden. Stapsgewijs bouw ik mijn macro’s om naar JavaScript. En daarna hoef ik alleen de ‘voorkant’ nog maar te migreren naar LibreOffice.

Dan moet ik nog wel JavaScript leren programmeren. Zoals ik eerder schreef ben ik daarmee begonnen met de hulp van de app Grashopper. Ook heb ik een lijvig JavaScript e-book aangeschaft en kijk ik naar voorbeeldjes van anderen.

Soms denk ik ook wel dat ik gewoon op moet houden met mijn eigen spreadsheets. Want het bijhouden van de administratie is dan weliswaar vrijwel helemaal geautomatiseerd, maar in het oplossen van fouten in de code en het ontwikkelen van nieuwe functionaliteit gast best veel tijd zitten. Ik kan natuurlijk ook gewoon kiezen voor een standaardpakket. Open-source heb je in elk geval GnuCash voor Windows, Mac en Linux. Maar eigenlijk vind ik het ‘klooien met softwarecode’ gewoon veel te leuk.

Tsja, en tegelijkertijd merk ik ook dat ik de afgelopen maanden (te) weinig prioriteit geef aan ‘klooien’. Leuk werk, vakanties en een voorjaar dat uitnodigt om naar buiten te gaan (en niet te vergeten Project Tuin) gaan op dit moment even voor. Ik ben zelfs nog niet verder gegaan met mijn Dashboard.

Hoe kijk jij naar de toekomst van jouw spreadsheets?

Valutakoersen automatisch bijwerken (2)

Vorig jaar juni schreef ik hoe ik in mijn beleggingsspreadsheet automatisch de valutakoersen bijwerk met behulp van een API. Dat werkt al ruim een jaar probleemloos. Maar afgelopen weekend kreeg ik een foutmelding toen ik mijn wekelijkse beleggingsrapportage verwerkte. Er was iets veranderd in de API.

Inmiddels moet je een abonnement nemen om de API te kunnen gebruiken. Voor kleine gebruikers zoals ik is dat gelukkig gratis. Ik heb me dus als gebruiker geregistreerd, want de functie is erg handig. Maar er zijn ook wijzigingen in de manier waarop je de API moet aanroepen. Daar moest ik dus mijn macro voor aanpassen.

Mijn functie heet GetExchangeRate. Als variabelen krijgt die mee een datum en een valuta-code. Daarmee haalt deze functie bij de API de valutakoers op van de gevraagde valuta op de gevraagde datum (in heden of verleden, uiteraard), tegen de standaard-valuta die ik in mijn spreadsheet heb ingesteld (in mijn geval de Euro). Onderstaand vind je de actuele code van deze macro

Function GetExchangeRate(Datum As Date, toCurr As String) As Double

Dim TempDate As String
Dim qurl As String
Dim TempOutcome As String
Dim fromCurr As String

TempDate = CStr(Format(Datum, "yyyy-MM-DD"))
fromCurr = Range("DefaultCurrency")
qurl = "http://data.fixer.io/" & TempDate & "&aaccess_key=JouwKeyHier&base=" & fromCurr & "&symbols=" & toCurr
TempOutcome = Left(Right(Application.WorksheetFunction.WebService(qurl), 10), 8)

If Left(TempOutcome, 1) = ":" Then
     TempOutcome = Right(TempOutcome, 5) & "0"
End If

If Mid(TempOutcome, 2, 1) = ":" Then
     TempOutcome = Right(TempOutcome, 4) & "00"
End If

If Mid(TempOutcome, 3, 1) = ":" Then
     TempOutcome = Right(TempOutcome, 3) & "000"
End If

If Mid(TempOutcome, 4, 1) = ":" Then
     TempOutcome = Right(TempOutcome, 2) & "0000"
End If

If Mid(TempOutcome, 5, 1) = ":" Then
     TempOutcome = Right(TempOutcome, 1) & "00000"
End If

GetExchangeRate = CDbl(TempOutcome / 1000000)

End Function

De bovenstaande wijzigingen zijn nog niet doorgevoerd in de versie die je op mijn Downloads-pagina kunt downloaden!

Heb jij wel eens te maken met aanpassingen in jouw spreadsheets?

Administratie met KNAB-import

Een paar weken geleden publiceerde ik mijn vernieuwde administratiespreadsheet, met een aantal verbeteringen ten opzichte van de eerdere versie. Daarbij beloofde ik al dat er snel nog een nieuwe versie met extra functionaliteit zou volgen. En hier is ‘ie.

Deze nieuwe versie biedt, naast ondersteuning voor Rabobank en ABN AMRO, ook ondersteuning voor het importeren van CSV-bestanden van KNAB. Met dank aan lezer Jeroen, die mij een voorbeeldbestand stuurde.

Daarnaast werkt nu de controle of transacties wel goed op elkaar aansluiten. Mijn ervaring is dat de opeenvolgende bestanden van banken niet altijd goed op elkaar aansluiten, ik miste wel eens een aantal boekingen als je wekelijks een bankbestand importeert. In deze versie krijg je daar automatisch een melding van. Het heeft me wel wat tijd gekost voordat ik mijn eigen stomme programmeerfout in deze functie gevonden had…. Maar nu doet ‘ie het.

Ik blijf het herhalen: mijn spreadsheets zijn vooral ter inspiratie, om te laten zien wat er allemaal kan. Voor mij werkt dit naar volle tevredenheid. Ik ga nu weer aan de slag met mijn nieuwe Vermogensdashboard. Ook die zal ik in Excel bouwen, ik wil het allemaal zo eenduidig mogelijk houden.

De nieuwe versie van de administratiespreadsheet is beschikbaar op mijn Downloads-pagina.

Hoe is het met jouw spreadsheets?

Administratie met Rabo CSV Import

Diverse lezers vroegen er al om, en zelf schreef ik er onlangs ook al over: mijn nieuwe administratiespreadsheet. En hier is ‘ie dan. Oud en vertrouwd in de interface, nieuw onder de motorkap. Tsja, opa Geldnerd houdt niet zo van interface-wijzigingen. Ik snap ook al die app-ontwikkelaars niet die bij elke nieuwe versie de gebruikersinterface volledig overhoop gooien. Waardoor ik weer enorm moet zoeken naar mijn favoriete functies. Dus zelf doe ik daar niet aan.

Zoals ik al eerder schreef is de belangrijkste wijziging dat ik nu werk met het nieuwe CSV-formaat van de Rabobank. Dit omdat ze stoppen met het TXT-formaat dat ik eerst gebruikte. De structuur waarmee ik transacties inlees is daarmee compleet gewijzigd. Dat betekent dat je eigenlijk al je transacties vanaf 1 januari 2018 opnieuw in moet lezen, in CSV-formaat.

Er zit ook een uitgebreidere gebruikershandleiding in, op het tabblad ‘Manual’. Maar leef je vooral uit op de Visual Basic macro’s die in de spreadsheet zitten. Tips, opmerkingen, aanvullingen, dingen ter verbetering van de leesbaarheid, laat het me weten in de comments of via mijn Contact-pagina!

Eén ding zit er nog niet in: ik ben bezig om een functie te bouwen die controleert of de boekingen wel op elkaar aansluiten. Maar die is nog niet foutloos, dus die zit nog niet in deze versie. Zodra ik de problemen heb opgelost verschijnt er een bijgewerkte versie. En verder wordt het in die versie ook mogelijk om bestanden van KNAB in te lezen, omdat een bloglezer zo vriendelijk is geweest mij een voorbeeld-bestand te sturen (dankjewel!).

Je kunt de nieuwe administratiespreadsheet hier downloaden.

Heb jij recent nog nieuwe dingen gedaan in Excel?

Administratiespreadsheet vernieuwen

Het begon met de mededeling dat de Rabobank ging stoppen met het bestandsformaat dat ik importeerde in mijn administratie. Het werd een code-marathon van drie dagen in februari waarin ik mijn administratie vanaf de grond opnieuw opgebouwd heb, en daarna een testperiode waarin ik ook nog allerlei kleine aanpassingen gedaan heb en nog doe. De lay-out bleef ongeveer hetzelfde, want die bevalt me. Maar de meeste macro’s werden grotendeels herschreven, en veel nieuwe functionaliteit toegevoegd.

Waarom herschrijven? Mijn administratie was de eerste spreadsheet die ik echt geprogrammeerd heb met allerlei functies en macro’s in Visual Basic. Leren programmeren door het te doen. Maar inmiddels heb ik het nodige bijgeleerd, en heb ik een aantal functies efficiënter (en dus sneller) kunnen maken. En ik heb toch nog weer een aantal handmatige handelingen weg kunnen automatiseren.

Er komen ook nieuwe functies in. Zo is de spreadsheet nu geschikt voor Rabobank én ABN AMRO, je kunt zelfs met beide naast elkaar in één spreadsheet werken. De importbestanden worden namelijk ‘genormaliseerd’ naar hetzelfde formaat. Ook is er nog steeds ondersteuning voor het importeren van je kasboekje vanuit de KashBook app op de mobiele telefoon. Ik gebruik het zelf niet zo vaak meer, want ik geef bijna geen contant geld meer uit, maar de functie was er toch.

Zit je bij een andere bank, en wil je toch gebruik maken van mijn spreadsheet? Ik ben op zoek naar voorbeeldbestanden van andere banken. De bestanden die je exporteert vanuit internetbankieren. Als je zo’n bestand hebt, wil ik de spreadsheet er wel geschikt voor maken. Laat het me maar even weten!

Verder heb ik alle instellingen bij elkaar gebracht op één pagina. Dat maakt het overzichtelijker. En er is een nieuwe rapportage waarmee je heel snel kunt zien welke uitgaven je gedaan hebt op een specifieke grootboekrekening. Maar ook mijn oude vertrouwde functionaliteit is er nog, zoals het verwerken van creditcard-betalingen.

Rond diezelfde tijd kreeg ik ook een mailtje van een gebruiker van de administratie-spreadsheet. Hij stelde mij een aantal vragen over de werking, omdat er geen handleiding bij zit. Dat laatste was (is) bewust. Mijn spreadsheets zijn vooral bedoeld ter inspiratie, om te laten zien wat er mogelijk is met Excel. Het is geen kant en klaar boekhoudprogramma, daarvoor kun je beter zoiets als WinBank of GnuCash gebruiken (beide overigens ook gratis). Je administratie bijhouden in een spreadsheet vol macro’s, waarbij je zelf niet weet hoe deze macro’s werken, is een beetje riskant. Omdat ik vrij uitgebreid gereageerd heb op de mail die ik kreeg, komt er nu wel een uitgebreidere handleiding bij de spreadsheet. Maar het blijft as-is, ik ga de spreadsheet verder niet ondersteunen.

En oh ja, de gebruikersinterface is in het Engels. Maar stilletjes denk ik na over een versie waar je uit meerdere talen kunt kiezen.

Ik ben de nieuwe versie nog aan het testen, er zitten nog een paar kleine foutjes in. Zo heb ik momenteel ruzie met de floating point error in Excel. Die zorgt ervoor dat 10,00 – 10,00 niet altijd 0,00 als antwoord oplevert. Dat kan best lastig zijn als je bepaalde controles in wilt bouwen. Maar ergens de komende weken hoop ik de tests af te ronden. En dan komt de spreadsheet uiteraard ook hier als download beschikbaar.

Hoe houd jij jouw administratie bij?

Nieuwe versie beleggingsspreadsheet

Afgelopen weekend heb ik een nieuwe versie van mijn beleggingsspreadsheet online gezet. Hierin zijn diverse bugs gerepareerd. Zo ging het mis met importeren als er dividenduitkeringen in het weekrapport zaten. Ook zit de nieuwe Fund-pagina erin. Hier kun je per fonds de hele historie in jouw portefeuille zien.

Veel plezier ermee!

Beleggingsspreadsheet online

Nadat ik eerder mijn administratiespreadsheet online heb gezet (zie hier en hier) is nu mijn beleggingsspreadsheet aan de beurt. Deze bevat nog veel meer macro’s en zelfgeprogrammeerde functies dan de administratie, ruim 100 Kilobyte aan zelf geprogrammeerde meuk. Ook deze komt weer zonder gebruiksgarantie en zonder uitgebreide handleiding, en met grotendeels fictieve data. Maar in deze blogpost wel een uitleg hoe de spreadsheet globaal in elkaar zit.

Er zijn twee soorten gegevens die ik inlees in mijn spreadsheet. Ten eerste is dat de wekelijkse rapportage van Alex Beleggingen, de beleggingsbroker waar ik gebruik van maak. Als ik bij hen inlog kan ik bij het overzicht van mijn portefeuille een Excel-bestandje downloaden. Met de ‘Import Alex’ knop lees ik dat bestandje in, en zet ik alles in het juiste format (zo verwijder ik bijvoorbeeld lege regels tussen categorieën). Met de ‘Process Quotes’ knop worden deze gegevens vervolgens verwerkt. Zo wordt per fonds de koers (in fondsvaluta) op de juiste regel en de juiste kolom van het werkblad ‘FundHistory’ gezet. Datzelfde doe ik met de waarde van het fonds (in Euro) op het werkblad ‘FundValue’. Ook sla ik de totaalwaarde van mijn portefeuille voor die week op in het werkblad ‘TotalValue’. Daarna wordt het spreadsheetje van Alex automatisch gearchiveerd. Dit Alex rapportje download en verwerk ik eigenlijk elk weekend.

Zoals ik wel eens geschreven heb, maak ik voor mijn beleggingen ook gebruik van Alex Vermogensbeheer (al vraag ik me al een tijdje af: hoe lang nog?). Dit behandel ik in mijn spreadsheet eigenlijk ook als een aandelenfonds. Ik heb mijn originele inleg verdeeld in 1.000 aandelen van € 25. Als ik extra geld bijstort, reken ik dat tegen de dan geldende waarde om naar het aantal aandelen wat ik fictief bijkoop. Elke week haal ik van de Alex website ook de waarde van mijn portefeuille bij Vermogensbeheer. Dit bedrag zet ik in het gereserveerde veld op het ‘Dashboard’ werkblad. Tijdens het importeren van het Alex-bestand wordt dit bedrag ook mee verwerkt, als ware het een normaal aandelenfonds.

Naast de wekelijke rapportage zet ik ook al mijn Beleggingstransacties (werkblad ‘Transactions’) en Cashtransacties (werkblad ‘Cash’) gerelateerd aan de beleggingsrekening in de spreadsheet. Dan gaat het bijvoorbeeld om dividendbetalingen die ik ontvang, of om geld dat ik overmaak van of naar mijn lopende rekening. Bij vrijwel elke beleggingstransactie hoort ook een cashtransactie, bijvoorbeeld bij het kopen van aandelen of het verkopen van aandelen. Ik heb verschillende manieren om dit vast te leggen. Via knoppen op het Dashboard kom je in speciale invoerschermen voor het toevoegen van fondsen en transacties, die op de achtergrond de ingevoerde gegevens in de juiste cel op het juiste werkblad zetten. Maar ik heb ook een (zéér experimentele) aparte spreadsheet waarin ik afschriften van Alex in kan lezen, en om kan zetten naar het format dat ik gebruik in mijn beleggingsspreadsheet. Die experimentele sheet publiceer ik nog maar even niet. Als ik de functies daarin stabiel heb, wil ik ze integreren in de volgende versie van de beleggingsspreadsheet.

Daarmee bevat mijn spreadsheet alle transacties, en op weekbasis de actuele koers en waarde per fonds in mijn aandelenportefeuille. Dat is de basis voor alle berekeningen.

Er zijn twee belangrijke dashboards opgenomen in de spreadsheet. Op het werkblad ‘Actual’ zie je de belangrijkste indicatoren voor mijn portefeuille als geheel, en ook per fonds dat ik op dat moment in portefeuille heb. Ik heb er eerder over geschreven. Deze draaitabel wordt automatisch herberekend als je dit werkblad opent. De gegevens komen uit het werkblad ‘Portfolio’, waar ze worden bijgehouden voor elk fonds dat ik ooit in portefeuille heb gehad. Waarom die aparte draaitabel? Voor het overzicht! Want anders moet je tussen alle fondsen die ik ooit in portefeuille heb gehad op zoek naar de actuele stand van vandaag.

Het tweede dashboard is het werkblad ‘Charts’. Hier kun je kiezen uit diverse soorten grafieken (o.a. koersverloop en waarde-ontwikkeling) met diverse looptijden. Bij de meeste grafieken kun je zelf kiezen welke fondsen je wilt laten zien, automatisch kiest mijn macro de fondsen die op dat moment in portefeuille zijn. Deze grafiek wordt automatisch herberekend als je dit werkblad opent, en ook als je één van de instellingen verandert. Dit is iets waar ik best wel trots op ben, het was best lastig om te programmeren. Ik zoek nog wel naar manieren om het sneller te maken, dus tips zijn meer dan welkom…

Op het werkblad ‘Dashboard’ vind je de knoppen voor de verschillende functies, met ‘Import Alex’ en ‘Process Quotes’ als belangrijkste. Ook staat hier een soort ‘verkorte statistiek, waarin ik snel kan zien hoe de totale waarde zich afgelopen week ontwikkeld heeft en wat de stand van het jaar is. Ook kan ik (in het tabelletje rechts) door een jaar te kiezen kijken wat de belangrijkste kenmerken van dat beleggingsjaar waren.

Let er bij het bestuderen van de spreadsheet op dat niet alle Visual Basic code in de standaard module zit. Een aantal werkbladen heeft ook eigen code. Oh, en dan vergeet ik nog het werkblad ‘Instellingen’. Daar vind je allerlei instellingen en opsommingen die gebruikt worden op verschillende plaatsen in de spreadsheet.

Op de Downloads pagina kun je mijn spreadsheets vinden.

Hoe beheer jij jouw beleggingen?

Verder met mijn spreadsheets

Inmiddels een week geleden heb ik mijn administratiespreadsheet gepubliceerd. In eerste instantie met een bugje, maar die is hersteld. De nodige mensen hebben ‘m inmiddels gedownload. En via de mail zijn er ook al een aantal vragen binnengekomen.

Om maar met de meest gestelde vraag te beginnen: nee, er komt geen uitgebreide handleiding. Ten eerste omdat het mij eenvoudigweg aan de tijd ontbreekt om die te schrijven. Maar ik denk ook dat ik niet in staat ben om een goede handleiding te schrijven. Ik ken de spreadsheet en de macro’s van haver tot gort, want ik heb ze zelf gebouwd, letter voor letter. En heb dus geen idee waar mensen tegenaan lopen die ‘m gewoon gaan gebruiken.

Maar het zou ook voorbijgaan aan het doel wat ik heb met het publiceren van de spreadsheet. Het is geen kant en klare administratie die je zomaar kan gebruiken. Daarvoor vind ik het ook te riskant om met macro’s te werken als je ze niet helemaal doorgrondt en problemen niet zelf kunt oplossen. Wil je je niet verdiepen in Excel en Visual Basic, neem dan liever een kant en klaar pakket zoals YNAB of WinBank.

Ik publiceer mijn spreadsheet vooral om mensen te laten zien wat er kan met Excel. En om mensen inspiratie te geven voor het aanpassen van hun huidige spreadsheet. Daarom ben ik ook zo benieuwd naar de spreadsheets van anderen, omdat ik ook graag nieuwe ideeën opdoe.

Dus, geen handleiding. Maar ik zal best nog wel wat meer schrijven over hoe de spreadsheet in elkaar zit, en ook vragen zal ik wel beantwoorden. Ook als ik binnenkort mijn (nog veel uitgebreidere) beleggingsspreadsheet online zet.

Heb jij al naar mijn administratiespreadsheet gekeken?

Een berg data

“Zeer overzichtelijk en duidelijk, maar wat een berg data houd je bij”. Dat was onderdeel van de reactie van Chris op de publicatie van mijn administratie-spreadsheet. Het zette me aan het denken (dankjewel Chris!).

Mijn spreadsheets zijn het resultaat (of beter de tussenstand) van bijna 15 jaar actief bezig zijn met mijn financiën. Het is eenvoudig begonnen. En dan krijg je een idee. “Ik wil weten wat…”, en dan ga je dat bouwen. Soms werkt dat niet of levert het niet op wat je hoopt, en dan haal je het weer weg. Maar als het werkt en de informatie oplevert die je hoopt, dan wordt het onderdeel van je systeem. Zo is het logisch dat er inmiddels de nodige functionaliteit in mijn spreadsheet zit. Maar de basis: een globale jaarrekening, het grootboek met de realisatie en budget per grootboekrekening, en de sheet met de afzonderlijke geïmporteerde boekingen, is al bijna 15 jaar hetzelfde.

In 2015, tijdens ons verblijf in het Verre Warme Land, heb ik al mijn spreadsheets van de grond af aan opnieuw opgebouwd. Tot die tijd zat er vrij veel handwerk in. Handmatig importeren van de bestanden die ik download bij de bank. Handmatig boeking voor boeking de juiste grootboekrekening erbij zetten. Ik deed (en doe) het graag, want het geeft me inzicht en rust. Maar bij de Grote Verbouwing werd het uitgangspunt: zo min mogelijk handwerk. Toen zijn de macro’s gekomen. Importeren. Voorcoderen. Maar ook automatisch bepalen tot welke datum de boekingen bijgewerkt zijn.

Dus ja, ik houd een hele berg data bij. Maar het kost me nauwelijks werk. ‘Klik’ downloaden. ‘Klik’ importeren. ‘Klik’ Voorcoderen. Enkele boekingen met de hand coderen. Kopiëren naar de Boekingen sheet. Klaar. Alle berekeningen worden automatisch bijgewerkt. De meeste tijd besteed ik nu aan het bekijken van de Jaarrekening en het Grootboek. Lig ik op schema? Zijn er bijzondere of vreemde dingen? En dat is ook wat ik wil doen, dat is waar het mij om gaat.

Ben ik doorgeschoten in mijn ontwikkeldrift? Ja, best wel een beetje. Een Functie die uitrekent hoeveel dagen er in dit jaar zitten gaat wel ver, dat kun je ook aan het begin van het jaar eenmalig handmatig in dat veld zetten. Maar ach, ik was toch bezig met programmeren. Niet omdat het moet, maar omdat het kan.

Mijn spreadsheet vind je op de Downloads pagina. Hoe ontwikkelen jouw spreadsheets zich?

Administratie-spreadsheet online

Het is zover. Naar aanleiding van mijn eerdere blog publiceer ik mijn administratie-spreadsheet. Best wel spannend vind ik dat. Het is een versie met grotendeels fictieve data die ik geanonimiseerd heb. Maar het gaat uiteraard niet om de data. Het gaat om de opzet en om de Visual Basic macro’s die eronder liggen. Mijn spreadsheets zijn gebouwd met Microsoft Excel 2013 en werken bij mij probleemloos onder Windows 10.

Ieder jaar op 1 januari start ik met een nieuwe spreadsheet. Het is een jaaradministratie. Maar omdat ik tegenwoordig nauwelijks meer wijzigingen aanbreng in mijn grootboekrekeningschema kan ik de sheets makkelijk naast elkaar zetten om de trends over meerdere jaren te zien.

Mijn sheet ondersteunt het importeren van de bestanden van twee banken, Rabobank en ABN AMRO. Dat zijn de twee banken waar ik momenteel een rekening heb. Van Rabobank download ik het CSV bestand, van ABN het TXT bestand. De knop hiervoor vind je op het werkblad ‘Jaarrekening’. Deze versie werkt alleen correct met de Rabo macro. Beide banken plaatsen het boekingsbedrag namelijk in een verschillende kolom, en dat moet je dus even aanpassen in de kolom op het werkblad ‘Grootboek’ waar de totalen opgeteld worden.

Het eerste werkblad ‘Jaarrekening’ geeft een samenvatting van de inkomsten en uitgaven per categorie, en vergelijkt ze ook met budget. Ook zie je hier de tussenrekening in de 900 (inkomsten) en de 9000 (uitgaven) groep. Als ik bijvoorbeeld geld overboek van mijn lopende rekening naar mijn spaarrekening dan is dat geen uitgave, maar een interne verschuiving. Idem met geld wat ik naar mijn beleggingsrekening boek. Dat zie je dus (onder de inkomsten en uitgaven) apart weergegeven. Overigens kijkt mijn spreadsheet zelf tot welke datum er boekingen zijn ingevoerd, dat zie je hier in het veld ‘Bijgewerkt tot’.

De boekingen worden tijdens het Importeren op een tijdelijk werkblad ‘Data’ gezet. Kopiëren naar het werkblad Boekingen (waar alle boekingen voor een jaar dus onder elkaar komen te staan) doe ik nog handmatig. Ik ben te bang dat er een keer wat misgaat als ik dat automatisch doe, en dat mijn administratie daardoor in de soep draait. Met de knop ‘Verwijder Datasheet’ gooi ik het tijdelijke werkblad weer weg als de gegevens correct gekopieerd zijn.

De knop ‘Voorcoderen’ activeert een macro die kijkt naar een aantal kenmerken van de boeking. Voorcoderen werkt op de gegevens op het tijdelijke werkblad ‘Data’. De gegevens waarmee de macro vergelijkt staan op hebt werkblad ‘Voorcoderen’. Als de kenmerken overeen komen dan krijgt de boeking op het werkblad ‘Data’ de grootboekrekening toegewezen die op het werkblad ‘Voorcoderen’ bij de boeking staat. Boekingen die de macro niet herkent moet je handmatig voorzien van een grootboekrekeningnummer. Maar op deze manier wordt gemiddeld ruim 80% van mijn uitgaven automatisch aan de juiste grootboekrekening gekoppeld.

Op het werkblad ‘Grootboek’ zie je de uitgaven per grootboekrekening bij elkaar opgeteld. Hier kun je per rekening ook een budget ingeven. Op basis daarvan (en van de datum tot waar de boekingen zijn bijgewerkt) berekent de spreadsheet hoeveel budget er YTD (Year To Date – tot op dit punt in het jaar) beschikbaar was. Ik werk alleen met jaarbudgetten, niet met maandbudgetten.

Op het werkblad ‘Creditcard’ houd ik gedurende de maand mijn creditcard-uitgaven bij. Zodra de creditcard wordt afgeschreven signaleert mijn spreadsheet dat tijdens het Voorcoderen (melding ‘Er is een credit-card boeking’). Als ik die krijg dan druk ik op de knop ‘Creditcard Verwerken’ op het werkblad ‘Jaarrekening’. De macro zoekt dan de juiste creditcarduitgaven erbij en zet die onder de boekingen op het werkblad ‘Data’. Hij doet dat van boven naar beneden vanaf het werkblad ‘Creditcard’ en stopt zodra het juiste totaalbedrag van de creditcardboeking bereikt is. De creditcardboeking zelf krijgt als grootboekrekeningnummer nul (‘0’), zodat die ook niet meetelt in de uitgaven. Het zijn immers de afzonderlijke betalingen die belangrijk zijn voor het totaalbeeld.

Tenslotte vind je op het werkblad ‘Jaarrekening’ nog de knop ‘Kashbook importeren’. Voor het bijhouden van mijn uitgaven in contant geld (dat zijn er steeds minder) gebruik ik de app ‘Kashbook‘ op mijn smartphone. Vanuit Kashbook kun je alle boekingen in CSV format aan jezelf sturen. Die importeer ik en ze worden dan verwerkt op de juiste grootboekrekening, ook weer op een tijdelijk werkblad ‘Data’. Vandaar kun je ze ook weer zelf kopiëren naar het werkblad ‘Boekingen’.

Alle te importeren bestanden lees ik in vanuit mijn ‘Downloads’ directory, die je in kunt stellen op het tabblad ‘Handleiding’. Ook kun je hier instellen in welke directory de importbestanden na verwerking opgeslagen moeten worden, en ook moet je hier de volledige naam van de administratie opgeven. Dat wordt gebruikt in onder andere de import-macro’s.

Met het contant geld, de creditcard-uitgaven en alle boekingen en pinbetalingen vanaf mijn bankrekening heb ik een compleet beeld van al mijn inkomsten en uitgaven.

Hier ga je naar de downloadpagina.

Over een tijdje publiceer ik ook mijn beleggingsadministratie. Die is ietsje ingewikkelder dan deze. Ik hoop vooral dat andere mensen ook hun spreadsheets en macro’s online gaan zetten. Want ik wil graag ook leren van anderen!

Wat vind je van mijn spreadsheet?

Older posts

© 2018 Geldnerd.nl

Theme by Anders NorenUp ↑