Connecting clients to their financial data: integrating SMS communications in Mifos

November 27, 2012 - 10:24 -- Edward Cable
Revision #5ForkRecommend a Solution

Throughout the weekend, follow all the progress on this and other featured Mifos problems on our Mifos-RHoK HackPad.

Keep in touch in our chatroom at #mifos on IRC.

SMS Communications: Currently Mifos and the client and portfolio data it contains is only accessed by the staff of the MFI. However, the majority of clients served by MFIs own mobile phones. A simple yet powerful way for them to interact with the data in Mifos is via SMS. MFIs have requested the ability for both inbound and outbound SMS communication to send notifications to their clients and to enable clients to retrieve information about their accounts. When living on less than $2/day, this simple yet timely interaction with their financial accounts is extremely important.

Background on Microfinance and Mifos:

Pioneered by Muhammad Yunus, microfinance and access to financial services, while not a cure for poverty, has proven itself to be a powerful and essential tool to allow the poor to create a more dignified life for themselves and their families. Currently several thousand microfinance institutions work tirelessly across the world to provide financial services and other livelihood enablement to the poor. They reach somewhere just under 200 million individuals - yet more than 3 billion people still lack access to financial services.

This is where The Community for Open Source Microfinance and Mifos comes in. Mifos is the software powering an MFI. It is a web-based management information system (MIS) used to manage clients, process transactions, organize groups, and track loans and savings accounts. Field staff enter client and loan data into Mifos while management reviews the information generated in reports to make operational decisions, measure social and financial performance, and report back to funders. MFIs often operate in remote environments with intermittent power, no connectivity, and little support so Mifos has been built to be flexible and adaptable to these environments.

The current Mifos software is in use by more than 40 institutions serving a million clients.  However we've seen that it's not flexible and adaptable enough to these challenging conditions for microfinance - this past year, we have launched Mifos X, rewriting our software from scratch - making it a truly open platform that is API-driven and capable of sustaining the rapid evolution of financial services to the poor. Now we need to make it mobile - this is where you can help.

Two of our featured problems are centered around mobile processes on Mifos X - this one focuses on enabling SMS communications.

 

Example: 

Mifos is a back-office system used primarily by an MFI's staff to serve its clients. Outbound SMS communications will allow staff to send reminders to clients about upcoming meetings, payments that are due, or other details from their account.  Through this communication channel they can improve relationships with clients and manage loans in arrears.

Since Mifos is a back-office system that only staff uses, inbound SMS communications would provide a means for clients to interact with their account in Mifos. An MFI could set up an inbound number, clients could send in shortcodes to retrieve information about their account.

User Stories: 

MFIs have requested the ability for both inbound and outbound SMS communication. This weekend, we'll be focusing on outbound SMS by integrating through the Cloud API of an SMS service like Nexmo or Twilio - https://mifosforge.jira.com/browse/MIFOSX-119

Outbound SMS

For outbound notifications, MFIs would like to be able to send out meeting notifications, payment reminders, or other messages. Sending SMS receipts is another important use case that would increase security for both the client and MFI. We will first focus on the simplest use case of sending out an SMS message from the View Client Screen.

 

Inbound SMS

For inbound SMS, this would take the form of very basic mobile banking - clients should have the ability to send shortcodes and retrieve data from their account (i.e. text BAL to receive their balance or text DUE to see amount due). Authentication would be based on verifying the number from the incoming SMS with that of a valid mobile phone number on the client account.


See: https://mifosforge.jira.com/browse/MIFOS-5526 or https://mifosforge.jira.com/browse/MIFOS-552


Staff Notifications


Alerts and notices regarding client meetings, changes to accounts, staff reminders, etc. could also be sent to field staff. Upper level staff could also receive notifications when certain processes are conducted or exceptions are noted- i.e. repayment data submitted a payment is overdue, a disbursal falls within a certain range, etc.

 

 

Constraints: 

MFIs operating in both urban and rural regions, must deal with the challenges of poor infrastructure. At branch offices, power is sometimes limited and generators, UPS, car batteries, and more are a must. Data connectivity can be intermittent or non-existent but is quickly expanding with the growth of cellular networks. As a web-based software, these challenging conditions make accessibility via mobile devices all the more imperative.

