Approve loan amounts by different loan amount ranges
Release |
2.3.x |
Current Owners: |
Chetan Bekkinkeri/Enda |
Status (Draft, In Review, Stable / Approved): |
Draft |
Contents:
Introduction
The Mifos loan management feature requires that the users have the appropriate roles and permissions to create and approve loans. Currently if an user has a role with the permission to approve a loan, the user is allowed to approve any loans in the system. However there is a need in Mifos to allow loan approvals by loan amount ranges. i.e loan amounts in a specific range should be approved only by the person who has the permission to approve loans with that amounts. For example, loans in range 0 to $1000, may be approved by the user with loan officer role, loans with range $1000 to $5000 will be approved by users with supervisor role, and loans with loan amount greater than $5000 by the users with branch manager role.
Goals
List Goals of feature
- Allow Mifos to configure maximum loan amount while creating a custom role in the admin section
- Allow approval of loans based on the amount by modifying the loan approval workflow.
Non-Goals
The following items will not be addressed in this release:
- Change the loan workflow to accommodate any other variations in the roles & permissions for users ( For example, loan products)
Definitions and Terminology
Term |
Definitions |
---|---|
User |
User of system |
- Mandatory fields will be preceded by "*" (an asterisk)
- Links are italicized
- Buttons are Button
Related Documents
*insert links to related specs here
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 |
---|---|---|
PR1 |
As a Mifos administrator, I want to be able to assign maximum loan amount value to the loan approval permission while creating or editing user roles so that users are allowed/disallowed to approve a loan accordingly |
FR#1 |
PR2 |
As a Mifos user, I want to be able to approve loans so that the loan approval is allowed based on loan amount based permission |
FR#2 |
Use Cases
1.Ability to specify maximum loan approval amount value during new role creation
Actors
- User with admin role assigned
Preconditions
- User with administrator role & permission is logged into Mifos.
Basic Flow
- User Logs into Mifos using the administrator privileges
- User navigates to admin-> Manage roles and Permissions ->New Role
- User assigns the "Can change state to Approved" permission to the role by clicking the checkbox
Post-conditions
   1. User is provided an option to enter the maximum loan amount that the role is allowed to approve.
Alternative Flows
Validations
2.Ability to specify maximum loan approval amount value while editing roles
Actors
- User with admin role assigned
Preconditions
- User with administrator role & permission is logged into Mifos.
- The Approver role( say) has already been created
Basic Flow
- User Logs into mifos using the administrator privileges
- User navigates to admin-> Manage roles and Permissions -> Approver Role(say)
- User navigates to the "Can change state to Approved" permission
Post-conditions
   1. User is provided an option to enter the maximum loan amount that the role is allowed to approve.
Alternative Flows
Validations
3. Loan approval based on the approval amounts assigned to the role
Actors
- User with roles & permissions to approve loans in Mifos
Preconditions
- The role with loan approval permission has specified the maximum amount which can be approved by user with the assigned roles.
Basic Flow
- User Logs into Mifos using the login credentials provided
- User navigates to "Clients and Accounts" Page and searches for a loan in "Application Pending Approval" status
- Click on the "Edit account Status" link
- Select the approve radio button and enter comments - >Click on Preview
Post-conditions
   1. If the loan amount is less than the loan amount approval limit specified in the user's role, the submit button should be visible and clicking on submit should take the loan to approved status.
  2. If the loan amount is more than the loan amount approval limit specified in the user's role, an error message " User does not have permission to approve loans of this value" should be specified.
Alternative Flows
1. User log into Mifos using the user login credentials
2. User navigates through Branch->Loan Officer->center->Group-.>Client->loan
3. Clicks on the "Edit account status" link
4. Select the radio button and enter comments - >Click on Preview
Validations
4.Ability to approve loans when no loan approval limits is defined for the role
Actors
- User with roles & permissions to approve loans in Mifos
Preconditions
- The role with loan approval permission does not have any loan approval amounts specified.
Basic Flow
- User Logs into mifos using the user login credentials
- User navigates to "Clients and Accounts" Page and searches for a loan in "Application Pending Approval" status
- Click on the "Edit account Status" link
- Select the approve radio button and enter comments - >Click on Preview
Post-conditions
   1. The loan should be approved as it is currently being done in Mifos.
Alternative Flows
   1. User log into Mifos using the user login credentials
   2. User navigates through Branch->Loan Officer->center->Group-.>Client->loan
   3. Clicks on the "Edit account status" link
   4. Select the radio button and enter comments - >Click on Preview
