Adam Saghy created FINERACT-2659:
------------------------------------
Summary: Adjust Schedule with a CBR results in improper/dropped
allocations on account and non interest recalculated enabled products
Key: FINERACT-2659
URL: https://issues.apache.org/jira/browse/FINERACT-2659
Project: Apache Fineract
Issue Type: Bug
Reporter: Adam Saghy
Assignee: Adam Saghy
It seems that there is a bug within the Fineract code for products that are not
set with the variable to allow interest recalculation (so mostly non interest
bearing products). It seems that when an adjust schedule is made at any point
during the accounts lifecycle and the account has a CBR and then somehow a
reverse replay happens due to a repayment reversal or a reprocess (anything
that forces the schedule to be updated/calculated) and then this puts the CBR
into an overpaid/overcredited amount - the entire schedule needs to be
recreated but during this recreation the amount of credit is dropped from the
calculation and is then missed on the recreation of the schedule so the account
is in this state where the balance/internally fineract knows there is a
discrepancy with the CBR and now has a balance of the CBR value, but the
outstanding balance on the repayment schedule does not reflect this.
*Steps to reproduce*
# Create Disburse Account (2025-08-29) *65.98*
# Adjust the Schedule of the account to 2 months forward (2025-08-29)
# MIR Occurs (2025-08-29) - Reversed and replayed on 2026-05-20
*20.99*
# Repayment Occurs (2025-08-29) Reversed on 2025-09-10 *46.89*
# Second MIR occurs
44.990000 - MIR - (2025-09-03)
# 46.890000 - CBR - (2025-09-05)
# First repayment from 4. is reversed on 2025-09-10
# MIR and CBR are reverse replayed because of this.
# The outstanding balance on the account in the repayment summary will now be
0.00 but there is still a balance on the account because of the CBR overcredit.
It doesnt matter what order the adjust schedule occurs -and I dont even think
an MIR is technically needed but I forgot to test without one. But as long as
the account has an adjust schedule and a CBR that somehow ends up getting
replayed and then causes the account to be in an overcredited scenario the
account will be broken in this state.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)