MFIs are budget constrained.  This should integrate with a SMS gateway or service that is as cost-effective as possible.We should give MFIs the flexibility to easily link up with the most affordable gateway or provider in their region.

For inbound SMS communications, in most of the countries our MFIs operate in, it is difficult to set up inbound SMS numbers that work with the cloud API services like Nexmo or Twilio. In these cases integration with an open source SMS platform like FrontlineSMS might be the best option.

Extra Credit: 

FrontlineSMS is a leading open source SMS platform that is helping to promote social change across many NGOs.  Integration with FrontlineSMS would offer up a wide array of possible use cases including SMS forms, better management of contacs and more. See http://www.frontlinesms.com/ to learn more. 

Similar Projects and Resources: 

Getting Started with Mifos X



Needed Skillsets

Two categories of developers are sought after to tackle solutions on mifosx platform:

API & platform development skills:

On mifosx we have implemented our API and platform in the following way:

  • RESTful API through Jersey (http://jersey.java.net/)
  • RESTful API accepts requests and returns response in JSON only using google-gson to help with this.
  • Platform supports multi-tenant ability and secured through Spring Security
  • Platform uses Spring Framework heavily for IOC
  • Platform splits command and query side of requests in CQRS-like fashion
  • Platform uses Spring Data JPA heavily for DAO/Repository access and OO model side. Hibernate is the JPA implementation used.
  • Platform uses Spring-JDBC and SQL heavily for reading data from Relational database (MySQL)

Client application development skills:

On mifosx we have implemented a reference app built on top of the mifosx platform as follows

 

  • Web based application
  • Javascript + templating approach:
    • jQuery ajax to call and consume platform API
    • jsRender to bind returned data with templates for render on html page
    • jQuery UI for using common UI widgets such as tabs/calendar etc
  • CSS for styling

We are interested in:

  • Developers with experience in these web app related technologies for given devices
  • Developers with experience working cloud-based SMS services like Nexmo or Twilio

  • User Interface & Usability Experts.  

We are also interested in people who are experienced at managing/enabling ‘product development’



  • Product Managers
  •  
Next Steps and Sustainability: 

The Community for Open Source Microfinance and its Mifos project are partnering with SocialCoding4Good and HP to ensure the sustainability of this project beyond the global RHoK event. Several teams of volunteers at HP will continue contributing and in its role as a RHoK Sustainability Partner, SocialCoding4Good will steward this engagement.

SMS integration will be a core part of the Mifos platform tha gets maintained by our core committers and extended by our global community. This SMS integration will be used, tested, and adopted by our MFIs in their day to day operations. We will circlate feedback and new requirements to our local Mifos Specialists (third party implementation and support providers) and volunteers who will be the primary individual responding to these needs.

 

Qualitative Impact: 
Mobile applications help MFIs go the last mile by making Mifos more accessible and closer to where the client is. SMS allows staff to more frequently communicate important information to their clients. It gives the clients the security and piece of mind to know how much they have in their savings account or how much they owe on their loan - vitally important pieces of information when trying to live on low yet volatile income streams. Broader Reach: Availability in offline and low-connectivity situations enables broader reach by allowing data to be captured in outlying rural regions and synced back at the office. Greater Efficiency: Access to real-time data enables field officers to serve more clients, make better decisions and provide better service to their clients. Lower operational costs: Enabling back-office processes to happen directly in the field lowers fraud, increases data integrity, and reduces paperwork and overhead. Lower Risk for both MFI and the Client: Real-time transaction capturing and receipt generation increases transparency and reduces the likelihood of fraud or data entry error.
Quantitative Impact: 
Thousands of microfinance institutions are currently delivering financial services to millions of clients worldwide. However, more than 2.6 billion individuals still don’t have access to formal financial services. By equipping microfinance institutions with mobile applications and other tools that allow them to reach further into the remote areas with greater efficiency, we can significantly increase the scale of microfinance.
Problem Definition Category: