Mifos Mobile Application
Introduction
Recent discussions (August 2011) have highlighted the need for a mobile interface for mifos. This could result in increased efficiency for MFIs using mifos.
There are other sources on the wiki which relate to mobile interfaces for mifos:
This page is used to describe a possible project that members of the mifos community can start and implement.
Current Community Efforts
Broad Requirements
Binny has provided some broad requirements around what MFIs are looking for in this area.
In general, a subset of the core functionality of mifos will be provided but some MFIs may prefer to do all operations on mifos through mobile/handheld ui rather than invest in computers in all branches.
Examples of this would be:
- Allow user to make individual loan repayments for client/group?
- Allow user to submit entries for a center/group collection sheet.
Any collection data that is sent from the field should not be updated into Mifos collection tables immediately. Instead, it should be held in an intermediate state. Only after the Loan Officer brings the money back to the branch, and this money has been verified against the data captured from the field, should the data get committed to Mifos as “actual collections”.
A screen should be provided so that cash verification against mobile entries are possible in an easy and quick manner. Can be similar to collection sheet entry page, but with entire branch data for the day, with option to filter by loan officer (and with more compact HTML tables for ease of viewing). It should be possible to correct data in this screen.
Branch manager/hub manager should have facility to real time see what data has been sent from the field via mobile devices (hub = a group of branches). This is to facilitate the person in charge of collections at branch to follow up quickly with Loan officers and Group leaders in case of any new defaults/arrears
Reasons for requirements
- Some MFIs do not want a solution which will work only on certain types of phones (for example Andriod phones or Java enabled phones)
- They fear that if it works only on certain types of phones, they will need to buy phones for each of the Loan Officers (largers mfis could have a large number of loan officers) and then have support staff to manage issues with these phones and tracking the possession of these phones.
- So they want the Loan Officers to be able to use their own phones, but will reimburse the expenses incurred in the usages of these phones for official purposes.
- However, they see value in getting immediate updates from the field regarding which groups did not pay, so that branch managers can follow up quickly in case of new arrears
- Other MFIs don’t mind investing in handsets for each of the Loan Officers.
- They see printouts adding value in avoiding any chances of fraud that Loan Officers might be tempted to commit.
- A SMS based solution is viewed as something not as user friendly as an application on smartphone/pda.
- If a finger-print recognition hardware can be attached and reduce any chances of fraud, could be something useful.
SMS Possible Scenario
At the beginning of the day, Mifos send out an SMS to Loan Officers stating which centers they need to visit for the day, their location and time of meeting.
After a center meeting, Loan Officer sends an SMS to Mifos
On receipt of SMS, Mifos will respond with one of the following:
<Center Name/ID>, “FR”, <Amount collected> – when all payments are fully received
<Center Name/ID>, “PR”, <Amount collected>, <Notes> – If there were any defaults
<Notes> to contain the list of defaulters, if feasible or some notes to branch/hub manager
<Center Name/ID>, “CNC”, <Reason> – Could not Collect and the reason why collection could not be done for this center.
After X amount of time (ex. 1 hour, which can be configured) after center meeting time, if Mifos does not receive an update via SMS for a center, then it sends an SMS to the Loan Officer in the following format:
<Center Name/ID>, <Meeting Location>, <Time of meeting> – “No data recvd”
On receipt of SMS, Mifos will respond with one of the following:
<Center Name/ID>, “Received”, “Full”/”Partial”/”No Collection” – the value of the third field depends on if Mifos received a full, partial or no collection SMS from the LO
<Center Name/ID>, “Error”, <Error reason> - if incoming SMS message could not be parsed intelligently
Smartphone/PDA Possible Scenario
The mobile application will allow Loan Officer to view the task-list i.e. list of centers (or list of groups if center is disabled) to be collected for a day (user can selected any date within 1 week of today).
The task list will include a separate link for viewing individual members, who have installments due on this date Loan Officer selects a center (or group). Application shows the list of groups in the center (or members in group) with total amount due from each of them. Groups can be expanded or contracted on the UI
LO submits with:
If all members pay fully, then LO just “submits”
If some members didn’t pay, then these rows are unselected and then LO submits
If some members paid partially, then LO enters the amount received before submitting
A preview page with the summarized collection is shown before it being submitted to Mifos
Other considerations
- The intermediate step (review and approval) for mobile entries should be made configurable. i.e. if an MFI does not need this step, then we should be able disable it. i.e. all updates sent via mobile device will get committed to Mifos immediately.
- The intermediate screen may be quite complicated as it needs to be a dashboard for the reviewer and also allow easy navgtation of data before the final submit (like the maker/checker step)
- Sending an SMS receipt after a transaction has been posted can cover only about 50-60% of members. Many of the members do not have phones themselves and someone in the family may own a mobile. Many of them are illiterate and do not understand SMS fully. Language issues could be there among members (especially if some of the members migrants from other states/regions). Hence, an SMS receipt cannot replace the paper receipts. A thermal printer receipt could be more acceptable. This will also give more confidence to both members and the MFI that chances of fraud by LO’s are reduced.
- We need to ensure that the solution we develop can be re-used in the following scenarios:
- JLG/SHG model which may not always have the concept of centers
- Individual lending – where individuals may not be associated to any groups – how will we navigate to individual members via mobile UI?
- One time payments – this would be useful if we are to support an organization which eventually wants to support Correspondent Banking model
Proposals for implementation
Existing Prototypes
- Mann-India MIMO-Mifos Integration: Mann-India created a prototype of an application supporting the entry of individual and bulk payments via mobile phone. It is phone/carrier/band agnostic and will work with any phone that is browser and Java-enabled. Was built to integrate with Mifos 1.5 codebase. Still seeking MFIs to pilot the solution.
- See presentation on it.
- See screenshots of app
- Code to download:
- http://122.180.113.130:8080/mifos/mimo.jad
- http://122.180.113.130:8080/mifos/mimo.jar
- Jar to be executed in this Java toolkit: http://java.sun.com/products/sjwtoolkit/download-2_5_2.html
- Instance of Mifos integrated with - http://122.180.113.130:8080/mifos-webapp
- Discussion thread.
- Shujaa Solutions - mobile interface they piloted at Tanzania workshop:
- See this Shujaa Solutions presentation for an overview.
- Anduril Technologies - Anduril has developed an interface for both mobiles and handhelds - more details to follow.
- SolDevelo has developed the Mifos Android Client:
- Available for download for free on the Android Market - https://market.android.com/details?id=org.mifos.androidclient
- The application works on devices with android version 2.1 and later
- By default the application connects to http://ci.mifos.org:8085/mifos (the address of the target server can be changed)
- The testing account on the above default server can be accessed using following credentials:
- login: mlo
- password: m12345