New Group Loan Functional Specification

New Group Loan Functional Specification

New Group Loan approach

 

Release

Unreleased

Current Owners:

 

Status:

Draft

Contents:

Introduction

In previous version of Mifos, it was possible to create group loan with monitoring of every member (GLIM on) and also to create group loan without specifying members (GLIM off). Individual member accounts were only for information purposes, so they had only little connection to group account (e.g. after closing client, he was still visible on the Group account). There was also no possibility to repay individual member account because there was no access to those accounts and as a result, payments could be only applied to the whole group loan account. So, in general, there was a Group loan account and individual member accounts only for information purposes.

In new Group Loan there will be a new approach of Group Loan account. There will be individual member accounts and Group loan account only for information purposes. During the Group loan creation, also individual accounts will be created for every member of group loan. Group loan account will be a sum of member's accounts. It would be possible to access every individual member loan account, so that there will be a possibility to repay every individual account or close it, and information about that will be immediately visible on Group loan account. While applying payment to the entire Group loan, amount will be divided automatically into Group Loan account members but there will be also possible to modify exact payment amount of every member. This new approach will be more flexible and will meet more client requirements.

Goals

  • Old Loan Product should accept new Group Loans for Groups

  • Possibility to create Group Loan account with individual member loan accounts

  • Ability to apply payment to Group Loan and also to individual member loan accounts

  • Possibility to apply payment to entire Group loan with automatic amount deduction and option to manually edit payment amount for every individual member

  • Possibility to apply payment only to individual member loan account

  • Possibility to repay new Group Loan by trasfer from Savings

  • Possibility to access individual member loan account from Client details page

  • Possibility to adjust transactions on Group loan account with option to manually correct amount for every individual member

  • Possibility to adjust transactions made on individual account

  • Possibility to apply fees/penalties to group account with automatic amount deduction (according to contribution of every member) and option to manually edit charge amount for every individual member

  • Possibility to apply fees/penalties to individual member loan account

  • Possibility to apply full repay to individual member loan account and also to group loan account

  • Amounts on group account are sum of amounts on member accounts

  • No possibility to modify loan account parameters from member accounts

  • Possibility to redo Loan with new Group Loan approach

  • Possibility to reverse new Group Loan

  • Possibility to repay new Group Loan by using Audi Bank Plugin

  • Possibility to approve new Group Loan by using 'Approve multiple loans' functionality

  • Possibility to attach Question Groups to new Group Loan

  • Possibility to close individual member Loan account and also the whole new Group Loan

  • Information about transactions on Group and individual accounts should be recorded in the database.

Non-Goals

The following items will not be addressed in this release:

  • Possibility to repay new Group Loan by using MPESA plugin

  • Compatibility with Mifos Android Client

Related Documents

Epic issue: https://mifosforge.jira.com/browse/MIFOS-5628

User Stories

List high level user stories - these can be broken down later into small user stories / user tasks if needed

Priority

User Stories

Section in FR

Priority

User Stories

Section in FR

1

As a user, I want to be able to create Group loan account, so that every member of group loan will have his own individual account

2.1

2

As a user, I want to be able to create product for Groups

1.1

3

As a user, I want to be able to have access to individual member accounts from Client details page

2.3

4

As a user, I want to be able to make payments to entire new Group Loan

3.1, 3.2, 3.3

5

As a user, I want to be able to specify exact payment amount for every member while applying payment to group account

3.1, 3.2, 3.3

6

As a user, I want to be able to make transactions to particular individual member loan account

3.4, 3.5, 3.6

7

As a user, I want to be able to repay Loan transfer from Savings account

3

8

As a user, I want to be able to repay Loan by using Audi Bank plugin

7.1

9

As a user, I want to be able to apply fees/penalties to the whole new Group Loan and have possibility to modify fees/penalties amount for every member of the Loan

5.1

10

As a user, I want to be able to apply fees/penalties to individual member Loan account

5.2

11

As a user, I want to be able to apply adjustment to the whole new Group Loan and have possibility to modify adjustment amount for every member of the Loan

4.1

12

As a user, I want to be able to apply adjustment to individual member Loan account

4.2

13

As a user, I want to be able to apply full repayment to whole new Group Loan

3.7

14

As a user, I want to be able to apply full repayment to individual member Loan account

3.8

15

As a user, I want to be able to repay Loan/fees/penalties by using Collection Sheet Entry

8.1

16

As a user, I want to be able to modify loan parameters only on group loan account

2.4

17

As a user, I want to be able to approve new Group Loan by using 'Approve multiple loans' functionality

10.1

18

As a user, I want to be able to redo new Group Loan

9.1

19

As a user, I want to be able to reverse new Group Loan

