Re: [Mifos-users] Mifos X/Fineract Fixed Product Customisation

Airsay,

Thank you for sharing your feedback and expressing an interest to make these contributions back to the upstream codebase.

I have cc’d @Bharath Gowda who can help in pointing you to the right areas of the codebase as well as validating your functional gaps and the approach to addressing them.

Your code changes will involve modifications to both the back end, Apache Fineract, and the front-end Community App so please create tickets on the respective issue trackers with these feature requests so when you make corresponding pull requests you can reference the tickets that document the changes being proposed.

Fineract JIRA: https://issues.apache.org/jira/projects/FINERACT/summary

Github Issues for Community App: https://github.com/openMF/community-app/issues

Please follow the coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions to ensure you meet quality standards and can enable a smooth review of your pull request to get it merged in promptly.

I’m cc’ing the Fineract Dev list and our Discourse Forum for Mifos Development.

Ed

Hi Airsay,

Welcome to the Mifos Community, Please find the below inline responses and suggestions

  1. Interest Rate=Nominal Rate /12. That is interest rate is fixed monthly.
  • Interest rate chart of FD account is very flexible in configuration with n number of slabs based on time period and amount range,

however, the interest rate we define for all the slab is annual interest rate, which is internally further converted into interest per day(based on the days in year we select 365/360) and calculates interest based on the parameter of “interest calculated using” and “interest compounding period” fields.

Hence, either you pass the interest rate as monthly or yearly, the internal calculation remains the same, therefore instead of code change, I would suggest to use this field by entering the yearly interest rate only.

However, if you still favor customization, you can either do it on frontend or backend,

if you are familiar with Angular JS and HTML Language, you can refer the following files to understand the codebase of FD products and accounts

createfixeddepositproduct.html
editfixeddepositproduct.html
EditFixedDepositProductController.js
CreateFixedDepositProductController.js

fixeddepositproducts.html
editfixeddepositproduct.html
CreateFixedDepositAccountController.js
EditDepositAccountController.js

interestratecharts.html
InterestRateChartController.js

  1. Interest is posted on the same date of the month as the Date the Fixed Deposit Account was activated. If that date doesn’t exist in that month (say February 30) then interest is posted on the last day of that month.
  • This enhancement sounds practical and could be a value addition to the FD product,However codefix could not be easy as the first one, because the calculation is the heart of the product and you may have to think through and handle multiple scenarios in order to achieve this without breaking/changing the existing features.

These changes have to be done on the fineract side and you can start with the file “InterestRateChartsApiResource.java” through which you can navigate to the respective GET,POST and PUT platform services.

@Dev Requesting the Dev team to help out Airsay with more depth insight on these changes required, as i have little knowledge on this section with respect to coding.

  1. Fixed Deposit accounts should be able to accept Deposits and Withdrawals (like Savings accounts do). Deposits can only occur within 7 days of Interest Posting.
  • We would suggest to look around at our Recurring Deposit Product, in which you can allow clients to Deposit and withdraw in the term period.