This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 6b5641f47 FINERACT-2148: Accrual handling in case of Charged-off loan 
and backdated transactions / reversals
6b5641f47 is described below

commit 6b5641f474b79e57f589cc2606cc022b9b752c76
Author: mariiaKraievska <[email protected]>
AuthorDate: Thu Feb 27 16:38:06 2025 +0200

    FINERACT-2148: Accrual handling in case of Charged-off loan and backdated 
transactions / reversals
---
 ...nAccrualAdjustmentTransactionBusinessEvent.java |  27 +
 .../fineract/test/stepdef/loan/LoanStepDef.java    |  18 +
 .../test/resources/features/LoanChargeOff.feature  | 670 +++++++++++++++++++--
 ...dvancedPaymentScheduleTransactionProcessor.java |  29 +-
 ...cedPaymentScheduleTransactionProcessorTest.java |   2 +-
 .../starter/LoanAccountAutoStarter.java            |   6 +-
 6 files changed, 703 insertions(+), 49 deletions(-)

diff --git 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/messaging/event/loan/transaction/LoanAccrualAdjustmentTransactionBusinessEvent.java
 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/messaging/event/loan/transaction/LoanAccrualAdjustmentTransactionBusinessEvent.java
new file mode 100644
index 000000000..1aecbcbf9
--- /dev/null
+++ 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/messaging/event/loan/transaction/LoanAccrualAdjustmentTransactionBusinessEvent.java
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.test.messaging.event.loan.transaction;
+
+public class LoanAccrualAdjustmentTransactionBusinessEvent extends 
AbstractLoanTransactionEvent {
+
+    @Override
+    public String getEventName() {
+        return "LoanAccrualAdjustmentTransactionBusinessEvent";
+    }
+}
diff --git 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java
 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java
index fcbc8859f..17f7e3edc 100644
--- 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java
+++ 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/stepdef/loan/LoanStepDef.java
@@ -122,6 +122,7 @@ import 
org.apache.fineract.test.messaging.config.EventProperties;
 import org.apache.fineract.test.messaging.event.EventCheckHelper;
 import 
org.apache.fineract.test.messaging.event.loan.LoanRescheduledDueAdjustScheduleEvent;
 import org.apache.fineract.test.messaging.event.loan.LoanStatusChangedEvent;
+import 
org.apache.fineract.test.messaging.event.loan.transaction.LoanAccrualAdjustmentTransactionBusinessEvent;
 import 
org.apache.fineract.test.messaging.event.loan.transaction.LoanAccrualTransactionCreatedBusinessEvent;
 import 
org.apache.fineract.test.messaging.event.loan.transaction.LoanChargeAdjustmentPostBusinessEvent;
 import 
org.apache.fineract.test.messaging.event.loan.transaction.LoanChargeOffEvent;
@@ -2335,6 +2336,23 @@ public class LoanStepDef extends AbstractStepDef {
         
eventAssertion.assertEventRaised(LoanAccrualTransactionCreatedBusinessEvent.class,
 accrualTransactionId);
     }
 