9.2

20

As a user, I want to be able to attach a Question Group to new Group Loan

11.1, 11.2, 11.3

21

As a user, I want to be able to close loan of individual member and see updated information on group loan account

6.1, 6.2

1. Use Cases - Loan products

1.1 User can create Loan products for new Group Loan

Actors

  • User with permission 'Can define new loan product instance'

Preconditions

  • Loan product for new Group Loan has the same options as for old GLIM Loan

Basic Flow

  1. Open 'Admin' tab

  2. Click on 'Define New Loan Product'

  3. Select type of product: "Group"

  4. Enter all necessary product details

  5. Click on 'Save' button

Post-condition

  • Product can be selected during new Group Loan account creation

Validations

  • Standard validation for every field during the product creation

2. Use Cases - New Group Loan account creation

2.1 User can create new Group Loan account by using previously created product 

Actors

  • User with permissions: "Can create new loan account in Save for later state" and/or "Can create new loan account in Submit for approval state"

Preconditions

  • New Group configuration option is enabled

  • Loan product for new Group Loan was previously created

Basic Flow

  1. From 'Group details' page, user clicks 'Loan' (new Group Loan flow is loaded by default)

  2. User selects previously created product

  3. Page with loan parameters is displayed and also user can select members of group loan from the list (list contains only clients who are members of this group)

  4. User can enter amount of every member. Total group loan amount is a sum of amounts from every member

  5. Loan schedule is displayed

  6. User click 'Submit'.

Post-condition

  • New Group loan account is created along with individual accounts for every selected member of Group. 

Validations

  • Individual accounts are created only for members selected during loan creation, not for all members of the Group.

  • If Loan product was not previously created, at 2. there is a validation message that no products are available.

Alternative flow

  • At.1 click on 'Create Group Loan Account' link in 'Home' tab or 'Clients & Accounts' tab (new Group Loan flow is loaded by default)

  • Select any Group with at least 2 clients (only Groups can be selected)

  • Continue steps from at.2 to at.6

2.2 User can display new Group Loan details

Actors

  • User with permissions: "Can create new loan account in Save for later state" and/or "Can create new loan account in Submit for approval state"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. From 'Group details' page, user clicks link with Loan name in 'Account information' section

  2. New Group Loan details page is displayed with table which contains details of every member's Loan account

  3. User has possibility to view schedules of every member of group Loan account by clicking on 'show' link in 'Individual schedule' column

  4. User has access to individual account of every member of group Loan account by clicking on 'show' link in 'Individual account' column

Post-condition

  • Group loan details page has the same options as old Group account but also has 'Individual account' column in the table with link to view individual account for every group loan member.

  • 'Individual account' column is displayed in the table only after Loan has been disbursed.

  • New Group Loan account is present in Search results while searching for Group

2.3 User can display individual member loan account details

Actors

  • User with permissions: "Can create new loan account in Save for later state" and/or "Can create new loan account in Submit for approval state"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. There is a new section on Client details page: "Group Loan".

  2. User can display individual member loan account details by clicking on Group loan account name.

  3. Individual member loan account details page has almost the same functionalities as normal Client account but without possibility to Edit account information and Edit account status

Post-condition

  • Individual member loan account details page has almost the same options as Client loan details page but 'Edit account information' and 'Edit account status' links are not available

  • New GLIM Loan account is present in Search results while searching for Client

  • It is possible to access account from Group Loan account details page by clicking on on 'show' link in 'Individual account' column in Group table

2.4 User can modify parameters of Group Loan account

Actors

  • User with permission: "Can edit Loan account information"

Preconditions

  • New GLIM Loan account was previously created

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Edit account information' button

  3. User has possibility to modify all loan parameters (when Loan is in Partial Application/Pending Approval state)

  4. User clicks 'Submit' button to submit changes

Post-condition

  • Group Loan account can be modified only from Group details page

  • Group Loan account parameters cannot be modified from individual member account

3. Use Cases - Payments

3.1 User can apply payment (with amount equal to installment amount) to entire Group Loan account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Apply payment' button

  3. User enters total payment amount

  4. Amount is automatically deducted according to contribution of every member in Group Loan account

  5. On the same step, user has possibility to edit payment amount for every member

  6. User clicks 'Submit' button

Post-condition

  • Payment is applied to every member loan account and also payment is applied on Group loan account.

  • It is possible to apply payment by transfering funds from Savings Account

3.2 User can apply payment (with amount greater than installment amount) to entire Group Loan account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Apply payment' button

  3. Amount is automatically deducted according to contribution of every member in Group Loan account

  4. In the same step, user has possibility to edit payment amount for every member

  5. User clicks 'Submit' button

