Cosmic Module
O
Qubits of DPK
March 20, 2026
Core Open Source
The Analogy
A savings account in Fineract is like a piggy bank that the bank manages for you. You can put money in (deposit), take money out (withdrawal), and the bank adds interest periodically. If you don't touch it for too long, it goes dormant. If you close it, you get all your money back.
Savings Account Types
All three share the same core SavingsAccount entity with different configurations.
Savings Account Status State Machine
javascript
QUBITS OF DPK
Step 1 — Opening a Savings Account
API Call
javascript
QUBITS OF DPK
Code Flow
javascript
QUBITS OF DPK
Approval + Activation
javascript
QUBITS OF DPK
Step 2 — Deposit
API Call
javascript
QUBITS OF DPK
Code Flow
javascript
QUBITS OF DPK
Step 3 — Withdrawal
javascript
QUBITS OF DPK
Validations checked:
- Account must be ACTIVE (not dormant, not closed)
- Amount must not exceed available balance (unless overdraft configured)
- If minimum balance configured: balance after withdrawal >= minimum balance
- If daily withdrawal limit configured: total today <= limit
Step 4 — Interest Calculation
Layman
The bank calculates interest daily (or monthly) and credits it to your account. Think of it like getting a tiny salary from the bank every day for keeping money with them.
How It Works in Fineract
Fineract uses daily balance method for interest calculation:
javascript
QUBITS OF DPK
Interest is accrued daily (calculated but not yet credited) and posted periodically (actually added to balance).
Accrual vs Posting:
- Accrual: "We've EARNED this interest"—accounting entry to record earned income
- Posting: "We're PAYING this to the customer"—actual balance increase
The COB Job Does This
java
QUBITS OF DPK
Interest Compounding Options
Step 5 — Dormancy
What It Is
If a customer doesn't do any transaction for X days (configured per product), the account becomes dormant.
Rules:
- Dormant accounts: restricted withdrawals, some banks charge inactivity fee
- If dormant for even longer: becomes escheatment (money transferred to government)
Detection (COB Job):
java
QUBITS OF DPK
Step 6 — Account Closure
javascript
QUBITS OF DPK
Flow:
- #Validate account can be closed (no pending transactions)
- #Calculate and post any pending interest
- #Withdraw remaining balance (if withdrawBalance=true)
- #Set status = CLOSED (600)
- #Set closedOnDate