Blog over (financieel) bewust leven

Label: python

Mijn spreadsheets, een businesscase

Nog even over mijn spreadsheets… Want daar zijn grootse plannen mee. 2020 wordt hét jaar. Zei ik begin dit jaar. En ondertussen bekende ik bij de tussenstand van de jaardoelen dat er nog geen letter code geschreven is. Wat er wel geschreven is zijn nieuwe functies in de administratie en zelfs een totale verbouwing van mijn 48 grafieken. Hoe zit dat?

Kort en goed. Ik twijfel. Ik twijfel over de haalbaarheid van deze Herculeaanse taak. Vier spreadsheets zitten er in mijn universum: de administratie, de beleggingen, de hypotheek en het dashboard. Stapsgewijs opgebouwd sinds 2014. Sinds de basisversies zijn gebouwd heb ik meer dan 250 grotere en kleinere aanpassingen doorgevoerd (daar houd ik uiteraard een lijst van bij). Sommige kostten een half uurtje, anderen meerdere dagen. Ik durf de stelling aan dat er sinds 2014 meer dan duizend Geldnerd-uren in deze spreadsheets zijn gaan zitten.

En ik weet eenvoudigweg niet of ik dat nog een keer op kan brengen.

In 2014 en 2015, in het Verre Warme Land, had nam ik de tijd. De tijd om mijzelf echt nieuwe vaardigheden te leren. Boeken en artikelen te lezen over programmeren in Visual Basic. Te oefenen. Dagenlang en nachtenlang door te halen om de uitdagingen die ik tegenkwam op te lossen. Mijn spreadsheets zijn niet ontworpen, ze zijn organisch gegroeid. Pas na de basisversies is er stapsgewijs structuur in gekomen. Maar dat is een proces dat nog steeds doorloopt.

Dus ben ik nu aan het rationaliseren. Stel dat ik mijn spreadsheets nog 40 jaar gebruik? En per jaar € 55 betaal voor het gebruik van Microsoft Office? Dan ben ik dus € 2.200 kwijt om de huidige spreadsheets te blijven gebruiken, er van uitgaande dat Microsoft VBA blijft ondersteunen of een migratiepad naar een opvolger aanbiedt. Als ik dan met een uurtarief voor mijzelf reken van € 75? Dan mag ik er dus iets minder dan 30 uur aan besteden om een positieve businesscase te hebben? Dat staat in geen verhouding tot de honderden uren die het mij gaat kosten om mijn spreadsheets te migreren. Dus dan maar niks doen?

En dan was er ook nog even een berichtje dat LibreOffice in de toekomst mogelijk ook betaalde software wordt. Dat werd al snel genuanceerd, maar toch. Het is wel een herinnering dat niets zeker is op de lange termijn.

Onlangs heb ik ook nog een weekendje zitten spelen met de nieuwe versie 4.0 van GnuCash. Dat viel me niet tegen. In een uurtje had ik mijn hele grootboekschema erin zitten, en alle bankboekingen van het eerste halfjaar van 2020. Inmiddels ben ik zo ver dat ik het als een bruikbaar alternatief voor mijn administratie beschouw. Maar ik zie ook dat ik heel veel informatie kwijtraak als ik GnuCash echt ga gebruiken, bijvoorbeeld over mijn betaalgedrag. En voorlopig ben ik echt nog iets teveel gehecht aan mijn grafiekjes en statistiekjes. Maar als ik niets zou hebben en nu nog moest beginnen, werd het echt GnuCash. Enige boekhoudkennis is dan overigens wel vereist….

Uiteindelijk is het gewoon rationaliseren dat ik er nog niet echt mee aan de slag ben… Dat ik opgesloten zit in het systeem van Microsoft… Maar ik geef de moed nog niet op. Ooit komt er een oplossing. Denk ik.

Voel jij je wel eens opgesloten?

Naar een Meerjarenspreadsheetstrategie

Soms moet je dingen even de tijd geven. Zeker als ze groot en ingewikkeld zijn en impact hebben. De vraag ‘hoe verder met mijn spreadsheets‘ valt in die categorie. Voor mij in elk geval wel. <Opa-Geldnerd-alert>Dat is misschien een beetje tegendraadse mening in de huidige gejaagde en oppervlakkige samenleving</Opa-Geldnerd-alert>.

In mijn hoofd werden de visioenen steeds woester. Een aanvulling op GnuCash moest ik bouwen, voor personal finance doeleinden, met opties voor het bijhouden van de administratie, je hypotheek, je beleggingen, en alle rapportages die ik ook in mijn spreadsheets heb. Leuk idee. Maar weinig realistisch. De benodigde programmeervaardigheden leren gaat nog wel lukken. Maar zoiets bouwen is een megatraject, en zoiets onderhouden is een levensvervulling. Niet mijn levensvervulling.

