Question regarding extra installments with interest only components

2020-06-05 Thread Angel Cajas
Hello everyone,

I've got some questions regarding the field recalculatedInterestComponent that 
can be found on the m_loan_repayment_schedule table. As far as I can see this 
field it is marked as 1 for extra installments with interest only or penalty 
charges components that are created when a loan late and after its maturity 
date.

Anyone can confirm if these are the only cases where this field can be true? We 
need to do a report and want to avoid counting any extra installments that 
weren't created when a loan was disbursed.

Also, there is another question regarding interest only components for loans 
with interest recalculation enabled, the installments are being created only 
when there is a late payment after the loan maturity date, but that causes the 
amount given by the template in the prepay loan option to be incorrect. Also 
there are instances when the extra installment created by the calculate loan 
penalty charges is deleted when this process is called somewhere else.  I've 
made a change to avoid this behavior in one of our test environments but I just 
want to know why this should only be calculated when there are still no late 
payments? just to be sure I'm not making a mistake.

Thanks for your attention, any reponse would be valuable.

Regards, Angel


Behavior of extra installments for loan penalties charged after loan end date

2020-01-20 Thread Angel Cajas
Hi everyone.

For some time I've been making some test for loan accounts with penalty charges 
but didn't notice until recently the behavior I'm about to describe:

I create a loan with this parameters:
Principal amount: 6000
Loan term: 1
Number of repayments: 1
Repay every: month
Nominal interest: 20
Interest method: Declining balance
Amortization: Equal installments
Interest calculation period: Daily
Repayment strategy: default

Recalculate interest: enabled
Advance payment adjustment type: Reduce number of installments
Interest recalculation compounding on: None
Days in year: 360
Days in month: 30
Frequency for recalculate outstanding principal: same

Charges:
Overdue fee 50% of amount
Overdue fee 70% of interest

The essential part in this configuration is the penalty charges and interest 
recalculation enabled.

I disburse a new loan account on 05/December/2019 so the loan account is 
overdue. This is the original schedule

[cid:image003.jpg@01D5CF86.789C3C90]

Next, I run the job to Apply penalty to overdue loan and a new installment is 
created with the penalties amount.

[cid:image006.jpg@01D5CF86.789C3C90]

This extra installment is created exclusively by the penalties job. However 
there are some instances when it disappears, like after  I make a repayment

[cid:image009.jpg@01D5CF86.789C3C90]


[cid:image011.jpg@01D5CF86.789C3C90]

It also disappears when a transaction is undone and apparently when a scheduled 
job (which I haven't been able to identify) is run, when this happens the 
charges after end date are deactived and new ones need to be created when the 
Loan penalty job is run again.

This only happens to loan accounts with interest recalculation enabled as they 
are able of regenerate their schedule.

Is there an extra configuration not listed here that could help me avoid this 
behavior? If not, I'm trying to replicate the creation of the additional 
installment when the loan schedule is being generated.

Regards.









RE: Running IntegrationTest using different locale values

2019-06-25 Thread Angel Cajas
Hi Vishwas

Thanks for providing a detailed answer about this issue, now I know the reason 
why theintegration tests were failing on my machine.

Regards, Angel



From: Vishwas Babu 
Sent: sábado, 22 de junio de 2019 01:07
To: Dev 
Subject: Re: Running IntegrationTest using different locale values

Hi Angel,

>>Recently I’ve been running the integrationTest gradle task and noticed that 
>>some tests were failing for me, however it seems that they work perfectly for 
>>other people
This could be caused by

1) Integration tests fail when the default tenant has a different time-zone 
than the system(s) running the application and database servers - Additional 
details and suggested fixes at 
https://issues.apache.org/jira/browse/FINERACT-723
2) Integration test cases fail when run on the 1st of a month - 
https://issues.apache.org/jira/browse/FINERACT-722

