You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fineract.apache.org by Thynn Win <th...@thitsaworks.com> on 2017/07/03 03:55:55 UTC

[Mifos-developer] Fiscal year beginning in April and compound interest calculation(FINERACT-491)

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.
[cid:image001.png@01D2F386.52DBF600]


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

File: PostingPeriod.java
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.

[cid:image002.jpg@01D2F386.52DBF600]

[cid:image003.jpg@01D2F386.52DBF600]





RE: [Mifos-developer] Fiscal year beginning in April and compound interest calculation(FINERACT-491)

Posted by Thynn Win <th...@thitsaworks.com>.
Thank you for making it a p1.


From: Santosh Math [mailto:santosh@confluxtechnologies.com]
Sent: Tuesday, 4 July, 2017 01:29
To: Thynn Win <th...@thitsaworks.com>
Cc: dev (dev@fineract.incubator.apache.org) <de...@fineract.incubator.apache.org>; (mifos-developer@lists.sourceforge.net) <mi...@lists.sourceforge.net>; dev@fineract.apache.org; Ed Cable <ed...@mifos.org>; ConfluxNazeer Shaik <na...@confluxtechnologies.com>
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?

Thanks
Santosh





On Mon, Jul 3, 2017 at 9:25 AM, Thynn Win <th...@thitsaworks.com>> wrote:
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.
[cid:image001.png@01D2F386.52DBF600]


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

File: PostingPeriod.java
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.

[cid:image002.jpg@01D2F386.52DBF600]

[cid:image003.jpg@01D2F386.52DBF600]








Re: [Mifos-developer] Fiscal year beginning in April and compound interest calculation(FINERACT-491)

Posted by Santosh Math <sa...@confluxtechnologies.com>.
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?

Thanks
Santosh





On Mon, Jul 3, 2017 at 9:25 AM, Thynn Win <th...@thitsaworks.com> wrote:

> 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.
> [cid:image001.png@01D2F386.52DBF600]
>
>
> When digging through the code, even though Fiscal month is passed around
> in the interest calculation, it wasn't used when determining compounding
> periods.
>
> File: PostingPeriod.java
> 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.
>
> [cid:image002.jpg@01D2F386.52DBF600]
>
> [cid:image003.jpg@01D2F386.52DBF600]
>
>
>
>
>