Skip to content
All work
BFT Group · Backend Developer

Core banking for microfinance institutions

Building and extending OpenCBS, an Apache Fineract-based core banking platform for microfinance institutions and banks in the UEMOA region.

OpenCBS is a core banking platform built on Apache Fineract, run by microfinance institutions and banks. I contribute to its development and evolution: the modules that move money, and the accounting the regulator reads afterwards.

The domain before the code

Cash operations, teller management, cash flows, customer transactions — each of these arrives as a business requirement written in the language of the branch, not of the system. The work that matters happens before any code: analysing what the institution actually does, then translating it into domain models that hold up under the rules of the business, following DDD principles rather than flattening everything into tables.

Tills, denominations and the ledger

I develop the modules for cashier and teller management, and for tracking currency denominations — how much of which note is in which till, and what changed hands. Downstream of that sits financial accounting compliant with SYSCOHADA, the standard that applies across the UEMOA region. Compliance is not a reporting layer bolted on at the end; it constrains what the domain model is allowed to represent in the first place.

Interoperability with OpenERP

The platform does not live alone. I customise and integrate OpenERP so it interoperates with the core banking system, particularly for accounting, internal management and financial reporting — which means agreeing on what a transaction is in two systems that were designed independently.

Keeping it maintainable

Beyond features, I take part in code reviews, continuous improvement of the codebase, and the structuring of services. The platform is deployed per client as a set of microservices, so modularity is not an aesthetic preference: it decides how much of the system has to be understood before anything can safely change.