To ensure Integration tests are stable on Travis, we hardcode the system 
timezone to Asia/Kolkata (which is the same timezone of the default tenant) and 
set the system date to the 23rd of Feb 2019.

Regards,
Vishwas

On Wed, Jun 19, 2019 at 11:22 AM Angel Cajas 
mailto:angel.ca...@bowpi.com>> wrote:
Hi developers,

Recently I’ve been running the integrationTest gradle task and noticed that 
some tests were failing for me, however it seems that they work perfectly for 
other people.

I noticed that most of those test failed because of the date format being used: 
“dd   “  and because there seems to be some locale differences between 
my computer and the ones being used in Fineract responses which causes some 
tests to fail. Adding a locale parameter to the some StringFormat objects 
helped me to reduce the number of test but that only make me question if are 
there some computer settings that I should have to run integration test these 
integration tests?

I would really appreciate you answers

Regards, Angel


Running IntegrationTest using different locale values

2019-06-19 Thread Angel Cajas
Hi developers,

Recently I've been running the integrationTest gradle task and noticed that 
some tests were failing for me, however it seems that they work perfectly for 
other people.

I noticed that most of those test failed because of the date format being used: 
"dd   "  and because there seems to be some locale differences between 
my computer and the ones being used in Fineract responses which causes some 
tests to fail. Adding a locale parameter to the some StringFormat objects 
helped me to reduce the number of test but that only make me question if are 
there some computer settings that I should have to run integration test these 
integration tests?

I would really appreciate you answers

Regards, Angel


Issue on early repayment of loans with interest recalculation enabled

2019-06-03 Thread Angel Cajas
Hi devs,

I'm doing some test with some products and I'm bringing this issue. I don't 
know if this is the right way it should work but for me I doesn't seem like it 
is.

When I make a repayment equal or greater than the installment amount before the 
last installment date, the principal amount for the installment is greater and 
It just seems like I still have some outstanding amount left to pay for the 
installment.

I'm attaching some pictures for you to see this issue.

This is my loan product configuration for interest recalculation
[cid:image004.jpg@01D519FA.B97775F0]



This is my original schedule, notice how I only have to pay 581.75 for the 
first installment,
[cid:image006.jpg@01D519FA.B97775F0]

I make a repayment of the total installment amount one day earlier than 
expected payment day
[cid:image008.jpg@01D519FA.B97775F0]

And lastly notice how even tough I already paid the total amount for the 
installment, I still continue to have some outstanding amount and this 
continues with every early repayment I make which causes my account to be in 
arrears unless I make the repayment on the expected payment date as I still 
have some outstanding amount from that installment.
[cid:image012.jpg@01D519FA.B97775F0]

I think this is wrong because  if I make an early repayment with an amount 
equal or greater than the payment amount I shouldn't have any outstanding 
amount left.

I will appreciate your feedback on if this is how early repayments are expected 
to work with interest recalculation enabled.

Thanks for your attention.

Regards, Angel


RE: Upgrade Apache Tomcat Version for Fineract

2019-05-28 Thread Angel Cajas
Hi again.

Continuing with this issue I described yesterday, apparently different versions 
of tomcat-embed libraries are packaged in the jar because of this line in the 
dev-dependencies file :

 providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")

The version isn’t provided for the spring-boot-starter-tomcat libraries so 
since it isn’t specified and it is using the same version from the 
spring-boot-gradle-plugin which hasn’t been upgraded and continues to be the 
1.1.6.RELEASE version.

Like I said before this may not be a major issue but this can be fixed either 
by specifying the spring-boot-starter-tomcat version in the dev dependencies or 
bumping the spring-boot-gradle-plugin version to 1.2.8. You tell If we should 
any of this changes it’s necessary.

Thank you all for your attention



From: Angel Cajas 
Sent: lunes, 27 de mayo de 2019 16:05
To: dev@fineract.apache.org
Subject: RE: Upgrade Apache Tomcat Version for Fineract

