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)