+    @Then("LoanAccrualAdjustmentTransactionBusinessEvent is raised on 
{string}")
+    public void checkLoanAccrualAdjustmentTransactionBusinessEvent(String 
date) throws IOException {
+        Response<PostLoansResponse> loanCreateResponse = 
testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
+        long loanId = loanCreateResponse.body().getLoanId();
+
+        Response<GetLoansLoanIdResponse> loanDetailsResponse = 
loansApi.retrieveLoan(loanId, false, "transactions", "", "").execute();
+        ErrorHelper.checkSuccessfulApiCall(loanDetailsResponse);
+
+        List<GetLoansLoanIdTransactions> transactions = 
loanDetailsResponse.body().getTransactions();
+        GetLoansLoanIdTransactions accrualAdjustmentTransaction = 
transactions.stream()
+                .filter(t -> date.equals(FORMATTER.format(t.getDate())) && 
"Accrual Adjustment".equals(t.getType().getValue())).findFirst()
+                .orElseThrow(() -> new IllegalStateException(String.format("No 
Accrual Adjustment transaction found on %s", date)));
+        Long accrualAdjustmentTransactionId = 
accrualAdjustmentTransaction.getId();
+
+        
eventAssertion.assertEventRaised(LoanAccrualAdjustmentTransactionBusinessEvent.class,
 accrualAdjustmentTransactionId);
+    }
+
     @Then("LoanChargeAdjustmentPostBusinessEvent is raised on {string}")
     public void checkLoanChargeAdjustmentPostBusinessEvent(String date) throws 
IOException {
         Response<PostLoansResponse> loanCreateResponse = 
testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
diff --git 
a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature 
b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature
index 4043996a9..5e181f0e5 100644
--- 
a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature
+++ 
b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature
@@ -2341,12 +2341,13 @@ Feature: Charge-off
       | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
       | 100           | 1.45     | 0    | 0         | 101.45 | 34.02 | 0       
   | 0    | 67.43       |
     Then Loan Transactions tab has the following data:
-      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
-      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
-      | 01 February 2024 | Repayment        | 17.01  | 16.43     | 0.58     | 
0.0  | 0.0       | 83.57        | false    | false    |
-      | 01 March 2024    | Repayment        | 17.01  | 16.52     | 0.49     | 
0.0  | 0.0       | 67.05        | false    | false    |
-      | 31 March 2024    | Accrual          | 1.54   | 0.0       | 1.54     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 31 March 2024    | Charge-off       | 67.43  | 67.05     | 0.38     | 
0.0  | 0.0       | 0.0          | false    | true     |
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 100.0  | 0.0       | 0.0      
| 0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 February 2024 | Repayment          | 17.01  | 16.43     | 0.58     
| 0.0  | 0.0       | 83.57        | false    | false    |
+      | 01 March 2024    | Repayment          | 17.01  | 16.52     | 0.49     
| 0.0  | 0.0       | 67.05        | false    | false    |
+      | 31 March 2024    | Accrual            | 1.54   | 0.0       | 1.54     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 March 2024    | Accrual Adjustment | 0.09   | 0.0       | 0.09     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 March 2024    | Charge-off         | 67.43  | 67.05     | 0.38     
| 0.0  | 0.0       | 0.0          | false    | true     |
 
   @TestRailId:C3345
   Scenario: Charge-off with reversal afterwards when loan behavior is 
zero-interest with interestRecalculation - UC7
@@ -3449,12 +3450,13 @@ Feature: Charge-off
       | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
       | 100.0         | 1.45     | 0.0  | 0.0       | 101.45 | 34.02 | 0.0     
   | 0.0  | 67.43       |
     Then Loan Transactions tab has the following data:
-      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
-      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
-      | 01 February 2024 | Repayment        | 17.01  | 16.43     | 0.58     | 
0.0  | 0.0       | 83.57        | false    | false    |
-      | 01 March 2024    | Repayment        | 17.01  | 16.52     | 0.49     | 
0.0  | 0.0       | 67.05        | false    | false    |
-      | 31 March 2024    | Accrual          | 1.54   | 0.0       | 1.54     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 31 March 2024    | Charge-off       | 67.43  | 67.05     | 0.38     | 
0.0  | 0.0       | 0.0          | false    | true     |
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 100.0  | 0.0       | 0.0      
| 0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 February 2024 | Repayment          | 17.01  | 16.43     | 0.58     
| 0.0  | 0.0       | 83.57        | false    | false    |
+      | 01 March 2024    | Repayment          | 17.01  | 16.52     | 0.49     
| 0.0  | 0.0       | 67.05        | false    | false    |
+      | 31 March 2024    | Accrual            | 1.54   | 0.0       | 1.54     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 March 2024    | Accrual Adjustment | 0.09   | 0.0       | 0.09     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 March 2024    | Charge-off         | 67.43  | 67.05     | 0.38     
| 0.0  | 0.0       | 0.0          | false    | true     |
     And Global configuration 
"is-principal-compounding-disabled-for-overdue-loans" is disabled
 
   @TestRailId:C3358 @AdvancedPaymentAllocation
@@ -4586,11 +4588,11 @@ Feature: Charge-off
       | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Waived | Outstanding |
       | 100           | 1.05     | 8.0  | 0         | 109.05 | 22.01 | 0       
   | 0    | 0.0    | 87.04       |
     Then Loan Transactions tab has the following data:
-      | Transaction date | Transaction Type  | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
-      | 01 January 2024  | Disbursement      | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
-      | 01 February 2024 | Repayment         | 22.01  | 16.43     | 0.58     | 
5.0  | 0.0       | 83.57        | false    | false    |
-      | 29 February 2024 | Accrual           | 1.05   | 0.0       | 1.05     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 29 February 2024 | Charge-off        | 87.04  | 83.57     | 0.47     | 
3.0  | 0.0       | 0.0          | false    | false    |
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 February 2024 | Repayment        | 22.01  | 16.43     | 0.58     | 
5.0  | 0.0       | 83.57        | false    | false    |
+      | 29 February 2024 | Accrual          | 1.05   | 0.0       | 1.05     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 29 February 2024 | Charge-off       | 87.04  | 83.57     | 0.47     | 
3.0  | 0.0       | 0.0          | false    | false    |
 
   @TestRailId:C3415
   Scenario: Backdated charge-off with charge is added after the charge off 
date when loan behavior is zero-interest with interestRecalculation disabled is 
forbidden - UC9.5
@@ -6454,26 +6456,27 @@ Feature: Charge-off
     Then Admin runs inline COB job for Loan
     And Admin does charge-off the loan on "17 January 2024"
     Then Loan Transactions tab has the following data:
-      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
-      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
-      | 01 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 05 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 06 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 14 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
-      | 15 January 2024  | Accrual          | 0.53   | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 16 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 17 January 2024  | Charge-off       | 787.64 | 746.09    | 41.55    | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 1000.0 | 0.0       | 0.0      
| 0.0  | 0.0       | 1000.0       | false    | false    |
+      | 01 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual            | 0.69   | 0.0       | 0.69     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual            | 0.7    | 0.0       | 0.7      
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual            | 0.69   | 0.0       | 0.69     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment          | 263.69 | 253.91    | 9.78     
| 0.0  | 0.0       | 746.09       | false    | false    |
+      | 15 January 2024  | Accrual            | 0.53   | 0.0       | 0.53     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual            | 0.52   | 0.0       | 0.52     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual Adjustment | 0.52   | 0.0       | 0.52     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Charge-off         | 787.64 | 746.09    | 41.55    
| 0.0  | 0.0       | 0.0          | false    | false    |
 
   @TestRailId:C3512
   Scenario: Backdate charge-off reverse accruals with 
isInterestRecognitionOnDisbursementDate = false
@@ -6557,11 +6560,12 @@ Feature: Charge-off
       | 5  | 31   | 01 June 2024     |                 | 16.85           | 
16.81         | 0.2      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
       | 6  | 30   | 01 July 2024     |                 | 0.0             | 
16.85         | 0.1      | 0.0  | 0.0       | 16.95 | 0.0   | 0.0        | 0.0  
| 16.95       |
     And Loan Transactions tab has the following data:
-      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
-      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
-      | 01 January 2024  | Accrual          | 2.05   | 0.0       | 2.05     | 
0.0  | 0.0       | 0.0          | false    | false    |
-      | 15 January 2024  | Repayment        | 17.01  | 16.75     | 0.26     | 
0.0  | 0.0       | 83.25        | false    | false    |
-      | 01 March 2024    | Charge-off       | 84.99  | 83.25     | 1.74     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 100.0  | 0.0       | 0.0      
| 0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Accrual            | 2.05   | 0.0       | 2.05     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment          | 17.01  | 16.75     | 0.26     
| 0.0  | 0.0       | 83.25        | false    | false    |
+      | 01 March 2024    | Accrual Adjustment | 1.03   | 0.0       | 1.03     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 01 March 2024    | Charge-off         | 84.99  | 83.25     | 1.74     
| 0.0  | 0.0       | 0.0          | false    | false    |
 
   @TestRailId:C3513
   Scenario: Accrual handling in case of charged-off loan when loan behavior is 
zero-interest with interestRecalculation enabled, interest recognition from 
disbursement date = FALSE
@@ -6666,6 +6670,7 @@ Feature: Charge-off
       | 30 January 2024  | Accrual          | 0.02    | 0.0       | 0.02     | 
0.0   | 0.0       | 0.0          | false    | false    |
       | 31 January 2024  | Accrual          | 0.01    | 0.0       | 0.01     | 
0.0   | 0.0       | 0.0          | false    | false    |
       | 31 January 2024  | Charge-off       | 100.56  | 100.0     | 0.56     | 
0.0   | 0.0       | 0.0          | false    | false    |
+    Then LoanAccrualTransactionCreatedBusinessEvent is raised on "31 January 
2024"
 
   @TestRailId:C3514
   Scenario: Accrual handling in case of charged-off loan when loan behavior is 
zero-interest with interestRecalculation enabled, interest recognition from 
disbursement date = TRUE
@@ -6771,3 +6776,584 @@ Feature: Charge-off
       | 29 January 2024  | Accrual          | 0.02    | 0.0       | 0.02     | 
0.0   | 0.0       | 0.0          | false    | false    |
       | 30 January 2024  | Accrual          | 0.01    | 0.0       | 0.01     | 
0.0   | 0.0       | 0.0          | false    | false    |
       | 31 January 2024  | Charge-off       | 100.56  | 100.0     | 0.56     | 
0.0   | 0.0       | 0.0          | false    | false    |
+
+  @TestRailId:C3515
+  Scenario: Accrual handling in case of charged-off loan and backdated 
repayment reversal when loan behavior is zero-interest with 
interestRecalculation enabled, interest recognition from disbursement date = 
FALSE
+    When Admin sets the business date to "01 January 2024"
+    And Admin creates a client with random data
+    And Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
      | submitted on date | with Principal | ANNUAL interest rate % | interest 
type     | interest calculation period | amortization type  | loanTermFrequency 
| loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | 
numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | 
interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ZERO_INTEREST_CHARGE_OFF | 
01 January 2024   | 1000           | 26                     | DECLINING_BALANCE 
| DAILY                       | EQUAL_INSTALLMENTS | 4                 | MONTHS 
               | 1              | MONTHS                 | 4                  | 
0                       | 0                      | 0                    | 
ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "1 January 2024" with "1000" 
amount and expected disbursement date on "1 January 2024"
+    And Admin successfully disburse the loan on "1 January 2024" with "1000" 
EUR transaction amount
+    When Admin runs inline COB job for Loan
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due    | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 1000.0          |           
    |          | 0.0  |           | 0.0    | 0.0  |            |      |         
    |
+      | 1  | 31   | 01 February 2024 |           | 757.98          | 242.02    
    | 21.67    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 2  | 29   | 01 March 2024    |           | 510.71          | 247.27    
    | 16.42    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 3  | 31   | 01 April 2024    |           | 258.09          | 252.62    
    | 11.07    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 4  | 30   | 01 May 2024      |           | 0.0             | 258.09    
    | 5.59     | 0.0  | 0.0       | 263.68 | 0.0  | 0.0        | 0.0  | 263.68  
    |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid | In 
advance | Late | Outstanding |
+      | 1000          | 54.75    | 0    | 0         | 1054.75 | 0    | 0       
   | 0    | 1054.75     |
+    When Admin sets the business date to "15 January 2024"
+    When Admin runs inline COB job for Loan
+    And Customer makes "AUTOPAY" repayment on "15 January 2024" with 263.69 
EUR transaction amount
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid   | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                 | 1000.0          |     
          |          | 0.0  |           | 0.0    | 0.0    |            |      | 
            |
+      | 1  | 31   | 01 February 2024 | 15 January 2024 | 746.09          | 
253.91        | 9.78     | 0.0  | 0.0       | 263.69 | 263.69 | 263.69     | 
0.0  | 0.0         |
+      | 2  | 29   | 01 March 2024    |                 | 507.44          | 
238.65        | 25.04    | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 3  | 31   | 01 April 2024    |                 | 254.74          | 
252.7         | 10.99    | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 4  | 30   | 01 May 2024      |                 | 0.0             | 
254.74        | 5.52     | 0.0  | 0.0       | 260.26 | 0.0    | 0.0        | 
0.0  | 260.26      |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid   | In 
advance | Late | Outstanding |
+      | 1000          | 51.33    | 0    | 0         | 1051.33 | 263.69 | 
263.69     | 0    | 787.64      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+    When Admin sets the business date to "20 January 2024"
+    When Admin runs inline COB job for Loan
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+      | 15 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.53   | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+    And Admin does charge-off the loan on "20 January 2024"
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid   | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                 | 1000.0          |     
          |          | 0.0  |           | 0.0    | 0.0    |            |      | 
            |
+      | 1  | 31   | 01 February 2024 | 15 January 2024 | 748.7           | 
251.3         | 12.39    | 0.0  | 0.0       | 263.69 | 263.69 | 263.69     | 
0.0  | 0.0         |
+      | 2  | 29   | 01 March 2024    |                 | 485.01          | 
263.69        | 0.0      | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 3  | 31   | 01 April 2024    |                 | 221.32          | 
263.69        | 0.0      | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 4  | 30   | 01 May 2024      |                 | 0.0             | 
221.32        | 0.0      | 0.0  | 0.0       | 221.32 | 0.0    | 0.0        | 
0.0  | 221.32      |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid   | In 
advance | Late | Outstanding |
+      | 1000          | 12.39    | 0    | 0         | 1012.39 | 263.69 | 
263.69     | 0    | 748.7       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+      | 15 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.53   | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Charge-off       | 748.7  | 746.09    | 2.61     | 
0.0  | 0.0       | 0.0          | false    | false    |
+    Then LoanAccrualTransactionCreatedBusinessEvent is raised on "20 January 
2024"
+    When Admin sets the business date to "21 January 2024"
+    When Customer undo "1"th "Repayment" transaction made on "15 January 2024"
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount  | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.69    | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69  | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | true     | false    |
+      | 15 January 2024  | Accrual          | 0.69    | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.53    | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.89    | 0.0       | 0.89     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Charge-off       | 1013.28 | 1000.0    | 13.28    | 
0.0  | 0.0       | 0.0          | false    | true     |
+
+  @TestRailId:C3516
+  Scenario: Accrual handling in case of charged-off loan with backdated 
repayment when loan behavior is zero-interest with interestRecalculation 
enabled, interest recognition from disbursement date = FALSE
+    When Admin sets the business date to "01 January 2024"
+    And Admin creates a client with random data
+    And Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
      | submitted on date | with Principal | ANNUAL interest rate % | interest 
type     | interest calculation period | amortization type  | loanTermFrequency 
| loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | 
numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | 
interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ZERO_INTEREST_CHARGE_OFF | 
01 January 2024   | 100            | 7                      | DECLINING_BALANCE 
| DAILY                       | EQUAL_INSTALLMENTS | 6                 | MONTHS 
               | 1              | MONTHS                 | 6                  | 
0                       | 0                      | 0                    | 
ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "1 January 2024" with "100" 
amount and expected disbursement date on "1 January 2024"
+    And Admin successfully disburse the loan on "1 January 2024" with "100" 
EUR transaction amount
+    When Admin runs inline COB job for Loan
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 100.0           |           
    |          | 0.0  |           | 0.0   | 0.0  |            |      |          
   |
+      | 1  | 31   | 01 February 2024 |           | 83.57           | 16.43     
    | 0.58     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 2  | 29   | 01 March 2024    |           | 67.05           | 16.52     
    | 0.49     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 3  | 31   | 01 April 2024    |           | 50.43           | 16.62     
    | 0.39     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 4  | 30   | 01 May 2024      |           | 33.71           | 16.72     
    | 0.29     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 5  | 31   | 01 June 2024     |           | 16.9            | 16.81     
    | 0.2      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 6  | 30   | 01 July 2024     |           | 0.0             | 16.9      
    | 0.1      | 0.0  | 0.0       | 17.0  | 0.0  | 0.0        | 0.0  | 17.0     
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100           | 2.05     | 0    | 0         | 102.05 | 0    | 0        
  | 0    | 102.05      |
+    When Admin sets the business date to "14 February 2024"
+    When Admin runs inline COB job for Loan
+    And Admin does charge-off the loan on "14 February 2024"
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 100.0           |           
    |          | 0.0  |           | 0.0   | 0.0  |            |      |          
   |
+      | 1  | 31   | 01 February 2024 |           | 83.57           | 16.43     
    | 0.58     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 2  | 29   | 01 March 2024    |           | 66.82           | 16.75     
    | 0.26     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 3  | 31   | 01 April 2024    |           | 49.81           | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 4  | 30   | 01 May 2024      |           | 32.8            | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 5  | 31   | 01 June 2024     |           | 15.79           | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 6  | 30   | 01 July 2024     |           | 0.0             | 15.79     
    | 0.0      | 0.0  | 0.0       | 15.79 | 0.0  | 0.0        | 0.0  | 15.79    
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100           | 0.84     | 0    | 0         | 100.84 | 0    | 0        
  | 0    | 100.84      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 02 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 21 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 22 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 23 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 24 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 25 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 26 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 27 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 28 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 29 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 30 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 01 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Charge-off       | 100.84 | 100.0     | 0.84     | 
0.0  | 0.0       | 0.0          | false    | false    |
+    Then LoanAccrualTransactionCreatedBusinessEvent is raised on "14 February 
2024"
+#  ----- backdated repayment  on 1 February made on 14 February ----- #
+    And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due   | Paid  | In advance | Late 
| Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0   | 0.0   |            |      |  
           |
+      | 1  | 31   | 01 February 2024 | 01 February 2024 | 83.57           | 
16.43         | 0.58     | 0.0  | 0.0       | 17.01 | 17.01 | 0.0        | 0.0  
| 0.0         |
+      | 2  | 29   | 01 March 2024    |                  | 66.78           | 
16.79         | 0.22     | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 3  | 31   | 01 April 2024    |                  | 49.77           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 4  | 30   | 01 May 2024      |                  | 32.76           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 5  | 31   | 01 June 2024     |                  | 15.75           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 6  | 30   | 01 July 2024     |                  | 0.0             | 
15.75         | 0.0      | 0.0  | 0.0       | 15.75 | 0.0   | 0.0        | 0.0  
| 15.75       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due   | Paid  | In 
advance | Late | Outstanding |
+      | 100           | 0.8      | 0    | 0         | 100.8 | 17.01 | 0        
  | 0    | 83.79       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 100.0  | 0.0       | 0.0      
| 0.0  | 0.0       | 100.0        | false    | false    |
+      | 02 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 21 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 22 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 23 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 24 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 25 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 26 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 27 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 28 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 29 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 30 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 01 February 2024 | Repayment          | 17.01  | 16.43     | 0.58     
| 0.0  | 0.0       | 83.57        | false    | false    |
+      | 01 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Accrual Adjustment | 0.04   | 0.0       | 0.04     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Charge-off         | 83.79  | 83.57     | 0.22     
| 0.0  | 0.0       | 0.0          | false    | true     |
+    Then LoanAccrualAdjustmentTransactionBusinessEvent is raised on "14 
February 2024"
+
+  @TestRailId:C3517
+  Scenario: Accrual handling in case of charged-off loan and backdated 
repayment reversal when loan behavior is zero-interest with 
interestRecalculation enabled, interest recognition from disbursement date = 
TRUE
+    When Admin sets the business date to "2 January 2024"
+    And Admin creates a client with random data
+    And Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
                           | submitted on date | with Principal | ANNUAL 
interest rate % | interest type     | interest calculation period | 
amortization type  | loanTermFrequency | loanTermFrequencyType | repaymentEvery 
| repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | 
graceOnInterestPayment | interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INTEREST_DAILY_INT_RECALCULATION_ZERO_INT_CHARGE_OFF_INT_RECOGNITION_FROM_DISB_DATE
 | 01 January 2024   | 1000           | 26                     | 
DECLINING_BALANCE | DAILY                       | EQUAL_INSTALLMENTS | 4        
         | MONTHS                | 1              | MONTHS                 | 4  
                | 0                       | 0                      | 0          
          | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "1 January 2024" with "1000" 
amount and expected disbursement date on "1 January 2024"
+    And Admin successfully disburse the loan on "1 January 2024" with "1000" 
EUR transaction amount
+    When Admin runs inline COB job for Loan
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due    | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 1000.0          |           
    |          | 0.0  |           | 0.0    | 0.0  |            |      |         
    |
+      | 1  | 31   | 01 February 2024 |           | 757.98          | 242.02    
    | 21.67    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 2  | 29   | 01 March 2024    |           | 510.71          | 247.27    
    | 16.42    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 3  | 31   | 01 April 2024    |           | 258.09          | 252.62    
    | 11.07    | 0.0  | 0.0       | 263.69 | 0.0  | 0.0        | 0.0  | 263.69  
    |
+      | 4  | 30   | 01 May 2024      |           | 0.0             | 258.09    
    | 5.59     | 0.0  | 0.0       | 263.68 | 0.0  | 0.0        | 0.0  | 263.68  
    |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid | In 
advance | Late | Outstanding |
+      | 1000          | 54.75    | 0    | 0         | 1054.75 | 0    | 0       
   | 0    | 1054.75     |
+    When Admin sets the business date to "15 January 2024"
+    When Admin runs inline COB job for Loan
+    And Customer makes "AUTOPAY" repayment on "15 January 2024" with 263.69 
EUR transaction amount
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid   | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                 | 1000.0          |     
          |          | 0.0  |           | 0.0    | 0.0    |            |      | 
            |
+      | 1  | 31   | 01 February 2024 | 15 January 2024 | 746.09          | 
253.91        | 9.78     | 0.0  | 0.0       | 263.69 | 263.69 | 263.69     | 
0.0  | 0.0         |
+      | 2  | 29   | 01 March 2024    |                 | 507.44          | 
238.65        | 25.04    | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 3  | 31   | 01 April 2024    |                 | 254.74          | 
252.7         | 10.99    | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 4  | 30   | 01 May 2024      |                 | 0.0             | 
254.74        | 5.52     | 0.0  | 0.0       | 260.26 | 0.0    | 0.0        | 
0.0  | 260.26      |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid   | In 
advance | Late | Outstanding |
+      | 1000          | 51.33    | 0    | 0         | 1051.33 | 263.69 | 
263.69     | 0    | 787.64      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 01 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+    When Admin sets the business date to "20 January 2024"
+    When Admin runs inline COB job for Loan
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 01 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+      | 15 January 2024  | Accrual          | 0.53   | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+    And Admin does charge-off the loan on "20 January 2024"
+    Then Loan Repayment schedule has 4 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid   | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                 | 1000.0          |     
          |          | 0.0  |           | 0.0    | 0.0    |            |      | 
            |
+      | 1  | 31   | 01 February 2024 | 15 January 2024 | 748.7           | 
251.3         | 12.39    | 0.0  | 0.0       | 263.69 | 263.69 | 263.69     | 
0.0  | 0.0         |
+      | 2  | 29   | 01 March 2024    |                 | 485.01          | 
263.69        | 0.0      | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 3  | 31   | 01 April 2024    |                 | 221.32          | 
263.69        | 0.0      | 0.0  | 0.0       | 263.69 | 0.0    | 0.0        | 
0.0  | 263.69      |
+      | 4  | 30   | 01 May 2024      |                 | 0.0             | 
221.32        | 0.0      | 0.0  | 0.0       | 221.32 | 0.0    | 0.0        | 
0.0  | 221.32      |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due     | Paid   | In 
advance | Late | Outstanding |
+      | 1000          | 12.39    | 0    | 0         | 1012.39 | 263.69 | 
263.69     | 0    | 748.7       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0 | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 01 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7    | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.69   | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69 | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | false    | false    |
+      | 15 January 2024  | Accrual          | 0.53   | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52   | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Charge-off       | 748.7  | 746.09    | 2.61     | 
0.0  | 0.0       | 0.0          | false    | false    |
+    When Admin sets the business date to "21 January 2024"
+    When Customer undo "1"th "Repayment" transaction made on "15 January 2024"
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount  | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 1000.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 1000.0       | false    | false    |
+      | 01 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.69    | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.7     | 0.0       | 0.7      | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.69    | 0.0       | 0.69     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Repayment        | 263.69  | 253.91    | 9.78     | 
0.0  | 0.0       | 746.09       | true     | false    |
+      | 15 January 2024  | Accrual          | 0.53    | 0.0       | 0.53     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.52    | 0.0       | 0.52     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.89    | 0.0       | 0.89     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Charge-off       | 1013.28 | 1000.0    | 13.28    | 
0.0  | 0.0       | 0.0          | false    | true     |
+    Then LoanAccrualTransactionCreatedBusinessEvent is raised on "20 January 
2024"
+
+  @TestRailId:C3518
+  Scenario: Accrual handling in case of charged-off loan with backdated 
repayment when loan behavior is zero-interest with interestRecalculation 
enabled, interest recognition from disbursement date = TRUE
+    When Admin sets the business date to "1 January 2024"
+    And Admin creates a client with random data
+    And Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
                           | submitted on date | with Principal | ANNUAL 
interest rate % | interest type     | interest calculation period | 
amortization type  | loanTermFrequency | loanTermFrequencyType | repaymentEvery 
| repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | 
graceOnInterestPayment | interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INTEREST_DAILY_INT_RECALCULATION_ZERO_INT_CHARGE_OFF_INT_RECOGNITION_FROM_DISB_DATE
 | 01 January 2024   | 100            | 7                      | 
DECLINING_BALANCE | DAILY                       | EQUAL_INSTALLMENTS | 6        
         | MONTHS                | 1              | MONTHS                 | 6  
                | 0                       | 0                      | 0          
          | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "1 January 2024" with "100" 
amount and expected disbursement date on "1 January 2024"
+    And Admin successfully disburse the loan on "1 January 2024" with "100" 
EUR transaction amount
+    When Admin runs inline COB job for Loan
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 100.0           |           
    |          | 0.0  |           | 0.0   | 0.0  |            |      |          
   |
+      | 1  | 31   | 01 February 2024 |           | 83.57           | 16.43     
    | 0.58     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 2  | 29   | 01 March 2024    |           | 67.05           | 16.52     
    | 0.49     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 3  | 31   | 01 April 2024    |           | 50.43           | 16.62     
    | 0.39     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 4  | 30   | 01 May 2024      |           | 33.71           | 16.72     
    | 0.29     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 5  | 31   | 01 June 2024     |           | 16.9            | 16.81     
    | 0.2      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 6  | 30   | 01 July 2024     |           | 0.0             | 16.9      
    | 0.1      | 0.0  | 0.0       | 17.0  | 0.0  | 0.0        | 0.0  | 17.0     
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100           | 2.05     | 0    | 0         | 102.05 | 0    | 0        
  | 0    | 102.05      |
+    When Admin sets the business date to "14 February 2024"
+    When Admin runs inline COB job for Loan
+    And Admin does charge-off the loan on "14 February 2024"
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 100.0           |           
    |          | 0.0  |           | 0.0   | 0.0  |            |      |          
   |
+      | 1  | 31   | 01 February 2024 |           | 83.57           | 16.43     
    | 0.58     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 2  | 29   | 01 March 2024    |           | 66.82           | 16.75     
    | 0.26     | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 3  | 31   | 01 April 2024    |           | 49.81           | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 4  | 30   | 01 May 2024      |           | 32.8            | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 5  | 31   | 01 June 2024     |           | 15.79           | 17.01     
    | 0.0      | 0.0  | 0.0       | 17.01 | 0.0  | 0.0        | 0.0  | 17.01    
   |
+      | 6  | 30   | 01 July 2024     |           | 0.0             | 15.79     
    | 0.0      | 0.0  | 0.0       | 15.79 | 0.0  | 0.0        | 0.0  | 15.79    
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100           | 0.84     | 0    | 0         | 100.84 | 0    | 0        
  | 0    | 100.84      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 21 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 22 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 23 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 24 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 25 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 26 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 27 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 28 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 29 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 30 January 2024  | Accrual          | 0.01   | 0.0       | 0.01     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 January 2024  | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 01 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 February 2024 | Accrual          | 0.02   | 0.0       | 0.02     | 
0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Charge-off       | 100.84 | 100.0     | 0.84     | 
0.0  | 0.0       | 0.0          | false    | false    |
+#  ----- backdated repayment  on 1 February made on 14 February ----- #
+    And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due   | Paid  | In advance | Late 
| Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0   | 0.0   |            |      |  
           |
+      | 1  | 31   | 01 February 2024 | 01 February 2024 | 83.57           | 
16.43         | 0.58     | 0.0  | 0.0       | 17.01 | 17.01 | 0.0        | 0.0  
| 0.0         |
+      | 2  | 29   | 01 March 2024    |                  | 66.78           | 
16.79         | 0.22     | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 3  | 31   | 01 April 2024    |                  | 49.77           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 4  | 30   | 01 May 2024      |                  | 32.76           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 5  | 31   | 01 June 2024     |                  | 15.75           | 
17.01         | 0.0      | 0.0  | 0.0       | 17.01 | 0.0   | 0.0        | 0.0  
| 17.01       |
+      | 6  | 30   | 01 July 2024     |                  | 0.0             | 
15.75         | 0.0      | 0.0  | 0.0       | 15.75 | 0.0   | 0.0        | 0.0  
| 15.75       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due   | Paid  | In 
advance | Late | Outstanding |
+      | 100           | 0.8      | 0    | 0         | 100.8 | 17.01 | 0        
  | 0    | 83.79       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type   | Amount | Principal | Interest 
| Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement       | 100.0  | 0.0       | 0.0      
| 0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 15 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 16 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 17 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 18 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 19 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 20 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 21 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 22 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 23 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 24 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 25 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 26 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 27 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 28 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 29 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 30 January 2024  | Accrual            | 0.01   | 0.0       | 0.01     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 31 January 2024  | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 01 February 2024 | Repayment          | 17.01  | 16.43     | 0.58     
| 0.0  | 0.0       | 83.57        | false    | false    |
+      | 01 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 02 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 03 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 04 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 05 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 06 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 07 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 08 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 09 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 10 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 11 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 12 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 13 February 2024 | Accrual            | 0.02   | 0.0       | 0.02     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Accrual Adjustment | 0.04   | 0.0       | 0.04     
| 0.0  | 0.0       | 0.0          | false    | false    |
+      | 14 February 2024 | Charge-off         | 83.79  | 83.57     | 0.22     
| 0.0  | 0.0       | 0.0          | false    | true     |
+    Then LoanAccrualAdjustmentTransactionBusinessEvent is raised on "14 
February 2024"
diff --git 
a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
 
b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
index 53adf3d5b..7c59be5c0 100644
--- 
a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
+++ 
b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessor.java
@@ -21,6 +21,7 @@ package 
org.apache.fineract.portfolio.loanaccount.domain.transactionprocessor.im
 import static java.math.BigDecimal.ZERO;
 import static java.util.stream.Collectors.mapping;
 import static java.util.stream.Collectors.toList;
+import static 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction.accrualAdjustment;
 import static 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction.accrueTransaction;
 import static 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRelationTypeEnum.CHARGEBACK;
 import static 
org.apache.fineract.portfolio.loanproduct.domain.AllocationType.FEE;
@@ -63,6 +64,9 @@ import 
org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
 import org.apache.fineract.infrastructure.core.service.DateUtils;
 import org.apache.fineract.infrastructure.core.service.ExternalIdFactory;
 import org.apache.fineract.infrastructure.core.service.MathUtil;
+import 
org.apache.fineract.infrastructure.event.business.domain.loan.transaction.LoanAccrualAdjustmentTransactionBusinessEvent;
+import 
org.apache.fineract.infrastructure.event.business.domain.loan.transaction.LoanAccrualTransactionCreatedBusinessEvent;
+import 
org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
 import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency;
 import org.apache.fineract.organisation.monetary.domain.Money;
 import org.apache.fineract.organisation.monetary.domain.MoneyHelper;
@@ -117,6 +121,7 @@ public class AdvancedPaymentScheduleTransactionProcessor 
extends AbstractLoanRep
     private final InterestRefundService interestRefundService;
     private final LoanTransactionRepository loanTransactionRepository;
     private final ExternalIdFactory externalIdFactory;
+    private final BusinessEventNotifierService businessEventNotifierService;
 
     @Override
     public String getCode() {
@@ -2376,11 +2381,27 @@ public class 
AdvancedPaymentScheduleTransactionProcessor extends AbstractLoanRep
 
         final BigDecimal missingAccrualAmount = 
newInterest.subtract(sumOfAccrualsTillChargeOff);
 
+        if (missingAccrualAmount.compareTo(BigDecimal.ZERO) == 0) {
+            return;
+        }
+
+        final LoanTransaction newAccrualTransaction;
+
         if (missingAccrualAmount.compareTo(BigDecimal.ZERO) > 0) {
-            final LoanTransaction newAccrualTransaction = 
accrueTransaction(loan, loan.getOffice(), chargeOffDate, missingAccrualAmount,
-                    missingAccrualAmount, ZERO, ZERO, 
externalIdFactory.create());
-            loan.addLoanTransaction(newAccrualTransaction);
-            loanTransactionRepository.saveAndFlush(newAccrualTransaction);
+            newAccrualTransaction = accrueTransaction(loan, loan.getOffice(), 
chargeOffDate, missingAccrualAmount, missingAccrualAmount,
+                    ZERO, ZERO, externalIdFactory.create());
+        } else {
+            newAccrualTransaction = accrualAdjustment(loan, loan.getOffice(), 
chargeOffDate, missingAccrualAmount.abs(),
+                    missingAccrualAmount.abs(), ZERO, ZERO, 
externalIdFactory.create());
+        }
+
+        loan.addLoanTransaction(newAccrualTransaction);
+        loanTransactionRepository.saveAndFlush(newAccrualTransaction);
+
+        if (newAccrualTransaction.isAccrual()) {
+            businessEventNotifierService.notifyPostBusinessEvent(new 
LoanAccrualTransactionCreatedBusinessEvent(newAccrualTransaction));
+        } else {
+            businessEventNotifierService.notifyPostBusinessEvent(new 
LoanAccrualAdjustmentTransactionBusinessEvent(newAccrualTransaction));
         }
     }
 }
diff --git 
a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java
 
b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java
index 9a9a5ef1c..16bc868be 100644
--- 
a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java
+++ 
b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java
@@ -111,7 +111,7 @@ class AdvancedPaymentScheduleTransactionProcessorTest {
 
     @BeforeEach
     public void setUp() {
-        underTest = new 
AdvancedPaymentScheduleTransactionProcessor(emiCalculator, 
loanRepositoryWrapper, null, null, null);
+        underTest = new 
AdvancedPaymentScheduleTransactionProcessor(emiCalculator, 
loanRepositoryWrapper, null, null, null, null);
 
         ThreadLocalContextUtil.setTenant(new FineractPlatformTenant(1L, 
"default", "Default", "Asia/Kolkata", null));
         ThreadLocalContextUtil.setActionContext(ActionContext.DEFAULT);
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/starter/LoanAccountAutoStarter.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/starter/LoanAccountAutoStarter.java
index fa20d4eee..900daa6af 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/starter/LoanAccountAutoStarter.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/starter/LoanAccountAutoStarter.java
@@ -20,6 +20,7 @@ package org.apache.fineract.portfolio.loanaccount.starter;
 
 import java.util.List;
 import org.apache.fineract.infrastructure.core.service.ExternalIdFactory;
+import 
org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleTransactionProcessorFactory;
 import org.apache.fineract.portfolio.loanaccount.domain.LoanRepositoryWrapper;
 import 
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRepository;
@@ -112,8 +113,9 @@ public class LoanAccountAutoStarter {
     public AdvancedPaymentScheduleTransactionProcessor 
advancedPaymentScheduleTransactionProcessor(EMICalculator emiCalculator,
             LoanRepositoryWrapper loanRepositoryWrapper,
             @Lazy ProgressiveLoanInterestRefundServiceImpl 
progressiveLoanInterestRefundService,
-            LoanTransactionRepository loanTransactionRepository, 
ExternalIdFactory externalIdFactory) {
+            LoanTransactionRepository loanTransactionRepository, 
ExternalIdFactory externalIdFactory,
+            @Lazy BusinessEventNotifierService businessEventNotifierService) {
         return new AdvancedPaymentScheduleTransactionProcessor(emiCalculator, 
loanRepositoryWrapper, progressiveLoanInterestRefundService,
-                loanTransactionRepository, externalIdFactory);
+                loanTransactionRepository, externalIdFactory, 
businessEventNotifierService);
     }
 }

Reply via email to