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

  1. User Logs into Mifos using the administrator privileges
  2. User navigates to admin-> Manage roles and Permissions ->New Role
  3. 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

  1. User Logs into mifos using the administrator privileges
  2. User navigates to admin-> Manage roles and Permissions -> Approver Role(say)
  3. 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

  1. User Logs into Mifos using the login credentials provided
  2. User navigates to "Clients and Accounts" Page and searches for a loan in "Application Pending Approval" status
  3. Click on the "Edit account Status" link
  4. 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

  1. User Logs into mifos using the user login credentials
  2. User navigates to "Clients and Accounts" Page and searches for a loan in "Application Pending Approval" status
  3. Click on the "Edit account Status" link
  4. 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

  • ...