[jira] [Resolved] (FINERACT-753) incorrect savings account balance when charge transaction is reversed during an overdraft recalculate Daily Balances

2020-05-23 Thread Michael Vorburger (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger resolved FINERACT-753.

Resolution: Fixed

> incorrect savings account balance when charge transaction is reversed during 
> an overdraft recalculate Daily Balances
> 
>
> Key: FINERACT-753
> URL: https://issues.apache.org/jira/browse/FINERACT-753
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Savings
>Affects Versions: 1.3.1
>Reporter: andrewDzakpasu
>Assignee: andrewDzakpasu
>Priority: Major
>  Labels: p1
> Fix For: 1.4.0
>
> Attachments: current .png, previous issue.png, previous issue.png
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This bug occurs in specific scenarios where there is an overdraft on account  
> code section where the bug offers is below on 
> protected void recalculateDailyBalances(final Money openingAccountBalance, 
> final LocalDate interestPostingUpToDate)
> {code:java}
> runningBalance = runningBalance.plus(transactionAmount);
> transaction.updateRunningBalance(runningBalance);
> if (overdraftAmount.isZero() && runningBalance.isLessThanZero()) {
> overdraftAmount = 
> overdraftAmount.plus(runningBalance.getAmount().negate());
> }
> if (transaction.getId() == null && overdraftAmount.isGreaterThanZero()) {
> transaction.updateOverdraftAmount(overdraftAmount.getAmount());
> } else if 
> (overdraftAmount.isNotEqualTo(transaction.getOverdraftAmount(getCurrency( 
> {
> SavingsAccountTransaction accountTransaction = 
> SavingsAccountTransaction.copyTransaction(transaction);
> transaction.reverse();
> if (overdraftAmount.isGreaterThanZero()) {
> accountTransaction.updateOverdraftAmount(overdraftAmount.getAmount());
> }
> accountTransaction.updateRunningBalance(runningBalance);
> addTransaction(accountTransaction);
> isTransactionsModified = true;
> }
> {code}
>  
> steps to recreate . 
> Set up a savings account with an overdraft  say 500. 
>  # create saying account and add a charge fee of say 300 with opening balance 
> of 500 approve and activate.
>  # pay charge of 300 balance with now be 200 . charge is paid which creates 
> an object in m_savings_account_charge_paid_by
>  # now reverse the deposit of 500 . 
>  # system will recalculateDailyBalances and reverse the charge transaction on 
> this section of the code 
> {code:java}
> else if 
> (overdraftAmount.isNotEqualTo(transaction.getOverdraftAmount(getCurrency( 
> {
> SavingsAccountTransaction accountTransaction = 
> SavingsAccountTransaction.copyTransaction(transaction);
> transaction.reverse();
> if (overdraftAmount.isGreaterThanZero()) {
> accountTransaction.updateOverdraftAmount(overdraftAmount.getAmount());
> }
> accountTransaction.updateRunningBalance(runningBalance);
> addTransaction(accountTransaction);
> isTransactionsModified = true;
> {code}
>  #  now since the new charge created does not have the charged paid by object 
> in the table "  m_savings_account_charge_paid_by" recalculating the account 
> balance becomes wrong 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (FINERACT-753) incorrect savings account balance when charge transaction is reversed during an overdraft recalculate Daily Balances

2019-12-10 Thread Santosh Math (Jira)


 [ 
https://issues.apache.org/jira/browse/FINERACT-753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Santosh Math resolved FINERACT-753.
---
Resolution: Fixed

> incorrect savings account balance when charge transaction is reversed during 
> an overdraft recalculate Daily Balances
> 
>
> Key: FINERACT-753
> URL: https://issues.apache.org/jira/browse/FINERACT-753
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Savings
>Affects Versions: 1.3.1
>Reporter: andrewDzakpasu
>Assignee: Ed Cable
>Priority: Major
>  Labels: p1
> Fix For: 1.4.0
>
> Attachments: current .png, previous issue.png, previous issue.png
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This bug occurs in specific scenarios where there is an overdraft on account  
> code section where the bug offers is below on 
> protected void recalculateDailyBalances(final Money openingAccountBalance, 
> final LocalDate interestPostingUpToDate)
> {code:java}
> runningBalance = runningBalance.plus(transactionAmount);
> transaction.updateRunningBalance(runningBalance);
> if (overdraftAmount.isZero() && runningBalance.isLessThanZero()) {
> overdraftAmount = 
> overdraftAmount.plus(runningBalance.getAmount().negate());
> }
> if (transaction.getId() == null && overdraftAmount.isGreaterThanZero()) {
> transaction.updateOverdraftAmount(overdraftAmount.getAmount());
> } else if 
> (overdraftAmount.isNotEqualTo(transaction.getOverdraftAmount(getCurrency( 
> {
> SavingsAccountTransaction accountTransaction = 
> SavingsAccountTransaction.copyTransaction(transaction);
> transaction.reverse();
> if (overdraftAmount.isGreaterThanZero()) {
> accountTransaction.updateOverdraftAmount(overdraftAmount.getAmount());
> }
> accountTransaction.updateRunningBalance(runningBalance);
> addTransaction(accountTransaction);
> isTransactionsModified = true;
> }
> {code}
>  
> steps to recreate . 
> Set up a savings account with an overdraft  say 500. 
>  # create saying account and add a charge fee of say 300 with opening balance 
> of 500 approve and activate.
>  # pay charge of 300 balance with now be 200 . charge is paid which creates 
> an object in m_savings_account_charge_paid_by
>  # now reverse the deposit of 500 . 
>  # system will recalculateDailyBalances and reverse the charge transaction on 
> this section of the code 
> {code:java}
> else if 
> (overdraftAmount.isNotEqualTo(transaction.getOverdraftAmount(getCurrency( 
> {
> SavingsAccountTransaction accountTransaction = 
> SavingsAccountTransaction.copyTransaction(transaction);
> transaction.reverse();
> if (overdraftAmount.isGreaterThanZero()) {
> accountTransaction.updateOverdraftAmount(overdraftAmount.getAmount());
> }
> accountTransaction.updateRunningBalance(runningBalance);
> addTransaction(accountTransaction);
> isTransactionsModified = true;
> {code}
>  #  now since the new charge created does not have the charged paid by object 
> in the table "  m_savings_account_charge_paid_by" recalculating the account 
> balance becomes wrong 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)