Cosmic Module
O
Qubits of DPK
March 23, 2026
Core Open Source
What This Module Is (Big Picture)
The charge module manages financial fees and penalties applied to customers.
Charges may apply to:
- loan processing
- late repayment penalties
- loan disbursement fees
- account maintenance charges
- withdrawal fees
- service charges
This module defines how charges are configured and when they are applied.
Layman Example
Suppose a borrower takes a loan of ₹10,000.
The bank may apply:
Loan processing fee = ₹200
Or
Late payment penalty = ₹50
These fees are defined and calculated using the charge module.
Where the Code Lives
Key Package
org.apache.fineract.portfolio.charge
Responsibilities include:
- defining charge rules
- calculating charge amounts
- attaching charges to accounts
- applying charges during events
Core Domain Entity:
Charge.java
Path
fineract-charge/src/main/java/org/apache/fineract/portfolio/charge/domain/Charge.java
This class represents a charge definition.
A charge definition describes how a fee should be calculated and applied.
Key fields on
Charge
Charge Calculation Methods
Charges can be calculated in multiple ways.
Example Charge Calculation
Loan Amount = ₹10,000
Processing Fee = 2%
Charge Amount = ₹200
Example Charge Calculation Code
java
QUBITS OF DPK
This calculates percentage-based charges.
Charge Application Events
Charges may apply at different events.
Examples:
Attaching Charges to Accounts
Charges may be attached to:
- loan accounts
- savings accounts
- share accounts
Example:
Loan Account → Late Payment Penalty
Savings Account → Withdrawal Fee
API Layer
Main controller
ChargesApiResource
Example endpoints
plain text
QUBITS OF DPK
These APIs allow administrators to:
- create charge definitions
- retrieve charges
- configure fee rules
Read Services
Read services retrieve charge configurations.
Examples:
- retrieve charge definitions
- retrieve charges for loan products
- retrieve charges for savings products
These services are used during transaction processing.
Write Services
Write services manage charge creation and updates.
Responsibilities include:
- creating new charge rules
- updating charge values
- assigning charges to products
Repository Layer
Exceptions
These prevent incorrect charge calculations.
How It All Connects (Full Flow)
Example: Loan Processing Fee
java
QUBITS OF DPK
Why This Module Matters
The charge module ensures financial institutions can:
- collect service fees
- apply penalties
- configure pricing for financial products
This allows banks to generate revenue and enforce repayment discipline.
One-Sentence Summary
fineract-charge manages fees and penalties applied to financial transactions such as loan processing fees, late payment penalties, and service charges.