Hi,

I run the tomcatRunWar task and is running Ok.  Also I checked the generated 
files and the version packaged inside them it’s the right one 8.0.30 compatible 
with the current Spring version.

However when I run the build task with this command: -Penv=dev clean build dist

It seems that is packaging 8.0.3 and 7.0.55 versions of tomcat-embed libraries 
in the jar and war files as seen in this picture.

[cid:image001.png@01D51541.5303E780]

This only happens when the files are built with env parameter as dev. It may 
not be a big issue since apparently I’m the only one running the build task 
with this parameter. I will continue checking this issue and I’ll let you know 
if I find something else.

Thanks for your attention


From: Awasum Yannick mailto:awa...@apache.org>>
Sent: lunes, 27 de mayo de 2019 14:04
To: Dev mailto:dev@fineract.apache.org>>
Subject: Re: Upgrade Apache Tomcat Version for Fineract

Hi,

Does tomcatRunWar task not work with the current code base?

If this is the case, then create an issue, send a PR and we will review 
together.

Thanks

On Mon, May 27, 2019, 16:59 Angel Cajas 
mailto:angel.ca...@bowpi.com>> wrote:
Hello devs,

I’ve been testing some features recently and tried to deploy Fineract using the 
embedded Tomcat server that it’s used while building the project with dev 
environment. However the next error was thrown when I tried to start the app 
with embedded Tomcat server:

Caused by: java.lang.IllegalStateException: Expected method not found: 
java.lang .NoSuchMethodException

It seems that Spring and Spring Boot versions were upgraded some months ago and 
that change also required the upgrade of Tomcat from version 7.0.54 to version 
8.0.30 in the project dependencies.  I changed the version and it worked for 
me, however I would like to know your opinions and if this change and if this 
has also happened to you while trying to start Fineract with the embedded 
server.

Thanks for you attention

Regards, Angel.




RE: Upgrade Apache Tomcat Version for Fineract

2019-05-27 Thread Angel Cajas
Hi,

I run the tomcatRunWar task and is running Ok.  Also I checked the generated 
files and the version packaged inside them it’s the right one 8.0.30 compatible 
with the current Spring version.

However when I run the build task with this command: -Penv=dev clean build dist

It seems that is packaging 8.0.3 and 7.0.55 versions of tomcat-embed libraries 
in the jar and war files as seen in this picture.

[cid:image001.png@01D514A5.E4A11920]

This only happens when the files are built with env parameter as dev. It may 
not be a big issue since apparently I’m the only one running the build task 
with this parameter. I will continue checking this issue and I’ll let you know 
if I find something else.

Thanks for your attention


From: Awasum Yannick 
Sent: lunes, 27 de mayo de 2019 14:04
To: Dev 
Subject: Re: Upgrade Apache Tomcat Version for Fineract

Hi,

Does tomcatRunWar task not work with the current code base?

If this is the case, then create an issue, send a PR and we will review 
together.

Thanks

On Mon, May 27, 2019, 16:59 Angel Cajas 
mailto:angel.ca...@bowpi.com>> wrote:
Hello devs,

I’ve been testing some features recently and tried to deploy Fineract using the 
embedded Tomcat server that it’s used while building the project with dev 
environment. However the next error was thrown when I tried to start the app 
with embedded Tomcat server:

Caused by: java.lang.IllegalStateException: Expected method not found: 
java.lang .NoSuchMethodException

It seems that Spring and Spring Boot versions were upgraded some months ago and 
that change also required the upgrade of Tomcat from version 7.0.54 to version 
8.0.30 in the project dependencies.  I changed the version and it worked for 
me, however I would like to know your opinions and if this change and if this 
has also happened to you while trying to start Fineract with the embedded 
server.

Thanks for you attention

Regards, Angel.




RE: Client retrieval endpoint fix

2019-05-22 Thread Angel Cajas
Hi Awasum.

