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
>

Reply via email to