MPESA Loan Disbursals Functional Spec

MPESA Loan Disbursals Functional Spec

MPESA Import Loan Disbursals and Loan Fees

Release

2.1

Current Owners:

Jacinta, Marie, Kay

Status:

Stable

Introduction

KEEF is planning to have mobile integration with M-PESA. They are using Mifos for their MIS platform. Mifos currently can import M-PESA loan payments and savings deposits into Mifos. To complete this integration, the ability to disburse loans will be added. This requires the following:

  1. Ability to extract pre-approved loans (phone number and net disbursement amount) from Mifos. This extract will be uploaded into the M-PESA system. Once uploaded, M-PESA will disburse the loans to the clients' M-PESA accounts via mobile.

    1. Ability to diburse net disbursal loan amount. The Mifos extract should include the net loan amount, which is defined us total loan amount less loan fees due at disbursement.

  2. Ability to import M-PESA disbursement transactions into Mifos.

    1. Ability to match the M-PESA disbursement records into Mifos approved loans and corresponding fees. In the given example, there will be 1 M-PESA transaction matching 2 transactions with Mifos: the Loan for 450,000 and the up-front loan fee of 3,000.  MPESA Disbursement transction of 47,000 will be equivalent to Mifos 2 transactions of 1) 50,000 disbursement and 3,000 loan fee.

User Stories

Priority

User Story

Section in FR

1

As a user (Data Encoder) at the HO, I want to be able to export Approved Loans into Excel file and import it into the M-PESA system.

 

1

As a user (Data Encoder) at the HO, I want to be able to import a file of disbursals from M-PESA into Mifos so that M-PESA loan disbursements are accurately recorded in Mifos.

 

1

As a user (Data Encoder, Accountant, Admin, Loan Officer) at either the BO or HO, I want to be able to see the loan disbursements with its corresponding fees properly recorded in Mifos.

 

 

1

As a user (Accountant) at the HO, I want to be able to reconcile transactions in the M-PESA system, Mifos, and Sage Pastel.

 

 

1

As a user (Data Encoder), I want to be able to see errors in export and import and be able to correct them.

 

Goals

  • Mifos should be able to produce an extract in CSV that contains Approved Net Loan amount and customer phone number. This extract will be used to upload loans into MPESA system for disbursal.

  • Ability to import file of disbursement transactions from MPESA into Mifos to disburse the earlier approved loans.

  • Ability to deduct loan fees from loan amount and generate net loan amount for export report

  • Properly account for all transactions read, ignored, errored, and imported during import.

Non-Goals

The following items will not be addressed in this version of the feature:

  • Ability to split loans into several transactions given the MPESA disbursal limit. The M-PESA limit has just been changed to KSH 140,000/day and KEEF disburses by checks for loan amount > KSH 50 000.

  • Ability to process Client Fees

  • Ability to process Loan Fees NOT due at the time of disbursement. This decision has been made with the reasoning that cashless transaction for other fees can be done by getting permission from client to withdraw funds from saving to pay for other fees. This addresses the issue that the client fees (usually around KSH 100) are to small too incure a money transfer fee (KSH 20) for the clients

  • Changes to the Mifos product to restrict which fees can be associated with which product

Definitions and Terminology

Term

Definitions

M-PESA

Safaricom's Mobile Money system

M-PESA System

MPESA Web-based system that KEEF uses to disburse loans and review payments received.

 

  • Mandatory fields will be preceded by *

  • Links are italicized

  • Buttons are Button |

Related Documents

[MPESA Loan Repayments and Savings Deposits Functional Spec v2|MIFOS:MPESA Loan Repayments plus Savings Deposits v2

Sample Disbursement CSV file (in Excel) (for Export)

Sample M-PESA transaction reports CSV (in Excel) (For Import)

Mifos Permissions and Mandatory Fields

Use Cases

Use Case - Account Clerk or Data Encoder tries to edit client's phone number.

Note that this is a necessity to avoid fraud. With M-PESA, money is disbursed to the clients' phone. Any user who has rights to disbuse loans through M-PESA should NOT have rights to modify a client's phone number. Otherwise, the person can disburse ALL loans to his/her personal account.  That user can VIEW the client phone number however.

Actors

  • Data Encoder

  • Account Clerk

Preconditions

  • Only Adminstrator has permission to edit client phone number.

  • Data Encoder and Account Clerk do not have permissions to edit client phone number.

Basic Flow

  1. Data Encoder or Account Clerk edits a client account.  They edit the phone number field, and try to submit. 

  2. Mifos displays an error message at the top that says "You do not have permission to edit the client's phone number."

Post Condition

  • Users are unable to edit the Phone Number.

Use Case - Administrator tries to edit client's phone number.

Actors

  • Administrator

Preconditions

Only Adminstrator has permission to edit client phone numbers

Basic Flow

  1. Administrator opens a client profile.

  2. Administrator edits the phone number.

  3. The Administrator saves the client profile.

Post Condition