Validations
Functional Requirements
1.Roles and Permissions Administration
FR# |
Description |
Comments/Mockups |
---|---|---|
1.1 |
Admin Screen will need to have the ability to specify the maximum loan amount a particular role is allowed to approve |
Under the loan management -> "Can change state to Approved", a new hierarchy with label "maximum loan approval amount" needs to be defined |
1.2 |
The maximum loan amount approval should be an optional field. |
Not defining that amount implies that the user with the role should be allowed to approve all loans |
2.Loan Approval Workflow
FR# |
Description |
Comments/Mockups |
---|---|---|
2.1 |
A error message "User does not have permission to approve loans of this value" should be displayed on the loan approval screen |
When user does not have the permission to approve a loan , an appropriate error message should be displayed on the loan approval "preview" screen |
Standard Considerations
Security
Security (Permissions, Roles, and Data Scope) |
Yes/No |
Comments |
---|---|---|
Does the user need to be in a particular user hierarchy to use this feature? |
Yes |
Only administrators should be allowed to define the maximum loan approval amount |
Does the office hierarchy affect use of this feature? |
No |
 |
Are you using any existing permissions to control this feature? |
Yes |
the loan approval permission |
Are you adding any new permissions or changing existing permission to control this feature? |
Yes |
The "maximum loan amount approval" permission is being added |
Are you using any existing activities to control this feature? |
No |
 |
Are you adding any new activities or changing existing activities to control this feature? |
No |
 |
Are there any special considerations for upgrade scenarios? What will be the default value for new permissions? |
Yes |
default value will be null implying no limit on approval |
What will be the default values for default roles in a new installation? |
 |
 |
Impacts to System
Impacts to System |
Yes/No |
Comments |
---|---|---|
Does this feature affect Bulk Loan Creation? How? |
No |
 |
Does this feature affect Collection Sheet Entry? How? |
No |
 |
Does this feature affect Redo Loans? |
No |
 |
Does this feature affect Reverse Loans? |
No |
 |
Is this feature affected by Holidays? |
No |
 |
Globalization/Localization
Globalization/Localization |
Yes/No |
Comments |
---|---|---|
Will this feature support users localizing data that they enter? |
N/A |
 |
Does this feature involve any date/time related data, and if so how should conversions be handled? |
No |
 |
Is there currency or other numeric data ? If so does it require any special handling or validation? Is there a need for multi-currency? (Loan Accounts) |
No |
 |
Logging
Change Log
Change Log |
Yes/No |
Comments |
---|---|---|
Do changes to the data that is collected or stored by the new feature have to be fully logged by the system? |
No |
 |
Does the administrator configuring the system need the ability to turn on or off logging for this feature? |
No |
 |
Is the feature currently logged but the structure of the logged records changing? |
No |
 |
Reporting
Provide any relevant information about reporting requirements for the new features and answer the questions below, providing detail to explain any particular area when necessary.
Reporting |
Yes/No |
Comments |
---|---|---|
Does the feature affect any existing reports? |
No |
 |
Does the feature require adding any new reports? |
No |
 |
Performance
Performance |
Yes/No |
Comments |
---|---|---|
Will the feature be a high use-case scenario? |
No |
 |
Will the feature have potential for high concurrency? |
No |
 |
Does the feature include complex UI or data gathering logic that will be used by a significant portion of the user base? |
No |
 |
Does the feature contain risks of database connection timeout? |
No |
 |
Will the feature contain any bulk insert/update/delete transactions? |
No |
 |
Will the feature contain any caching mechanisms or cache refreshing mechanisms? |
No |
 |
Could the feature result in a large amount of data being sent to the client or between the database and web server? |
No |
 |
Would users on a low bandwidth connection likely face issues with a part of this feature? |
No |
 |
Does the feature affect existing batch jobs or require adding any new batch jobs? |
No |
 |
Setup and Installation
New Installations
New Installations |
Yes/No |
Comments |
---|---|---|
Does this feature require both Mifos Business Intelligence Suite and Mifos Product? |
No |
 |
Does this feature require special work for hosting? (sys admin) |
No |
 |
Backward Compatibility and Upgrades
Backward Compatibility and Upgrades |
Yes/No |
Comments |
---|---|---|
Is there any data conversion that needs to be done as part of an upgrade? |
No |
 |
Will customers lose data or will the way existing data is stored change significantly? |
No |
 |
Will another feature, workflow or portion of the data model be deprecated as a result of this new feature? |
No |
 |
Will existing role permissions be changed or impacted by this feature? If so provide details in the security section. |
No |
 |
Will existing customers need to learn a new UI process or change the way they use the system as a result of this new feature? |
No |
 |
Hosting Support
Hosting Support |
Yes/No |
Comments |
---|---|---|
If different user groups are using the same database, are there concerns over the sharing of data related to the feature? |
No |
 |
Are there expected to be performance related issues with having many customers sharing the same hardware in support of this feature? |
No |
 |
Configuration
Configuration |
Yes/No |
Comments |
---|---|---|
Does this feature require changes to configuration files? |
No |
 |
If so, is this feature enabled or disabled by default? |
 |
 |
Are existing configuration properties used to control this feature? If yes, which ones? |
No |
 |
Are new configuration properties added for this feature? |
 |
 |
Open Issues
- ...
Reviews and Approvals
- ...