Hi All, Following up on my earlier note it's been about a month since we started coding, so wanted to share progress.
Repository: https://github.com/apache/fineract-loan-origination Completed so far: - Standalone Spring Boot 4.1 service with CI pipeline. - Domain layer: 4 enums and 5 JPA entities covering the full loan application lifecycle, with optimistic locking, multi-tenancy, and audit trails. - Repository layer: tenant-scoped query interfaces - State machine enforcing all valid lifecycle transitions (DRAFT→SUBMITTED→UNDER_REVIEW→APPROVED/REJECTED/REFERRED → DISBURSED), with unit tests - Credit scoring engine in progress — pluggable scoring factors with weights configurable via application.yml, following CGAP microfinance guidelines. Architecture decisions are documented as ADRs in docs/adr/ for anyone who wants to understand the reasoning particularly why this is a standalone external service rather than embedded in Fineract core, and why a custom state machine was chosen over a BPMN engine. Next up: finishing the scoring engine, then approval workflow and the REST API layer. Still very open to feedback on the approach. JIRA: https://issues.apache.org/jira/browse/FINERACT-2442 Best regards, Sujan On Tue, 23 Jun, 2026, 21:56 sujan kumar, <[email protected]> wrote: > Hi All, > > I am Sujan, a GSoC 2026 contributor working on FINERACT-2442: Loan > Origination System (LOS) for Apache Fineract. > > The goal of this project is to build a modular Loan Origination System > that manages the lifecycle of a loan application before it reaches the core > lending workflow in Fineract. The system is designed to support application > intake, document verification, credit assessment, approval workflows, and > eventual loan disbursement integration. > > Proposed architecture overview: > > - Domain-driven design with dedicated entities representing loan > applications, applicants, documents, approvals, and scoring outcomes. > - State machine-based workflow to model and enforce loan application > lifecycle transitions. > - Layered architecture consisting of REST APIs, service layer, domain > layer, and repository layer. > - Configurable approval workflow to support different approval paths > and decision outcomes. > - Credit scoring module designed to evaluate applicants and assign > risk categories based on configurable scoring criteria. > - Disbursement bridge planned as the integration point between the > origination workflow and Apache Fineract's lending domain. > - Comprehensive API documentation and CI/CD quality checks aligned > with Apache standards. > > The objective is to keep the solution modular, extensible, and suitable > for future enhancements such as alternative credit scoring models, external > integrations, and multi-stage approval processes. > > I would appreciate any feedback from the community regarding the > architecture, domain modeling approach, workflow design, or other > considerations that should be taken into account as development progresses. > Early feedback is especially valuable while the design is still evolving. > > JIRA: https://issues.apache.org/jira/browse/FINERACT-2442 > > Looking forward to your suggestions and discussions. > > Best regards, > > Sujan Kumar >