Post-condition

  • First the whole installment amount is repaid on individual member accounts and also on Group loan account. After that overpayment amount is applied to the next installment on individual member accounts and also overpayment amount is applied on Group loan account.

  • Amount of interest for next installment is recalculated according to the decreased principal amount.

  • It is possible to apply payment by transfering funds from Savings Account

3.3 User can apply payment (with amount partial installment amount) to entire Group Loan account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Apply payment' button 

  3. Amount is automatically deducted according to contribution of every member in Group Loan account 

  4. In the same step, user has possibility to edit payment amount for every member

  5. User clicks 'Submit' button

Post-condition

  • Partial amount is applied to the current installment on Group Loan account and also on individual member accounts.

  • Amount of interest is recalculated since installment has not been fully repaid.

  • It is possible to apply payment by transfering funds from Savings Account

3.4 User can apply payment (with amount equal to installment amount) to individual member account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. User opens individual member account details page

  2. User clicks on 'Apply payment' button

  3. User has possibility to specify payment amount

  4. User clicks 'Submit' button

Post-condition

  • Payment is applied to individual member loan account and information about payment is automatically updated on Group Loan account. Amount of installment to be repaid on Group Loan schedule is decreased with amount equal to this paid on individual member account. Amount which has already been repaid should be displayed in 'Amount Paid' column.

  • It is possible to apply payment by transfering funds from Savings Account

3.5 User can apply payment (with amount greater than installment amount) to individual member account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • Group Loan account was previously created

Basic Flow

  1. User opens individual member account details page

  2. User clicks on 'Apply payment' button

  3. User enters overpayment amount

  4. User clicks 'Submit' button

Post-condition

  • First the whole installment is repaid on individual member account. After that overpayment amount is applied to the next installment on individual member account.

  • Amount of installment to be repaid on Group Loan schedule is decreased with amount equal to this paid on individual member account. Amount which has already been repaid should be displayed in 'Amount Paid' column.

  • Overpayment amount is applied to the next installment on Group Loan account with amount equal to overpayment amount on individual member account.

  • Amount of interest for next installment is recalculated according to the decreased principal amount.

  • It is possible to apply payment by transfering funds from Savings Account

3.6 User can apply payment (with partial installment amount) to individual member account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • Group Loan account was previously created

Basic Flow

  1. User opens individual member account details page

  2. User clicks on 'Apply payment' button

  3. User enters partial payment amount

  4. User clicks 'Submit' button

Post-condition

  • Partial amount is applied to the current installment on individual member account.

  • Amount of interest is recalculated since installment has not been fully repaid.

  • Amount of installment to be repaid on Group Loan schedule is decreased with amount equal to this paid on individual member account. Amount which has already been repaid should be displayed in 'Amount Paid' column.

  • Amount of interest on Group Loan schedule is recalculated since installment has not been not fully repaid.

  • It is possible to apply payment by transfering funds from Savings Account

3.7 User can apply full repayment to entire Group Loan account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • Group Loan account was previously created

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Repay Loan' button

  3. User enters total repayment amount

  4. User clicks 'Submit' button

Post-condition

  • Group Loan account is closed with 'Closed - obigation met' status and also every individual member loan account is closed with 'Closed - obigation met' status.

  • It is possible to apply full repayment by transfering funds from Savings Account

3.8 User can apply full repayment to individual member account

Actors

  • User with permission: "Can make payment to the account"

Preconditions

  • New Group Loan account was previously created

Basic Flow

  1. User opens individual member account details page

  2. User clicks on 'Repay Loan' button

  3. User has possibility to specify payment amount

  4. User clicks 'Submit' button

Post-condition

  • Full Repayment is applied to individual member loan account and information about this payment is automatically updated on Group Loan account. Amount of installment to be repaid on Group Loan schedule is decreased with amount equal to this paid on individual member account. Amount which has already been repaid should be displayed in 'Amount Paid' column.

  • It is possible to apply full repayment by transfering funds from Savings Account

4. Use Cases - Adjustments

4.1 User can apply adjustment to entire Group Loan account

Actors

  • User with permission: "Can make adjustment entry to the account"

Preconditions

  • Group Loan account was previously created

  • Payment was previously applied to entire Group Loan account

Basic Flow

  1. User opens Group Loan account details page

  2. User clicks on 'Apply adjustment' button next to the transaction

  3. User has possibility to automatically modify/revert transaction made to of every individual member 

  4. User clicks 'Submit' button

Post-condition

  • Transaction is adjusted on all individual member loan accounts and also is automatically adjusted on Group Loan account.

  • Transaction applied only on individual member account cannot be adjusted from Group Loan account

4.2 User can apply adjustment to individual member loan account

Actors