Android Client (Field Officer App) — Development Plan 2026

Android Client (Field Officer App) — Development Plan 2026

Android Client (Field Officer App) — Development Plan 2026

Repository: openMF/android-client
API Instance: tt.mifos.community (Tenant: dev)
API Docs: Apache Fineract Swagger
Goal: Build complete Client, Loan, and Savings flows with an interactive Field Officer Dashboard


Table of Contents

#

Section

Description

#

Section

Description

1

Client Module — Complete Flow

Client lifecycle: list, create, detail, actions, data tables

2

Loan Module — Complete Flow

Loan lifecycle: products, application, detail, actions, transactions, charges, guarantors, collateral

3

Savings Module — Complete Flow

Savings lifecycle: products, application, detail, actions, transactions, charges

4

Interactive Dashboard

Portfolio summary, action items, quick actions, widgets

5

Supporting Modules

Groups, documents, maker-checker, standing instructions, reporting

6

Screen Inventory — 33 Screens

All screens across Client, Loan, Savings, Dashboard, Supporting

7

Deployment — Multi-Platform Release

Android, iOS, Desktop, Web via KMP

8

One-Click Deployment — Mifos X Launchpad

Self-hosted Fineract backend for testing

9

Development Phases

5 phases from February to September 2026


Current API Inventory

Resource

Count

Details

Resource

Count

Details

Clients

111

Active, Closed, Transfer in progress, Rejected

Loan Products

3

PERSONAL, BRONZE, Business (USD)

Savings Products

2

WALLET, AHORRO (USD)

Offices

5

Head Office, Branch Office 1, Office Of Doraemon, Mobile Office, Telegraph

Charges

10

Client (4), Loan (2), Savings (1), Share (3)

Reports

200+

Table, Pentaho, SMS, Email types


1. Client Module — Complete Flow

1.1 Client List and Search

Feature

API Endpoint

Description

Feature

API Endpoint

Description

List all clients

GET /clients

Paginated list: displayName, accountNo, status, officeId, officeName

Search clients

GET /clients?sqlSearch={query}

Search by name, account number, external ID

Filter by office

GET /clients?officeId={id}

Filter by branch

Filter by status

GET /clients?status={status}

Active (300), Closed (600), Transfer (303,304), Rejected (700)

Sort clients

GET /clients?orderBy={field}&sortOrder={asc/desc}

Sort by name, account number, date

1.2 Client Creation

Feature

API Endpoint

Description

Feature

API Endpoint

Description

Client template

GET /clients/template

officeOptions, staffOptions, savingsProductOptions, genderOptions, clientTypeOptions, clientClassificationOptions, datatables

Create client

POST /clients

officeId, firstname, lastname, mobileNo, dateOfBirth, genderId, externalId, submittedOnDate, activationDate, savingsProductId, staffId

Client with address

POST /clients (with address)

addressTypeId, street, city, stateProvinceId, countryId, postalCode

Client with family

POST /clients (with familyMembers)

familyMembers[]: firstName, relationship, gender, dateOfBirth, profession

Required Fields:

Field

Type

Description

Field

Type

Description

officeId

Integer

Branch office (e.g. 1 = Head Office)

firstname

String

Client first name

lastname

String

Client last name

active

Boolean

true = activate immediately

activationDate

String

Date of activation (dd MMMM yyyy)

dateFormat

String

"dd MMMM yyyy"

locale

String

"en"

Optional Fields: