From 5a7d2d42f9f99e91c48caaa90a5bebcf47eaeb53 Mon Sep 17 00:00:00 2001 From: "mark.vituska" Date: Wed, 18 Jun 2025 12:52:49 +0200 Subject: [PATCH] FINERACT-2181: add e2e test to cover additional future unrecognized interest use-case --- .../test/helper/ErrorMessageHelper.java | 7 + .../test/stepdef/loan/LoanStepDef.java | 16 ++ .../features/LoanAccrualActivity.feature | 181 ++++++++++++++++++ 3 files changed, 204 insertions(+) diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/ErrorMessageHelper.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/ErrorMessageHelper.java index 38cec2b8e..8bd31de06 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/ErrorMessageHelper.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/helper/ErrorMessageHelper.java @@ -364,6 +364,13 @@ public final class ErrorMessageHelper { expectedToStr); } + public static String wrongAmountInTotalUnpaidPayableDueInterest(Double actual, Double expected) { + String actualToStr = actual.toString(); + String expectedToStr = expected.toString(); + return String.format("Wrong amount in Loan total unpaid payable due interest. Actual amount is: %s - But expected amount is: %s", + actualToStr, expectedToStr); + } + public static String wrongAmountInTotalOverdue(Double actual, Double expected) { String actualToStr = actual.toString(); String expectedToStr = expected.toString(); 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 a95218d8d..36ecef7c7 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 @@ -1907,6 +1907,22 @@ public class LoanStepDef extends AbstractStepDef { .isEqualTo(totalInterestOutstandingExpected); } + @Then("Loan has {double} total unpaid payable due interest") + public void loanTotalUnpaidPayableDueInterest(double totalUnpaidPayableDueInterestExpected) throws IOException { + Response loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE); + long loanId = loanCreateResponse.body().getLoanId(); + + Response loanDetailsResponse = loansApi.retrieveLoan(loanId, false, "repaymentSchedule", "", "").execute(); + ErrorHelper.checkSuccessfulApiCall(loanDetailsResponse); + testContext().set(TestContextKey.LOAN_RESPONSE, loanDetailsResponse); + + Double totalUnpaidPayableDueInterestActual = loanDetailsResponse.body().getSummary().getTotalUnpaidPayableDueInterest() + .doubleValue(); + assertThat(totalUnpaidPayableDueInterestActual).as(ErrorMessageHelper + .wrongAmountInTotalUnpaidPayableDueInterest(totalUnpaidPayableDueInterestActual, totalUnpaidPayableDueInterestExpected)) + .isEqualTo(totalUnpaidPayableDueInterestExpected); + } + @Then("Loan has {double} overpaid amount") public void loanOverpaid(double totalOverpaidExpected) throws IOException { Response loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE); diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature index f5a0af563..d8026aee3 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature @@ -7376,3 +7376,184 @@ Feature: LoanAccrualActivity | 22 April 2025 | Accrual | 0.08 | 0.0 | 0.08 | 0.0 | 0.0 | 0.0 | false | false | | 23 April 2025 | Repayment | 102.1 | 100.0 | 2.1 | 0.0 | 0.0 | 0.0 | false | false | | 23 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3773 + Scenario: Verify that interest is calculated after last unpaid period in case of MIR partially covering later periods + When Admin sets the business date to "21 March 2025" + 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_EMI_360_30_IR_DAILY_TILL_PRECLOSE_LAST_INSTALLMENT_STRATEGY | 21 March 2025 | 186.38 | 35.99 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "21 March 2025" with "186.38" amount and expected disbursement date on "21 March 2025" + And Admin successfully disburse the loan on "21 March 2025" with "186.38" EUR transaction amount + Then Loan Repayment schedule has 3 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 | + | | | 21 March 2025 | | 186.38 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 21 April 2025 | | 126.08 | 60.3 | 5.59 | 0.0 | 0.0 | 65.89 | 0.0 | 0.0 | 0.0 | 65.89 | + | 2 | 30 | 21 May 2025 | | 63.97 | 62.11 | 3.78 | 0.0 | 0.0 | 65.89 | 0.0 | 0.0 | 0.0 | 65.89 | + | 3 | 31 | 21 June 2025 | | 0.0 | 63.97 | 1.92 | 0.0 | 0.0 | 65.89 | 0.0 | 0.0 | 0.0 | 65.89 | + And Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 186.38 | 11.29 | 0.0 | 0.0 | 197.67 | 0.0 | 0.0 | 0.0 | 197.67 | + And Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 21 March 2025 | Disbursement | 186.38 | 0.0 | 0.0 | 0.0 | 0.0 | 186.38 | false | false | + And Admin runs inline COB job for Loan + When Admin sets the business date to "17 April 2025" + And Customer makes "MERCHANT_ISSUED_REFUND" transaction with "AUTOPAY" payment type on "17 April 2025" with 87.33 EUR transaction amount and system-generated Idempotency key + Then Loan Repayment schedule has 3 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 | + | | | 21 March 2025 | | 186.38 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 21 April 2025 | | 125.74 | 60.64 | 5.25 | 0.0 | 0.0 | 65.89 | 0.0 | 0.0 | 0.0 | 65.89 | + | 2 | 30 | 21 May 2025 | | 65.89 | 59.85 | 1.15 | 0.0 | 0.0 | 61.0 | 21.44| 21.44 | 0.0 | 39.56 | + | 3 | 31 | 21 June 2025 | 17 April 2025 | 0.0 | 65.89 | 0.0 | 0.0 | 0.0 | 65.89 | 65.89| 65.89 | 0.0 | 0.0 | + And Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 186.38 | 6.4 | 0.0 | 0.0 | 192.78 | 87.33 | 87.33 | 0.0 | 105.45 | + And Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 21 March 2025 | Disbursement | 186.38 | 0.0 | 0.0 | 0.0 | 0.0 | 186.38 | false | false | + | 17 April 2025 | Merchant Issued Refund | 87.33 | 87.33 | 0.0 | 0.0 | 0.0 | 99.05 | false | false | + When Admin sets the business date to "21 May 2025" + And Admin runs inline COB job for Loan + And Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 21 March 2025 | Disbursement | 186.38 | 0.0 | 0.0 | 0.0 | 0.0 | 186.38 | false | false | + | 22 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 23 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 24 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 25 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 26 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 27 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 28 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 29 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 30 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 31 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 01 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 02 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.19 | 0.0 | 0.19 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 15 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 16 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 17 April 2025 | Merchant Issued Refund | 87.33 | 87.33 | 0.0 | 0.0 | 0.0 | 99.05 | false | false | + | 17 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 18 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 19 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 21 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 22 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 23 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 24 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 25 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 26 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 27 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 01 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 02 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 03 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 04 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 05 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 06 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 07 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 08 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 09 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 10 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 11 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 12 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 13 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 14 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 15 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 16 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 17 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 18 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 19 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 20 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + Then Loan has 8.22 total unpaid payable due interest + When Admin sets the business date to "26 May 2025" + And Admin runs inline COB job for Loan + And Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 21 March 2025 | Disbursement | 186.38 | 0.0 | 0.0 | 0.0 | 0.0 | 186.38 | false | false | + | 22 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 23 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 24 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 25 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 26 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 27 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 28 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 29 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 30 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 31 March 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 01 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 02 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.19 | 0.0 | 0.19 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 15 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 16 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 17 April 2025 | Merchant Issued Refund | 87.33 | 87.33 | 0.0 | 0.0 | 0.0 | 99.05 | false | false | + | 17 April 2025 | Accrual | 0.18 | 0.0 | 0.18 | 0.0 | 0.0 | 0.0 | false | false | + | 18 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 19 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 21 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 22 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 23 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 24 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 25 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 26 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 27 April 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 01 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 02 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 03 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 04 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 05 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 06 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 07 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 08 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 09 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 10 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 11 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 12 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 13 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 14 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 15 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 16 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 17 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 18 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 19 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 20 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 21 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 22 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 23 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + | 24 May 2025 | Accrual | 0.1 | 0.0 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 25 May 2025 | Accrual | 0.09 | 0.0 | 0.09 | 0.0 | 0.0 | 0.0 | false | false | + Then Loan has 8.7 total unpaid payable due interest + And Customer makes "AUTOPAY" repayment on "26 May 2025" with 107.75 EUR transaction amount + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + Then Loan has 0 outstanding amount +