Cosmic Module
O
Qubits of DPK
March 20, 2026
Core Open Source
The Analogy
Think of Fineract like a large hospital. A hospital has different departments — cardiology, orthopaedics, emergency, pharmacy. Each department has its own team, its own equipment, its own records. But they all share the same building and communicate with each other.
Fineract's modules are exactly like those departments. Each module owns a specific domain and has its own code, but they all run together as one application.
️ The Module Map
javascript
QUBITS OF DPK
fineract-provider — The Main Application
Layman: This is the reception desk of the hospital. Everything starts here.
What it does:
- Contains FineractApplication.java — the main() method that starts the whole server
- Contains Spring Security configuration
- Contains application.properties (all configuration)
- Wires all the other modules together
- Hosts the Swagger UI endpoint
Key files:
javascript
QUBITS OF DPK
fineract-core — The Foundation
Layman: This is the hospital's plumbing and electricity — invisible but everything depends on it.
What it does:
- Base command/query infrastructure (CommandHandler, CommandProcessingResult)
- Exception hierarchy (AbstractPlatformException)
- Utility classes (DateUtils, StringUtils, MoneyHelper)
- Data source configuration (multi-tenancy infrastructure)
- Domain primitives (Money class)
The Money class is critical:
java
QUBITS OF DPK
Why? Because floating-point arithmetic (like double) loses precision with money. Money uses BigDecimal internally.
fineract-loan — The Loan Engine
Layman: This is the loans department. Everything related to giving money out and getting it back.
What it owns:
- Loan application, approval, disbursal
- Repayment schedule generation
- Repayment processing
- Interest calculation
- Penalty/charge calculation
- Loan write-off
- Delinquency classification
- Loan state machine
Key packages:
javascript
QUBITS OF DPK
fineract-savings — The Savings Engine
Layman: The savings accounts department.
What it owns:
- Savings account opening
- Deposit and withdrawal transactions
- Interest calculation and posting
- Dormancy detection
- Fixed deposits (FD), Recurring deposits (RD)
fineract-accounting — The Ledger
Layman: The accounting department that records every money movement in double-entry format.
What it does:
- Every loan disbursal, repayment, fee → creates journal entries
- Maintains the General Ledger (GL)
- GL accounts: Assets, Liabilities, Income, Expense, Equity
Double-entry explained:
When a loan of ₹10,000 is disbursed:
javascript
QUBITS OF DPK
Every transaction must balance. This is how real accounting works.
integration-tests — The Test Suite
Layman: The hospital's quality control team that tests everything.
Structure:
javascript
QUBITS OF DPK
How Modules Depend on Each Other
javascript
QUBITS OF DPK
Rule: fineract-core depends on nothing. Everything else depends on fineract-core. fineract-provider depends on everything.