Your web browser is out of date. Update your browser for more security, speed and the best experience on this site.
Zo stapt de belastingdienst over van COBOL op Java
Al meer dan veertig jaar ontwikkelt de Nederlandse Belastingdienst software om het innen van belastingen op te volgen. Mitchell Vrugteveen, Full Stack Engineer bij Axxes, vertelt hoe de organisatie moderniseert op vlak van IT.
Weinig systemen zijn zo belangrijk voor het functioneren van een land als de manier waarop overheden belastingen innen. We staan allemaal een deel van onze inkomsten af, waarna dat geld wordt gebruikt om het land te doen draaien. De belastingdienst is verantwoordelijk om dat proces op te volgen. Daar komt heel wat bij kijken, maar zoals ze zelf zeggen: ‘Leuker kunnen we het niet maken, wel makkelijker.’
Een van de mensen die daarbij helpt is Mitchell Vrugteveen. De Full Stack Engineer werkt als consultant bij Axxes en is sinds juli 2023 aan de slag op een project voor de Nederlandse belastingdienst. Onlangs gaf hij een presentatie aan zijn Axxes-collega’s over het werk dat hij daar doet, want daar komt heel wat bij kijken.
Een rijke IT-geschiedenis
Mitchell en zijn team focussen voornamelijk op belastingstromen van bedrijven, wat bijvoorbeeld belangrijk is om de vennootschapsbelasting te bepalen en winsten te verrekenen met eventuele verliezen van voorgaande jaren. ‘Wanneer bedrijven hun jaarlijkse aangifte doen, volgt een grotendeels geautomatiseerd proces tot aan de definitieve aanslag. Dankzij specifieke software, gebaseerd op de financiële wetten en regelgeving, kunnen functionarissen die gegevens inzien’, zegt Mitchell.
‘De belastingdienst is een organisatie die al meer dan veertig jaar software maakt, zodat ze het administreren van de belastingen goed kunnen opvolgen. De modernisatie is helaas vrij laat in gang gezet, maar de organisatie is zich er bewust van de noodzaak, klinkt het.'
Een groot deel van de software is namelijk nog geschreven in COBOL, een programmeertaal die al sinds 1959 bestaat. Doordat er steeds minder programmeurs zijn die nog COBOL kunnen schrijven, moet de belastingdienst op zoek naar een oplossing. Mitchell: ‘Door die oude software een-op-een na te maken in Java, kunnen we die op termijn uitfaseren.’
Focus op de meerwaarde
Wanneer de ontwikkelaars aan een nieuwe applicatie beginnen, zal dat sowieso niet meer in COBOL zijn. Het oude systeem wordt nog onderhouden, en zodra het uitgefaseerd is kunnen bepaalde zaken die nu niet kunnen, wel ontwikkeld worden.
Mitchell: ‘De twee systemen draaien nu naast elkaar, maar door bepaalde meerwaarden voor de gebruikers te creëren, kunnen we hen overtuigen om over te stappen op de nieuwe software. ‘Een bepaalde meerwaarde die we recent hebben opgeleverd is dat functionarissen een renteberekening niet meer handmatig hoeven in te vullen. We kunnen dit nu automatisch voor hen doen, waardoor er geen 40 velden handmatig ingevuld moeten worden. Dit is sneller en minder foutgevoelig.’
In het nieuwe systeem kan men ook langere notities bij een belastingplichtige persoon plaatsen, omdat je in het oude systeem op bepaalde technische limieten botst. ‘De COBOL-interface bestaat uit een veld van 11 regels met 78 karakters. Daardoor is het databaseveld gelimiteerd op 858 karakters. Deze limiet moeten wij meenemen in onze nieuwe programmatuur, want het zou jammer zijn als we uitgebreide notities mogelijk maken en dat er in de oude interface karakters wegvallen. Ook is er een limiet van 6 notities aangezien er 2 pagina's in de oude interface zijn met elk 3 notities. Wij plaatsen ze in de nieuwe interface in een lange lijst onder elkaar en zijn hier niet langer door limieten gebonden. Elk van de schermen nemen we een-op-een over, en via SOAP kunnen we de COBOL-code laten interageren met Java. De volgende stap is de programmatuur in containers plaatsen, naar een moderne Java-versie migreren, en zo stap voor stap afscheid nemen van de oude technologie en de Belastingdienst helpen met haar DevOps missie.’
Impact leveren
Het team van Mitchell maakt voornamelijk raadpleegschermen. ‘Dat zijn overzichtspagina’s met daarin informatie die rechtstreeks uit de database komt of andere informatie over belastingplichtige personen en aanslagen. Ik heb tijdens een kwartaalplanning de autonomie genomen om de ambitie te verleggen naar een feature die gebruikmaakt van alle vier de CRUD-functionaliteiten; naast Read, ook Create, Update en Delete-opties. Op deze manier is een goede fundering in de basisinfrastructuur aangelegd om in de toekomst eenvoudig sneller en meer complete features op te leveren dan enkel het raadplegen. Ik ben er trots op dat ik dit heb kunnen realiseren en dat dit de migratie naar de nieuwe tech stack zal versnellen met features die gelijkwaardig zijn aan die in de oude COBOL-code