Mifos Mobile (Self-Service Banking App) — Development Plan 2026

Mifos Mobile (Self-Service Banking App) — Development Plan 2026

Mifos Mobile (Self-Service Banking App) — Development Plan 2026

Repository: openMF/mifos-mobile
API Instance: tt.mifos.community (Tenant: dev)
API Docs: Apache Fineract Swagger
Goal: Build a complete self-service mobile banking app for end users — account overview, loan management, savings management, transfers, and notifications


Table of Contents

#

Section

Description

#

Section

Description

1

User Authentication and Registration

Self-service registration, login, biometric, password management

2

User Profile and Account Overview

Profile management, accounts dashboard, account summary

3

Loan Module (Self-Service)

View loans, repayment schedule, apply for loans, make repayments

4

Savings Module (Self-Service)

View savings, transactions, deposit, withdrawal, apply for new account

5

Beneficiary and Transfers

Manage beneficiaries, account-to-account transfers, third-party transfers

6

Charges and Transactions

View charges, transaction history, receipts

7

Notifications and Alerts

Push notifications, repayment reminders, account alerts

8

Supporting Features

QR code, nearby branches, help/FAQ, feedback

9

Screen Inventory

All 28 screens across all modules

10

Deployment

Multi-platform release — Android, iOS, Desktop, Web

11

One-Click Deployment

Mifos X Launchpad — self-hosted backend for testing

12

Development Phases

5 phases from February to September 2026


1. User Authentication and Registration

1.1 Self-Service Registration

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Registration

POST /self/registration

New user self-registration with account number

Verify registration

POST /self/registration/user

Verify and activate registered user

1.2 Login and Session

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Login

POST /self/authentication

Authenticate with username and password, returns base64 auth token

Validate token

GET /self/userdetails

Validate session and get user info

1.3 Security Features

Feature

Description

Feature

Description

Biometric login

Fingerprint / Face ID authentication (stored locally)

Passcode lock

App-level passcode for additional security

Session timeout

Auto-logout after inactivity period

Password change

POST /self/user — change password

Forgot password

Password reset flow via email/SMS


2. User Profile and Account Overview

2.1 Client Profile

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Get profile

GET /self/clients

Get authenticated client details (name, account number, status, image)

Client details

GET /self/clients/{clientId}

Full profile: displayName, officeId, officeName, mobileNo, dateOfBirth

Client image

GET /self/clients/{clientId}/images

Profile photo

Update profile

PUT /self/clients/{clientId}

Update allowed fields (mobileNo, email)

2.2 Accounts Dashboard

Feature

API Endpoint

Description

Feature

API Endpoint

Description

All accounts

GET /self/clients/{clientId}/accounts

loanAccounts[], savingsAccounts[], shareAccounts[]

Account summary cards

Derived from accounts response

Total loan balance, total savings balance, number of active accounts

2.3 Account Overview Fields

Loan Account Summary:

Field

Description

Field

Description

accountNo

Loan account number

productName

Loan product (PERSONAL, BRONZE, Business)

status

Pending, Active, Closed, Written Off

principalDisbursed

Amount disbursed

principalOutstanding

Remaining balance

totalOverdue

Overdue amount

Savings Account Summary:

Field

Description

Field

Description

accountNo

Savings account number

productName

Savings product (WALLET, AHORRO)

status

Active, Dormant, Closed

accountBalance

Current balance

nominalAnnualInterestRate

Interest rate


3. Loan Module (Self-Service)

3.1 Loan Account List

Feature

API Endpoint

Description

Feature

API Endpoint

Description

List my loans

GET /self/clients/{clientId}/accounts

Extract loanAccounts[] from response

Loan detail

GET /self/loans/{loanId}

Full loan details with summary

Loan with schedule

GET /self/loans/{loanId}?associations=repaymentSchedule

Repayment schedule with due dates

Loan with transactions

GET /self/loans/{loanId}?associations=transactions

Payment history

Loan with all

GET /self/loans/{loanId}?associations=all

Schedule + transactions + charges

3.2 Loan Detail View

Section

Data Source

Display

Section

Data Source

Display

Loan summary

GET /self/loans/{loanId}

Product, principal, interest rate, status, disbursement date, maturity date

Outstanding balance

summary.totalOutstanding

Current amount owed

Next installment

repaymentSchedule (next unpaid)

Due date, amount due, principal + interest breakdown

Repayment progress

principalPaid / principalDisbursed

Visual progress bar

Loan Summary Fields:

Field

Example

Field

Example

principalDisbursed

10,000.00

principalPaid

2,170.26

principalOutstanding

7,829.74

interestCharged

7,611.64

interestPaid

4,104.00

totalExpectedRepayment

18,093.64

totalRepayment

6,756.26

totalOutstanding

11,337.38

3.3 Repayment Schedule

Feature

API Endpoint

Description

Feature

API Endpoint

Description

View schedule

GET /self/loans/{loanId}?associations=repaymentSchedule

All installments

Installment fields

Per period

dueDate, principalDue, interestDue, totalDueForPeriod, totalOutstandingForPeriod, complete

Overdue indicator

Derived

Highlight past-due installments

Upcoming payment

Derived

Next unpaid installment highlighted

3.4 Loan Transactions History

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Transaction list

GET /self/loans/{loanId}?associations=transactions

All disbursements, repayments, fees

Transaction detail

GET /self/loans/{loanId}/transactions/{txnId}

Individual transaction breakdown

Transaction types

From response

Disbursement, Repayment, Waive Interest, Fee, Penalty

3.5 Apply for New Loan

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Loan template

GET /self/loans/template?clientId={clientId}

Available products, terms, options

Loan products

GET /self/loanproducts

List available loan products

Product detail

GET /self/loanproducts/{productId}

Product terms and configuration

Submit application

POST /self/loans

clientId, productId, principal, loanTermFrequency, numberOfRepayments, interestRatePerPeriod, expectedDisbursementDate

Withdraw application

POST /self/loans/{loanId}?command=withdrawnByApplicant

Cancel pending application

3.6 Loan Charges

Feature

API Endpoint

Description

Feature

API Endpoint

Description

View charges

GET /self/loans/{loanId}/charges

Applied charges (Late Fee, Administration Fee)

Charge detail

GET /self/loans/{loanId}/charges/{chargeId}

Individual charge breakdown


4. Savings Module (Self-Service)

4.1 Savings Account List

Feature

API Endpoint

Description

Feature

API Endpoint

Description

List my savings

GET /self/clients/{clientId}/accounts

Extract savingsAccounts[] from response

Savings detail

GET /self/savingsaccounts/{accountId}

Full account details with balance

Savings with transactions

GET /self/savingsaccounts/{accountId}?associations=transactions

Transaction history

4.2 Savings Detail View

Section

Data Source

Display

Section

Data Source

Display

Account summary

GET /self/savingsaccounts/{accountId}

Product, balance, interest rate, status

Current balance

summary.accountBalance

Large display with currency

Interest info

nominalAnnualInterestRate

Annual rate, compounding period

Sub-status

subStatus

Active, Inactive, Dormant, Block indicators

Savings Account Fields:

Field

Description

Field

Description

accountNo

Account number (e.g. 000000007)

status

Active (300), Submitted (100), Approved (200), Closed (600)

subStatus

None, Inactive, Dormant, Escheat, Block, BlockCredit, BlockDebit

summary.accountBalance

Current balance

nominalAnnualInterestRate

Annual interest rate

interestCompoundingPeriodType

Compounding frequency

interestPostingPeriodType

Interest posting frequency

minRequiredOpeningBalance

Minimum opening balance

allowOverdraft