# Core Banking für Mikrofinanzinstitute

> Entwicklung und Weiterentwicklung von OpenCBS, einer auf Apache Fineract basierenden Core-Banking-Plattform für Mikrofinanzinstitute und Banken im UEMOA-Raum.

- **Kind:** case-study
- **Context:** BFT Group · Backend-Entwickler
- **Year:** 2024
- **Tech:** Java, Spring Boot, Apache Fineract, OpenERP, Microservices
- **URL:** https://wilfriedago.me/de/works/opencbs-core-banking

**Flow:** Schalter → Kassengeschäft → Domänenmodell → SYSCOHADA-Buchhaltung

jede Bewegung an der Kasse muss als konforme Buchung enden

OpenCBS ist eine auf Apache Fineract basierende Core-Banking-Plattform, die von
Mikrofinanzinstituten und Banken betrieben wird. Ich arbeite an ihrer
Entwicklung und Weiterentwicklung: an den Modulen, die Geld bewegen, und an der
Buchhaltung, die die Aufsicht danach liest.

## Die Fachlichkeit vor dem Code

Kassengeschäfte, Schalterverwaltung, Zahlungsströme, Kundentransaktionen — jede
dieser Anforderungen kommt in der Sprache der Filiale, nicht in der des Systems.
Die entscheidende Arbeit passiert vor der ersten Codezeile: analysieren, was das
Institut tatsächlich tut, und es dann in Domänenmodelle überführen, die den
Regeln des Geschäfts standhalten — nach **DDD**-Prinzipien statt alles in
Tabellen flach zu klopfen.

## Kassen, Stückelung und Buchhaltung

Ich entwickle die Module für Kassen- und Schalterverwaltung sowie die
Stückelungserfassung: wie viel welcher Note in welcher Kasse liegt und was den
Besitzer gewechselt hat. Dahinter liegt die Finanzbuchhaltung nach
**SYSCOHADA**, dem im UEMOA-Raum geltenden Standard. Konformität ist keine
Reporting-Schicht, die man am Ende anschraubt — sie begrenzt von Anfang an, was
das Domänenmodell überhaupt abbilden darf.

## Interoperabilität mit OpenERP

Die Plattform steht nicht allein. Ich passe **OpenERP** an und integriere es, um
die Interoperabilität mit dem Core Banking sicherzustellen, insbesondere für
Buchhaltung, interne Verwaltung und Finanzberichtswesen — was bedeutet, sich
darauf zu verständigen, was eine Transaktion in zwei unabhängig entworfenen
Systemen _ist_.

## Wartbar bleiben

Über Funktionen hinaus wirke ich an Code-Reviews, der laufenden Verbesserung der
Codebasis und der Strukturierung von Services mit. Die Plattform wird pro Kunde
als Satz von Microservices ausgeliefert. Modularität ist damit keine
Geschmacksfrage: sie entscheidet, wie viel vom System man verstehen muss, bevor
sich etwas gefahrlos ändern lässt.
