Onze Finance Service-webapplicatie beheert efficiënt de inkomende en uitgaande uitkeringsbetalingen voor meer dan 160.000 Belgische bouwvakkers.
Klant Constructiv
Sector Bouw
Technologie .NET, Angular
Locatie Brussel, België
Teamgrootte 22
Projectduur 5 jaar – lopend
Constructiv is een dienstverlenende organisatie van en voor de bouwsector. Het is een leefbaarheidsfonds dat is opgericht door de sociale partners van het Bouwbedrijf, waaronder de Belgische bouwvakbond. De kern van hun activiteiten is het berekenen van uitkeringen voor ongeveer 160.000 werknemers in de Belgische bouwsector.
Het interne ondernemingssysteem van de klant, genaamd CoBen, heeft meerdere microservices die verschillende soorten uitkeringsbetalingen voor werknemers berekenen, of schulden in geval van te veel betaalde bedragen. Het probleem was dat ze geen geautomatiseerde manier hadden om deze betalingsstromen te beheren en dat elke uitkering uniek was. Het vinden van een manier om ze te standaardiseren was op zichzelf al een uitdaging. Een andere uitdaging was de communicatie, aangezien deze uitkeringen soms moesten communiceren met andere uitkeringen in het ecosysteem.
Het doel was om het verwerken van inkomende betalingen te digitaliseren en ze automatisch te koppelen aan uitkeringen of schulden.
Het proces standaardiseren zodat het kan worden toegepast op elk type uitkering.
Door het gebruik van event sourcing en domeingestuurde ontwerppraktijken konden we het hoofdproces standaardiseren, maar het ook aanpassen wanneer dat nodig was voor elke uitkering. Uitkeringen functioneren nu als een aparte service met een eigen levenscyclus. Gezien het succes van het project, zijn we ook verantwoordelijk geworden voor de verwerking van uitgaande betalingsverzoeken.
Voor inkomende betalingen worden de inkomende .cod-bestanden verwerkt en weergegeven op het scherm voor inkomende betalingen. Ze kunnen verder buiten het systeem worden doorgestuurd of worden gekoppeld aan bestaande schulden.
Uitgaande betalingen worden uitgevoerd wanneer uitkeringen betalingsverzoeken naar de Finance Service-app sturen, waarna beheerders een betalingsverzoek in de app kunnen zien dat ze kunnen goedkeuren (of niet), afhankelijk van vooraf gedefinieerde criteria. De app stuurt vervolgens het uitgaande betalingsverzoek naar externe aanbieders – boekhoudapplicaties en vervolgens banken.
Door de event sourcing-methodologie kunnen we de betalingsstroom in elke stap volgen. Gebruikers kunnen het ook zien, vanaf het moment dat het verzoek in de Finance Service-app binnenkomt tot de statuswijziging en wanneer het uiteindelijk is voltooid.
Wat betreft de communicatie-uitdaging kozen we voor de NServiceBus-berichtoplossing, waardoor het een microservice-architectuur werd. De service moest deel uitmaken van de hoofdapplicatie CoBen, dus onze technologie-stack voor de backend (.NET) en frontend (Angular) was al gedefinieerd.
We gebruikten ook het event sourcing-ontwikkelpatroon, dat zeer efficiënt is bij financiële toepassingen.
Potentiële problemen zijn gemakkelijk te vinden, op te lossen en te voorkomen.
Geen gegevensverlies en een zelfherstellend systeem dat bestand is tegen fouten.
Alle relevante gebeurtenissen kunnen later worden gebruikt om dossiers op te stellen die gebruikers kunnen raadplegen.
Gemakkelijk nieuwe soorten gebeurtenissen introduceren en snel logica toevoegen zonder de oude code te beïnvloeden.
Dirk Berckmans
ICT Coordinator, Constructiv