Thanks for your response, I will create the issue and ask for your review after 
fixing it.


From: Awasum Yannick 
Sent: miércoles, 22 de mayo de 2019 12:30
To: Dev 
Subject: Re: Client retrieval endpoint fix

Hi Angel,

Create an issue ASAP. If you are convinced its a problem, create an issue and 
fix it.
If it turns out to be a false alarm, you can always close the issue again.

Thanks for investigating.

On Wed, May 22, 2019 at 4:52 PM Angel Cajas 
mailto:angel.ca...@bowpi.com>> wrote:
Hi everyone.

Recently I’ve been testing the client retrieval endpoint sending a GET request 
to the path  “/fineract-provider/api/v1/clients” and noticed that when you 
provide extra parameters to the search like firstName or lastName the result is 
empty. Should I create an issue in Jira by myself and fix it? Or is someone in 
charge of reviewing the problem described before creating the issue?

Regards, Angel


RE: [ANNOUNCE] Welcome Courage Angeh to the Apache Fineract PMC

2019-05-22 Thread Angel Cajas
Congratulations Courage!!!

From: Awasum Yannick 
Sent: miércoles, 22 de mayo de 2019 12:43
To: Dev 
Subject: [ANNOUNCE] Welcome Courage Angeh to the Apache Fineract PMC

Hi All,

I am delighted to announce that Courage Angeh has been voted in as a new PMC 
Member at Apache Fineract.

Courage has been a valuable member of our community for over 2 years now and in 
that time she has shown great leadership skills. She developed an In-App 
Notifications for Fineract 1.x as part of GSoC 2017. She containerized Fineract 
CN and is currently leading efforts towards enabling a production deployment in 
a Cloud Environment. Courage has been consistently active in helping to onboard 
new devs on our project. She is also a mentor for GSoC 2019 at Fineract and 
Outreachy via Mifos.

Those are some remarkable accomplishments for our project.

Please join me in Congratulating Courage for her contributions to the Fineract 
Community.


Thanks.
Awasum Yannick


Client retrieval endpoint fix

2019-05-22 Thread Angel Cajas
Hi everyone.

Recently I've been testing the client retrieval endpoint sending a GET request 
to the path  "/fineract-provider/api/v1/clients" and noticed that when you 
provide extra parameters to the search like firstName or lastName the result is 
empty. Should I create an issue in Jira by myself and fix it? Or is someone in 
charge of reviewing the problem described before creating the issue?

Regards, Angel


RE: Unable to add or reverse or modify older transactions

2019-05-10 Thread Angel Cajas
Hi Parth,

I may not be an expert in Fineract but from what I’ve seen and tested with the 
code in the develop branch you can actually reverse and add transactions made 
before the last one but that would depend on your loan product configuration. 
If you enabled the loan interest recalculation that is not allowed or if you 
are trying to reverse a transaction made before a loan interest waiver 
transaction. What configuration are you using in your loan products?

Speaking of Loan Interest recalculation, I think this is not possible since a 
new payment or reversion done in a previous date than the last one would most 
likely require to recalculate interests and regenerate the repayment schedule 
for every following transaction because the interest portion of the following 
installments would certainly change. Schedule regeneration and interest 
recalculation are run when you add a new payment but this is done before or 
after the payments are processed.

Like I said I’m not an expert so maybe someone else could give you a better 
explanation.

Regards,
Angel Cajas
From: Parth Mangroliya 
Sent: jueves, 9 de mayo de 2019 12:10
To: dev@fineract.apache.org
Subject: Unable to add or reverse or modify older transactions

Hello ,

According to current fineract functiionality, user can not add or reverse a 
loan transaction made before last transaction for that loan. To put this in 
other words, system only allows adding or reversing chronologically latest 
transaction. I am unable to think the use cases for this restriction as I 
thought that system should allow adding older transactions as system is already 
recalculating repayment schedule from that transaction date. Can anyone help me 
understand this ?
Thanks in advance