Doorgaan met de huidige spreadsheets?

Tsja, die eeuwige twijfel. Er zitten honderden uren programmeerwerk in mijn spreadsheets. Ze zijn helemaal afgestemd op mijn situatie en het stelsel is, sinds ik mijn integrale financiële dashboard heb, ook wel een beetje ‘af’. Natuurlijk kan het altijd mooier, moet er af en toe een foutje worden opgelost of iets worden omgebouwd als een bank of broker iets verandert, en zal ik zeker grafiekjes en indicatortjes bij blijven bouwen, maar er ‘staat’ wel iets.

Tegelijkertijd, die twijfel is er niet voor niets. Visual Basic is verouderd. Microsoft werkt al jaren aan een Javascript API maar dat gaat erg traag. Dat zou ook weer betekenen dat ik alles moet ‘verherbouwen’. En bottom line, ik wil gewoon van Office af, en waarschijnlijk ook van Windows. Het is een kwestie van tijd voordat we die allebei alleen nog maar tegen een maandelijks of jaarlijks abonnementstarief kunnen gebruiken, terwijl er uitstekende gratis alternatieven zijn. En Microsoft blijft een van de techgiganten. Eén van de uitgangspunten van Operatie Data Footprint is dat ik daar zo min mogelijk van afhankelijk wil zijn en zo min mogelijk informatie mee wil delen.

Gewoon doorgaan met mijn huidige spreadsheets is dus uitstel van het onvermijdelijke. En blijft wat mij betreft het minst wenselijke scenario.

Maar wat dan?

Zoals Nerd01 terecht opmerkte in de reactie bij mijn vorige post over dit onderwerp zijn bijna alle oplossingen voor mijn probleem gevoelig voor een of andere vorm van lock-in. Zodra je speciale producten gebruikt, zelfs al zijn ze open-source, zit je er aan vast. Migratie kost dan veel inspanning en kan zelfs problematisch zijn als je niet (meer) kunt beschikken over de brondata. Dat is bij mij gelukkig niet het geval. Ik heb de brondata van al mijn banktransacties en beleggingstransacties sinds 2000

Bovendien heb ik de afgelopen jaren ook mijn spreadsheets aan elkaar gekoppeld. Dat maakt het gebruikersgemak groter maar een oplossing voor mijn probleem ingewikkelder. En dan kun je, zoals terecht opgemerkt in de reacties, twee dingen doen: elke 5 à 7 jaar op het op dat moment courante pakket overstappen (scenario ‘Migreren’), en je werkwijze op die oplossing aanpassen. Of je eigen oplossing bouwen met een courante programmeeromgeving (scenario ‘Bouwen’).

In elke 7 jaar overstappen heb ik geen zin, en het aanpassen van mijn werkwijze aan de beperkingen van een pakket is al helemaal niet aan mij besteed. Dus kom je bij optie 2. Mijn eigen oplossing bouwen. Wat ik feitelijk nu ook al doe met Excel en Visual Basic. Maar wat overeind blijft staan zijn mijn bezwaren tegen Excel en Visual Basic. Ik wil overstappen op een open-source oplossing en een programmeertaal die courant zijn.

Opties

GnuCash of LibreOffice als basis. Daar komt het dan op neer. Skrooge en KMyMoney, die ik noemde in mijn vorige blogpost, zijn kant-en-klare pakketten die eigenlijk bij scenario Migreren horen. En die vallen dus af.

Overstappen naar LibreOffice

Hier ben ik al eens aan begonnen. Ook dit betekent het volledig verherbouwen van mijn spreadsheets. Waarbij ik wel opties heb, want LibreOffice biedt verschillende mogelijkheden aan. Er is een eigen BASIC variant, maar die is ook verouderd en minder gebruiksvriendelijk en doorontwikkeld dan Visual Basic van Microsoft. Dat is dus niet echt een wenselijk alternatief. Maar je kunt je macro’s ook bouwen in JavaScript en Python. Twee van de populairste programmeertalen ter wereld. En dat biedt daarna ook wel weer andere mogelijkheden. LibreOffice bestaat sinds 2010, toen het werd afgesplitst van OpenOffice. Dat bestaat al sinds 2002, toen versie 1.0 door Sun Microsystems open-source verklaard werd in een poging om te concurreren met Microsoft Office.

Overstappen naar GnuCash

GnuCash bestaat sinds 1998. De ontwikkelaarsgroep achter GnuCash een van de grootste open-source teams ter wereld. Het is een keurig boekhoudpakket volgens het dubbel boekhoudsysteem. Maar het biedt maar een deel van de functionaliteit die ik zoek, die ik nu heb.

Eisen en Wensen

