Piotr Wargulak created FINERACT-2896:
----------------------------------------

             Summary: Allow an optional transactionDate when waiving a loan 
charge
                 Key: FINERACT-2896
                 URL: https://issues.apache.org/jira/browse/FINERACT-2896
             Project: Apache Fineract
          Issue Type: Bug
          Components: Charges
            Reporter: Piotr Wargulak


Waiving a loan charge offers no way to choose the waiver's transaction date. 
{{LoanChargeWritePlatformServiceImpl}} derives it: the charge's due date if 
that has passed, otherwise the current business date. That date also drives 
schedule recalculation and the loan's lifecycle transition, so a waiver that 
closes a loan stamps the closing date as well.

When a waiver is the consequence of an earlier-dated event, it gets the date 
the request happened to be processed, not the date of the event. An example is 
a backdated repayment that settles the loan. Statements, the closing date and 
any later replay then follow the processing date. Correcting the date after the 
fact is not safe, because the recalculation and the lifecycle transition have 
already used it.

*Proposed change:*
 * Accept an optional {{transactionDate}} (with 
{{{}dateFormat{}}}/{{{}locale{}}}) on the waive-charge command.

 * When it is given, use it in place of the derived date for the waiver 
transaction, for the schedule recalculation and for the lifecycle transition.

 * Validate it as other loan transaction dates are validated: not in the 
future, not before disbursement.

 * When it is absent, behaviour is unchanged.

 * Add unit and integration tests for a backdated waiver that closes the loan.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to