--
Regards,
Parth Mangroliya



RE: Rates module

2018-08-02 Thread Angel Cajas
Hello Ed,

Thanks for taking some time to see this topic. We have received your comments 
and we will start to work on the requested changes as soon as possible.

Angel

-Original Message-
From: Ed Cable  
Sent: lunes, 30 de julio de 2018 6:51 p. m.
To: Dev ; Shruthi M R 
Cc: Adriana Pinto 
Subject: Re: Rates module

Hello Angel,

Thank you for raising this on the list again. I had been meaning to reach out 
to you and your team to ensure we get your contributions into one of the 
forthcoming releases.

I've cc'd Shruthi who can take the lead on reviewing but invite all community 
members (not just committers) to review and provided feedback on changes made.

Ed

On Mon, Jul 30, 2018 at 4:16 PM Angel Cajas  wrote:

> Hi ,
>
> I created an issue some time ago to add some previously defined rates 
> to calculate the minimum and maximum nominal rate for a loan.
> I committed and pushed those changes to a forked repository and crated 
> a new a pull request on the dev branch of this repository:
> https://github.com/apache/fineract.
> I hope that I can get your feedback about the changes I did.
>
> Thanks for your attention
>


--
*Ed Cable*
President/CEO, Mifos Initiative
edca...@mifos.org | Skype: edcable | Mobile: +1.484.477.8649

*Collectively Creating a World of 3 Billion Maries | *http://mifos.org 
<http://facebook.com/mifos>  <http://www.twitter.com/mifos>


Rates module

2018-07-30 Thread Angel Cajas
Hi ,

I created an issue some time ago to add some previously defined rates to 
calculate the minimum and maximum nominal rate for a loan.
I committed and pushed those changes to a forked repository and crated a new a 
pull request on the dev branch of this repository: 
https://github.com/apache/fineract.
I hope that I can get your feedback about the changes I did.

Thanks for your attention


Help to start contributions

2018-04-12 Thread Angel Cajas
Hi, I'm Angel Cajas from Bowpi, we are ready to submit the next features for 
code review:

*Subrates
*Transaction Detail Table
*Calculation of overdue amount for daily charges

As this useful article I understand that we need to create an issue before 
creating a pull request
and would like to know which of one of this features are you most interested to 
be included to start this process .

Best Regards and thanks for your attention,
Angel


RE: Code Standard Questions from BOWPI

2018-04-06 Thread Angel Cajas
Hello Awasum

Thanks for your response, I have read the content in the links and as specified 
in them this project uses the Google Java Style, however I’ve seen that some of 
those conventions like 2 spaces indentation and column limit of 100 characters 
aren’t applied in the code and my IDE is formatting the code using those rules. 
As I’ve said before this may seem a trivial issue but I want to be sure that I 
am not doing something wrong while modifying existing classes.

Thanks


From: Awasum Yannick <awa...@apache.org>
Sent: miércoles, 4 de abril de 2018 12:29 p. m.
To: dev@fineract.apache.org
Cc: Angel Cajas <angel.ca...@bowpi.com>; nazeerhussain.sh...@gmail.com; Juan 
Pablo Alvarez <juanpablo.alva...@bowpi.com>; Adriana Pinto 
<adriana.pi...@bowpi.com>
Subject: Re: Code Standard Questions from BOWPI

Hello Angel, Ed,

Going through the wiki pages, I found these posts which might be helpful to the 
coding style issue:

https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=68714707
<https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=68714707>

https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions

https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide

https://cwiki.apache.org/confluence/display/FINERACT/Becoming+a+Committer

To the best of my knowledge, If there are some classes within the platform 
which do not follow some of these conventions then that seems to be code which 
violates our conventions and that needs to be fixed.

What you can do in this case is reformat the code base in accordance to the 
above specifications and send a PR.