Nog even terug naar mijn eisen aan de oplossing. Ik wil mijn beleggingen, hypotheek en administratie in één integrale omgeving kunnen voeren. Met automatische importmogelijkheden van banktransacties en aandelentransacties, en mogelijkheden om een kasboek en creditcard bij te houden. Mijn huidige data wil ik migreren. Minimaal wil ik de functionaliteit van mijn huidige spreadsheets handhaven, en daar op voort kunnen bouwen.

Er moeten voldoende rapportagemogelijkheden zijn, liefst kan ik zelf rapportages en grafieken inrichten. Die ik ook op mijn blog kan gebruiken. En idealiter is de software open-source. De gegevens en idealiter ook de oplossing wil ik in eigen beheer, niet in de cloud. En de software moet beschikbaar zijn op verschillende platformen, in elke geval Windows 10 en Linux. Voor mijn eigen situatie zou de software moeten kunnen werken met de Rabobank, ABN AMRO, Binck en Nationale Nederlanden. Idealiter is er een Nederlandse versie, maar dat hoeft niet.

Daarnaast is mijn huidige systematiek erg afhankelijk van de rapportages die ik kan downloaden. ING beleggingen is al gestopt met het bieden van die optie, hoorde ik onlangs van een (teleurgestelde) bloglezer. Binck doet dat gelukkig nog wel. Rabo, ABN, en Binck: als jullie hiermee stoppen ga ik weg! Eigenlijk wil ik in mijn nieuwe oplossing dus langs verschillende kanalen de gegevens kunnen importeren.

Overwegingen

Er zijn altijd onzekerheden als je een meerjarenstrategie kiest. Hoe lang bestaan LibreOffice en GnuCash al en nog? Wat gaat Microsoft doen met Office, Windows 10 en Visual Basic en wanneer? Allemaal dingen die ik me al jaren afvraag, en die ik niet weet. Nou zul je natuurlijk net zien dat al die vragen over een week beantwoord worden, maar toch…

Zowel GnuCash als LibreOffice vragen veel werk om te voldoen aan mijn wensen. LibreOffice kiezen komt neer op het herbouwen van mijn spreadsheets. GnuCash komt neer op het kiezen en inrichten van een echt boekhoudsysteem. Beiden vragen programmeerwerk. Die programmeerinspanning schat ik voor GnuCash zwaarder in dan voor LibreOffice.

Als programmeertaal heb ik de keuze tussen Python en JavaScript. Tsja. Daar worden ideologische oorlogen over gevoerd. Een onmogelijke keuze. Ik lees wel dat Python wordt omschreven als makkelijker te leren. GnuCash en Python zijn samen bruikbaar, LibreOffice werkt met JavaScript en Python. En met LibreOffice Basic, maar dat is zelfs een stap achteruit ten opzichte van Visual Basic. Python wordt ook beschouwd als beste taal voor kunstmatige intelligentie, een thema waar ik mij ook nog eens meer in wil verdiepen..

Tsja, en mijn droom van een aanvulling op GnuCash , voor personal finance doeleinden, met opties voor het bijhouden van de administratie, je hypotheek, je beleggingen, en alle rapportages die ik ook in mijn spreadsheets heb? Hoe realistisch is dat?

Meerjarenstrategie

Op dit moment lijkt het beste scenario: Het opnieuw opbouwen van mijn spreadsheets in LibreOffice, waarbij ik Python gebruik als programmeertaal. Dat wordt een project van jaren. Maar dat was het opbouwen ook. En het is wel leuke tijdsbesteding, vind ik. De naam Geldnerd draag ik immers niet zomaar.

Zomaar wat losse gedachten tot slot…

Uiteraard is er ook een vierde scenario, namelijk stoppen met mijn spreadsheets en stoppen met het bijhouden van mijn financiën. Maar dat voelt zo tegennatuurlijk, dat ga ik zeker niet doen.

Iemand vroeg mij overigens waarom ik zoveel tijd aan programmeren besteed. Simpel, twee redenen. Ik ben dol op puzzelen. programmeren lijkt daar ook op, en is nuttiger dan sudoku’s invullen. En als ik mijn tijd besteed aan programmeren, voorkom ik daarmee dat ik steeds nieuwe beleggingstransacties uitvoer die alleen maar mijn rendement om zeep helpen.

Misschien ga ik GnuCash toch wel gebruiken voor onze gezamenlijke administratie. Gewoon omdat het kan. Want een echte boekhouding is wél leuk.

En ik word getriggerd door de slotopmerking van Nerd01: Voor iemand die Visual Basic al leuk vindt moet Python zoiets zijn als overstappen van een Fiat in een Rolls Royce. Daar verheug ik mij op!

Wat zou jij kiezen?

© 2020 Geldnerd.nl

Theme by Anders NorenUp ↑