New Group Loan Functional Specification
New Group Loan approach
Release | Unreleased |
Current Owners: |
|
Status: | Draft |
Contents:
- 1 New Group Loan approach
- 2 Introduction
- 3 User Stories
- 4 1. Use Cases - Loan products
- 5 2. Use Cases - New Group Loan account creation
- 6 3. Use Cases - Payments
- 7 4. Use Cases - Adjustments
- 8 5. Use Cases - Charges (fees/penalties)
- 9 6. Use Cases - Close Group loan account
- 10 7. Use Cases - Apply bulk payments to new Group Loan by using Audi Bank Plugin
- 11 8. Use Cases - Apply transactions to new Group Loan by using Collection Sheet Data Entry
- 12 9. Use Cases - Redo & Reverse of new Group Loan
- 13 10. Use Cases - Approve multiple new Group Loans
- 14 11. Use Cases - Question Groups
- 15 Standard Considerations
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 |
|---|---|---|
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
Open 'Admin' tab
Click on 'Define New Loan Product'
Select type of product: "Group"
Enter all necessary product details
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
From 'Group details' page, user clicks 'Loan' (new Group Loan flow is loaded by default)
User selects previously created product
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)
User can enter amount of every member. Total group loan amount is a sum of amounts from every member
Loan schedule is displayed
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
From 'Group details' page, user clicks link with Loan name in 'Account information' section
New Group Loan details page is displayed with table which contains details of every member's Loan account
User has possibility to view schedules of every member of group Loan account by clicking on 'show' link in 'Individual schedule' column
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
There is a new section on Client details page: "Group Loan".
User can display individual member loan account details by clicking on Group loan account name.
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
User opens Group Loan account details page
User clicks on 'Edit account information' button
User has possibility to modify all loan parameters (when Loan is in Partial Application/Pending Approval state)
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
User opens Group Loan account details page
User clicks on 'Apply payment' button
User enters total payment amount
Amount is automatically deducted according to contribution of every member in Group Loan account
On the same step, user has possibility to edit payment amount for every member
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
User opens Group Loan account details page
User clicks on 'Apply payment' button
Amount is automatically deducted according to contribution of every member in Group Loan account
In the same step, user has possibility to edit payment amount for every member
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
User opens Group Loan account details page
User clicks on 'Apply payment' button
Amount is automatically deducted according to contribution of every member in Group Loan account
In the same step, user has possibility to edit payment amount for every member
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
User opens individual member account details page
User clicks on 'Apply payment' button
User has possibility to specify payment amount
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
User opens individual member account details page
User clicks on 'Apply payment' button
User enters overpayment amount
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
User opens individual member account details page
User clicks on 'Apply payment' button
User enters partial payment amount
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
User opens Group Loan account details page
User clicks on 'Repay Loan' button
User enters total repayment amount
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
User opens individual member account details page
User clicks on 'Repay Loan' button
User has possibility to specify payment amount
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
User opens Group Loan account details page
User clicks on 'Apply adjustment' button next to the transaction
User has possibility to automatically modify/revert transaction made to of every individual member
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