For the rest of your query, I will give way for a more experienced contributor 
to Fineract 1.x to respond.

Thanks.
Awasum Yannick



On Wed, Apr 4, 2018 at 6:46 PM, Ed Cable 
<edca...@mifos.org<mailto:edca...@mifos.org>> wrote:
I wanted to bump this thread back up to the top as unfortunately it's gone
without reply and the team at BOWPI who are really itching to contribute
are blocked.

Could any of our committers please respond to their queries regarding
coding standards so they can unblock themselves and make the changes they
want to contribute to Fineract.

Thanks,

Ed

On Fri, Mar 2, 2018 at 9:09 AM, Angel Cajas 
<angel.ca...@bowpi.com<mailto:angel.ca...@bowpi.com>> wrote:

> Hi, my name is Angel Cajas from BOWPI and I am making some changes to some
> features developed by us some months ago to use the same methods and
> validations already existing for some tasks such  as the permission
> settings, the serialization and deserialization of json request and data
> retrieval from database.
>
>
> While I'm doing those changes and start to understand how fineract works
> some questions have arisen for me. Some may seem trivial but I would like
> to get some feedback from the dev team if it is possible.
>
>
> -According to the wiki, the coding conventions used for this project are
> based on Google Java Style
> <https://google.github.io/styleguide/javaguide.html> of coding. Regarding
> block indentation and column limit, I've seen in some classes those rules
> aren't followed and I would like to know if another coding style that isn't
> documented is being used as of right now or should I reformat the code
> after modifying some existing classes.
>
>
> -I've seen there isn't an option to create new permissions, so these must
> be inserted directly into the database, should these be included in a new
> script file or is there another way to add this new objects that I am not
> aware of?
>
>
> -When reading using a ReadService a RowMapper is being used to transform
> the query result to a DTO I guess it's because the result shouldn't include
> all the fields saved in the database and just show the relevant ones and
> I've seen some queries are saved as strings. It's OK to use repository
> functions to retrieve such data instead of saving the query in a string?
> and It is necessary all the entities be converted to DTOs when using the
> ReadPlatformService?
>
>
> I would really appreciate your help and feedback and thanks for your
> attention.
>
>
>

--
*Ed Cable*
President/CEO, Mifos Initiative
edca...@mifos.org<mailto:edca...@mifos.org> | Skype: edcable | Mobile: 
+1.484.477.8649

*Collectively Creating a World of 3 Billion Maries | *http://mifos.org
<http://facebook.com/mifos>  <http://www.twitter.com/mifos>



Code Standard Questions from BOWPI

2018-03-02 Thread Angel Cajas
Hi, my name is Angel Cajas from BOWPI and I am making some changes to some 
features developed by us some months ago to use the same methods and 
validations already existing for some tasks such  as the permission settings, 
the serialization and deserialization of json request and data retrieval from 
database.


While I'm doing those changes and start to understand how fineract works some 
questions have arisen for me. Some may seem trivial but I would like to get 
some feedback from the dev team if it is possible.


-According to the wiki, the coding conventions used for this project are based 
on Google Java Style<https://google.github.io/styleguide/javaguide.html> of 
coding. Regarding block indentation and column limit, I've seen in some classes 
those rules aren't followed and I would like to know if another coding style 
that isn't documented is being used as of right now or should I reformat the 
code after modifying some existing classes.


-I've seen there isn't an option to create new permissions, so these must be 
inserted directly into the database, should these be included in a new script 
file or is there another way to add this new objects that I am not aware of?


-When reading using a ReadService a RowMapper is being used to transform the 
query result to a DTO I guess it's because the result shouldn't include all the 
fields saved in the database and just show the relevant ones and I've seen some 
queries are saved as strings. It's OK to use repository functions to retrieve 
such data instead of saving the query in a string? and It is necessary all the 
entities be converted to DTOs when using the ReadPlatformService?


I would really appreciate your help and feedback and thanks for your attention.