- Provide support in Apache Fineract CN for group-based financial inclusion methodologies including but not limited to Grameen-Style joint liability groups or solidarity groups, self-help groups, village banking, savings groups, etc.
Background and strategic fit
A cornerstone of most financial inclusion providers and the legacy and heritage of the original Mifos software which evolved into Apache Fineract is joint liability group lending. The original Mifos 2.x (Generation 1 software) was an MIS purpose-built for Grameen-style Joint Liability Group Lending. While Mifos X/Apache Fineract (Generation 2) was built with greater flexibility and support for individual lending but still deeply catered to group and center-based operations.
- This specification document will need to be broken out into different specifications for each methodology
- This specification should encompass the organizational, product, calendar, and accounting settings common across different group-based lending and savings methodologies
- Aim to utilize the existing knowledge and learnings from previous two generations of software in the design and architecture of this support
- Aim to utilize design and user experience/workflows from previous Mifos X UI
User interaction and design
See the current Mifos X UI on top of Apache Fineract at https://demo.openmf.org (mifos/password) which was loosely based on the web mockups at https://mifosforge.jira.com/wiki/spaces/MIFOSX/pages/34111558/Usability+and+Design. This UI was built in 2013 and then reskinned in 2016 and since has had ongoing improvements. Various other UIs have been developed by partners which can also serve as examples - such system include Musoni System, FINEM, Ez Bank, Finable, Finflux, etc.
Below is a list of questions to be addressed as a result of this requirements document:
These are previous specs, requirements, API docs, user manuals so as not to forgot the great body of knowledge we're working from:
Generation 1 - Mifos 2.x
- Group Accounts FS: http://mifosx.openmf.org/Mifos%20website/mifos.org/functional-specifications/account-management/group-accounts.html or https://mifosforge.jira.com/wiki/spaces/MIFOS/pages/73466196/Group+Accounts
- Center Accounts FS: http://mifosx.openmf.org/Mifos%20website/mifos.org/functional-specifications/account-management/center-accounts.html
- GLIM: https://mifosforge.jira.com/wiki/spaces/MIFOS/pages/4456859/GLIM+Functional+Specification and https://mifosforge.jira.com/wiki/spaces/MIFOS/pages/4456866/Group+loan+with+individual+monitoring
- Loans: https://mifosforge.jira.com/wiki/spaces/MIFOS/pages/7700948/Loans
Generation 2 - Mifos X
- Groups API: https://demo.openmf.org/api-docs/apiLive.htm#groups
- Groups & Centers User Manual: https://mifosforge.jira.com/wiki/spaces/docs/pages/52035634/Clients+Groups+and+Centers
- Loan Tracking Strategies: https://mifosforge.jira.com/wiki/spaces/MIFOSX/pages/31358990/Loan+Tracking+strategies
- Group Loan FS (early-stage): https://mifosforge.jira.com/wiki/spaces/MIFOS/pages/28213252/New+Group+Loan+Functional+Specification and https://mifosforge.jira.com/wiki/spaces/MIFOSX/pages/25821209/Group+Lending+MifosX+FS
- Self-Funded Groups: https://mifosforge.jira.com/wiki/spaces/MIFOSX/pages/113017056/Self-Funded+Groups+SHGs+Savings+Groups+VSLAs
Here is the database design for Group Saving Products. I was able to model this database with some ideas gotten from the deposit-account management micro-service and Fineract 1.x
Database Design for Group loans