Mifos Mobile

For quite some time now there has been an active interest across the Mifos community to develop a mobile banking interface to Mifos. Please use this wiki space and the Mifos Mobile Project as a collaborative area to help drive the community towards a mobile banking solution for Mifos.

Introduction

The following scenarios were authored in March 2008 by Tim Wood of the Grameen Foundation.

Tremendous potential exists to expand the functionality and reach of Mifos by enabling mobile phones to interact with the Mifos platform. This document articulates a range of usage scenarios that could be compelling for microfinance institutions and their clients.

In a handful of countries, telecommunications providers have implemented "mobile banking/mobile payment" platforms which allow individuals to deposit, transfer, and withdraw funds by sending SMS messages with their mobile phones. The types of services provided by these platforms vary widely (see http://cgap.org/portal/site/cgap/BranchlessBanking/ for more detail - in particular Focus Note 43) - but the programs in Kenya and the Philippines have drawn particular attention for their ability to reach those at the "base of the pyramid" - individuals who function outside the formal banking sector and are typical microfinance clients. A handful of microfinance institutions are starting to experiment with accepting payments from their clients using these mobile payment platforms. There is an opportunity to increase the efficiency at MFIs using Mifos by creating an interface to automatically record these transactions in Mifos when the payment comes in through the mobile banking platform.

Even in countries where no mobile banking platform exists, there are many compelling scenarios for using a mobile phone with Mifos. Microfinance clients can benefit from making enquiries to Mifos about their loans and microfinance institutions can record transactions into Mifos with their mobile phones. I will refer to these at "Mobile Mifos" scenarios which are distinct from "Mobile Banking with Mifos" scenarios where actual funds transfers are occurring.

Mobile Mifos Scenarios

Things you can do with SMS and mobile phones in a country with no mobile banking platform:

  • An MFI client wants to know what her current loan balance is. She sends an SMS text message to a phone number at her MFI that says "balance". Thirty seconds later, she receives an SMS text message with the amount of all her current loan balances, the balance in her savings account, and the date and amount of her next loan payment.
    (Note: this requires Mifos to have a mobile phone number associated with an individual and their loan accounts. For security reasons, Mifos would only send balance information to the mobile phone number associated with the account. An alternate implementation would be to require an account number and PIN in the original SMS message - e.g. "balance 98765432 1234", however this is a bit more complex for both the user and the system.)
  • An MFI wants to reduce the amount of paper data entry done by their loan officers. Instead of recording transactions on a ledger at a group meeting, the Loan Officer can record that Client A has just paid amount X into their savings and amount Y into first loan account, and amount Z into their second loan account - all with a single SMS message sent to the Mifos system. A confirmation SMS message is then sent to both the loan officer and the microfinance client. Alternatively, the loan officer can record that all anticipated moneys were received/paid out with one simple message instead of individual X/Y/Z messages, see Trickle processing SMS for Collection Sheets.
  • A Mifos report identifies clients that have an outstanding (late) loan amount. At the initiation of the MFI loan officer, an SMS message is sent to each of those clients notifying them of the amount due and reminding them of the date of their next group meeting.

Things you can do with SMS and mobile phones in a country with no mobile banking platform:

  • An MFI Branch Manager, using a typically more modern mobile phone than his many loan officers and clients have, uses a mobile HTML sub-site of Mifos to e.g. approve pending loan applications, check in on current status, etc.

Mobile Banking Scenarios

  • An MFI client in Kenya is ready to make her weekly loan repayment and savings deposit to her MFI. She sends an SMS that says "balance" + her PIN number to the "Mifos system". Mifos recognizes the phone number transmitted in the SMS, confirms the PIN, and constructs a text response that tells Client A her current loan balance, savings balance, and the amount/date of her next loan repayment. This is transmitted to her via SMS. Client A then uses the Safaricom M-PESA interface to specify a payment of 100 to her loan account and 20 to her savings account and submits this payment to Jitegemea. She receives a confirmation message from the M-PESA system. At the end of the day, the MFI loan officer logs into the M-PESA system via the Internet and downloads a consolidated list of all transactions that happened with the MFI account for that day. These transactions are automatically imported into Mifos and Mifos records the loan repayment in Client A's record, including the M-PESA transaction number. An SMS message is sent to the MFI client from Mifos confirming receipt of the loan payment at the MFI.
  • An MFI client in the Philippines is ready to make her weekly loan payment to her MFI. She uses Globe Telcom's G-Cash system to make her loan payment. Thirty seconds later, the Mifos system at the MFI receives an SMS text message from G-Cash indicating that phone number 12345678 has sent X amount to the MFI account. Mifos looks up the client based on the incoming phone number, records the transaction, and sends an SMS message confirming receipt of the loan payment to the client.
  • It is loan disbursement day for Group X at an MFI in Kenya. The loan officer logs into Mifos at the office on a PC. Entering into the record for each client, she chooses "make mobile disbursement" and specifies the amount. A "payment pending" flag is set for each of these records. When finished with all the clients, she selects "send mobile payments". Mifos consolidates all of the mobile payments into a single table which specifies the mobile phone number for each client and the amount they are to receive. The total amount to be disbursed is calculated and checked against the amount the loan officer is permitted to disburse (an attribute set in their user table). If the amount is below the limit, this table is transmitted to M-PESA via the Internet. (Note: an alternative approval process could be approval by a different user with higher privileges). When M-PESA sends a confirmation notification via the Internet, the records are updated to "payment made", including a date/time stamp for when the payment was made and a confirmation number from M-PESA.
  • An MFI in the Philippines wants to integrate their Mifos implementation with Globe's G-Cash product. G-Cash has an SMS based interface (i.e. no web interface). Each disbursement to a client is made with a unique SMS G-Cash transaction and each loan repayment comes into Mifos as a unique SMS transaction. The MFI can work with a local systems integrator to create the interface between Mifos and G-Cash, accessing APIs in Mifos.

Observations

  • Mobile Mifos (SMS & Mobile HTML) is comparatively much simpler than actual Mobile Banking, and should be implemented as standard core functionality first.
  • It will probably be significantly simpler to focus on accepting payments first. Loan disbursement introduces a number of operational challenges ranging from authentication/approval for disbursement at the MFI to liquidity of the agents that the MFI clients must interact with (i.e. is there enough cash on hand to convert $500 of "mobile phone money" to "real money").
  • Authentication and approval for loan disbursements is a process that will probably differ from MFI to MFI.
  • Error handling on Mifos-initiated transactions (i.e. disbursements). Will be a function of the interface with the M-banking platform. Mifos will need to track the status of the transactions (i.e. pending, successful, failed).
  • How can this functionality best be implemented in the 1.1 version of Mifos where there is no web-interface API? There is a significant chance that any work done now will be thrown away as the Mifos platform changes.

See Also