fineract-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thynn Win <>
Subject RE: [Mifos-developer] Fiscal year beginning in April and compound interest calculation(FINERACT-491)
Date Tue, 04 Jul 2017 05:47:25 GMT
Thank you for making it a p1.

From: Santosh Math []
Sent: Tuesday, 4 July, 2017 01:29
To: Thynn Win <>
Cc: dev ( <>; (
<>;; Ed Cable <>;
ConfluxNazeer Shaik <>
Subject: Re: [Mifos-developer] Fiscal year beginning in April and compound interest calculation(FINERACT-491)

Hi Thynn,

You're absolutely right. It is considering year from 01 January to December 31 for interest
posting. Even I use 'Post Interest as on' 01 April 2017, the application is posting interest
on both December 31, 2016 as well as on 01 April 2017 because of which the interest earned
on April 1st is more, ie.. 118.81

There is one configuration  (System>> Configurations) "financial-year-beginning-month",
even if we set it as 4(April), it is posting interest on 01 April 2017 only but the interest
posted is still 118.81 in stead of 115.89. I suppose it's bug. Thanks for reporting.

@Nazeer, Will you look up the code part which Thynn has shared?


On Mon, Jul 3, 2017 at 9:25 AM, Thynn Win <<>>
Hi all,

We are observing that Mifos doesn't respect the fiscal month in calculating interest for savings.

For instance: we configured the fiscal year to start in April. The saving product is annual
interest with 15% and 365 days. Compounding is set to annual with daily balance.

If we make a saving deposit of $1000 on June 23, 2016 and trying to post on April 1 2017,
our expectation is that the interest will be $115.89 (1000*282*0.0004109589).
There are a total of 282 days with daily interest rate of 0.0004109589 (1/365*0.15).

In Mifos, we are getting $118.81 instead. What we learned is that there is a compounding happening
on Dec 31, 2016 even though it's not a fiscal year end.
From June 23 to Dec 31, there are 192 days and it's getting a new available balance on Jan
1. It's compounding from Jan 1, 2017.

When digging through the code, even though Fiscal month is passed around in the interest calculation,
it wasn't used when determining compounding periods.

Method: determineInterestPeriodEndDateFrom

case ANNUAL:
                periodEndDate = periodStartDate.monthOfYear().withMaximumValue(); //This is
causing to default the compound period to Dec as period start year is 2016.
                periodEndDate = periodEndDate.dayOfMonth().withMaximumValue();

 We are still trying to go through the logic and we'd greatly appreciate your help.

Thank you.



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message