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
commit d7f321bc6522a8629124268c7652483495db70f5 Author: mdmytriv <[email protected]> AuthorDate: Fri Apr 25 11:35:10 2025 +0300 FINERACT-2264: added e2e tests for incorrect interest handling in case of early repayment in the middle of interest pause --- .../test/data/loanproduct/DefaultLoanProduct.java | 1 + .../global/LoanProductGlobalInitializerStep.java | 31 + .../fineract/test/support/TestContextKey.java | 1 + .../test/resources/features/EMICalculation.feature | 1 - .../src/test/resources/features/Loan.feature | 2 - .../resources/features/LoanInterestPause.feature | 717 +++++++++++++++++++++ 6 files changed, 750 insertions(+), 3 deletions(-) diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java index 75d817fad8..b7ebe1f9d3 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java @@ -118,6 +118,7 @@ public enum DefaultLoanProduct implements LoanProduct { LP2_ADV_PYMNT_INT_DAILY_EMI_ACTUAL_ACTUAL_INT_REFUND_FULL_ACCELERATE_MATURITY_CHARGE_OFF, // LP2_ADV_PYMNT_INT_DAILY_EMI_ACTUAL_ACTUAL_NO_INTEREST_RECALC_INT_REFUND_FULL_ZERO_INT_CHARGE_OFF, // LP2_ADV_PYMNT_INT_DAILY_EMI_ACTUAL_ACTUAL_NO_INTEREST_RECALC_INT_REFUND_FULL_ACC_MATUR_CHARGE_OFF, // + LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_IR_DAILY_TILL_REST_FREQUENCY_DATE_LAST_INSTALLMENT, // ; @Override diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java index 4f7daf1515..c2fed32820 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java @@ -2346,6 +2346,37 @@ public class LoanProductGlobalInitializerStep implements FineractGlobalInitializ TestContext.INSTANCE.set( TestContextKey.DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INT_DAILY_EMI_ACTUAL_ACTUAL_NO_INTEREST_RECALC_INT_REFUND_FULL_ACC_MATUR_CHARGE_OFF, responseLoanProductsRequestLP2AdvPaymentIntEmiActualActualNoInterestRecalcIntRefundFullAccelerateMaturityChargeOff); + + // LP2 with progressive loan schedule + horizontal + interest EMI + 360/30 + // + interest recalculation, preClosureInterestCalculationStrategy= till rest frequency date, + // interestRecalculationCompoundingMethod = none + // Frequency for recalculate Outstanding Principal: Daily, Frequency Interval for recalculation: 1 + // (LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_IR_DAILY_TILL_REST_FREQUENCY_DATE_LAST_INSTALLMENT) + String name96 = DefaultLoanProduct.LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_IR_DAILY_TILL_REST_FREQUENCY_DATE_LAST_INSTALLMENT + .getName(); + PostLoanProductsRequest loanProductsRequestLP2AdvancedpaymentInterestEmi36030InterestRecalcDailyTillRestFrequencyDateLastInstallment = loanProductsRequestFactory + .defaultLoanProductsRequestLP2Emi()// + .name(name96)// + .daysInYearType(DaysInYearType.DAYS360.value)// + .daysInMonthType(DaysInMonthType.DAYS30.value)// + .isInterestRecalculationEnabled(true)// + .preClosureInterestCalculationStrategy(2)// + .rescheduleStrategyMethod(4)// + .interestRecalculationCompoundingMethod(0)// + .recalculationRestFrequencyType(2)// + .recalculationRestFrequencyInterval(1)// + .paymentAllocation(List.of(// + createPaymentAllocation("DEFAULT", "LAST_INSTALLMENT"), // + createPaymentAllocation("GOODWILL_CREDIT", "LAST_INSTALLMENT"), // + createPaymentAllocation("MERCHANT_ISSUED_REFUND", "REAMORTIZATION"), // + createPaymentAllocation("PAYOUT_REFUND", "NEXT_INSTALLMENT")));// + Response<PostLoanProductsResponse> responseLoanProductsRequestLP2AdvancedpaymentInterest36030InterestRecalcDailyTillRestFrequencyDateLastInstallment = loanProductsApi + .createLoanProduct( + loanProductsRequestLP2AdvancedpaymentInterestEmi36030InterestRecalcDailyTillRestFrequencyDateLastInstallment) + .execute(); + TestContext.INSTANCE.set( + TestContextKey.DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_IR_DAILY_TILL_REST_FREQUENCY_DATELAST_INSTALLMENT, + responseLoanProductsRequestLP2AdvancedpaymentInterest36030InterestRecalcDailyTillRestFrequencyDateLastInstallment); } public static AdvancedPaymentData createPaymentAllocation(String transactionType, String futureInstallmentAllocationRule, diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java index 28283c4301..2f2a26e223 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java @@ -148,6 +148,7 @@ public abstract class TestContextKey { public static final String LP2_NO_INTEREST_RECALCULATION_CHARGEBACK_ALLOCATION_PRINCIPAL_FIRST_RESPONSE = "loanProductCreateResponseLP2NoInterestRecalculationChargebackAllocationPrincipalFirst"; public static final String DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR_LAST_INSTALLMENT_STRATEGY = "loanProductCreateResponseLP2AdvancedPaymentInterestDailyInterestRecalculationAccelerateMaturityChargeOffBehaviourLastInstallmentStrategy"; public static final String DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR_LAST_INSTALLMENT_STRATEGY = "loanProductCreateResponseLP2AdvancedPaymentAccelerateMaturityChargeOffBehaviourLastInstallmentStrategy"; + public static final String DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_IR_DAILY_TILL_REST_FREQUENCY_DATELAST_INSTALLMENT = "loanProductCreateResponseLP2AdvancedPaymentInterestDailyEmi36030InterestRecalculationDailyTillRestFrequencyDateLastInstallment"; public static final String CHARGE_FOR_LOAN_PERCENT_LATE_CREATE_RESPONSE = "ChargeForLoanPercentLateCreateResponse"; public static final String CHARGE_FOR_LOAN_PERCENT_LATE_AMOUNT_PLUS_INTEREST_CREATE_RESPONSE = "ChargeForLoanPercentLateAmountPlusInterestCreateResponse"; public static final String CHARGE_FOR_LOAN_PERCENT_PROCESSING_CREATE_RESPONSE = "ChargeForLoanPercentProcessingCreateResponse"; diff --git a/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature b/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature index 618bd3de42..ba2689467c 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/EMICalculation.feature @@ -1418,7 +1418,6 @@ Feature: EMI calculation and repayment schedule checks for interest bearing loan Scenario: Verify the Pay-off transaction - UC2: 360/30, pre-close on overdue loan, preClosureInterestCalculationStrategy = till rest frequency date When Admin sets the business date to "01 January 2024" When Admin creates a client with random data - When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When 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_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | diff --git a/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature b/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature index 33da16b7ce..f72490351a 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature @@ -6082,7 +6082,6 @@ Feature: Loan Scenario: Early pay-off loan with interest, TILL_REST_FREQUENCY_DATE product When Admin sets the business date to "01 January 2024" When Admin creates a client with random data - When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When 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_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | @@ -6139,7 +6138,6 @@ Feature: Loan | 15 February 2024 | Repayment | 84.06 | 83.57 | 0.49 | 0.0 | 0.0 | 0.0 | false | | 15 February 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | Then Loan's all installments have obligations met - When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE" loan product "DEFAULT" transaction type to "LAST_INSTALLMENT" future installment allocation rule @TestRailId:C3484 Scenario: Interest recalculation - S1 daily for overdue loan diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestPause.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestPause.feature index 23d775711f..344d92c6e6 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestPause.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestPause.feature @@ -383,3 +383,720 @@ Feature: Loan interest pause on repayment schedule | 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 | | 14 January 2024 | Repayment | 17.01 | 16.77 | 0.24 | 0.0 | 0.0 | 83.23 | false | false | + + @TestRailId:C3624 + Scenario: Verify repayment in the middle of interest pause period - UC1 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 27 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 18 | MONTHS | 1 | MONTHS | 18 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 18 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 946.07 | 53.93 | 14.25 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 2 | 31 | 01 June 2025 | | 899.18 | 46.89 | 21.29 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 3 | 30 | 01 July 2025 | | 851.23 | 47.95 | 20.23 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 4 | 31 | 01 August 2025 | | 802.2 | 49.03 | 19.15 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 5 | 31 | 01 September 2025 | | 752.07 | 50.13 | 18.05 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 6 | 30 | 01 October 2025 | | 700.81 | 51.26 | 16.92 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 7 | 31 | 01 November 2025 | | 648.4 | 52.41 | 15.77 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 8 | 30 | 01 December 2025 | | 594.81 | 53.59 | 14.59 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 9 | 31 | 01 January 2026 | | 540.01 | 54.8 | 13.38 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 10 | 31 | 01 February 2026 | | 483.98 | 56.03 | 12.15 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 11 | 28 | 01 March 2026 | | 426.69 | 57.29 | 10.89 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 12 | 31 | 01 April 2026 | | 368.11 | 58.58 | 9.6 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 13 | 30 | 01 May 2026 | | 308.21 | 59.9 | 8.28 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 14 | 31 | 01 June 2026 | | 246.96 | 61.25 | 6.93 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 15 | 30 | 01 July 2026 | | 184.34 | 62.62 | 5.56 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 16 | 31 | 01 August 2026 | | 120.31 | 64.03 | 4.15 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 17 | 31 | 01 September 2026 | | 54.84 | 65.47 | 2.71 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 18 | 30 | 01 October 2026 | | 0.0 | 54.84 | 1.23 | 0.0 | 0.0 | 56.07 | 0.0 | 0.0 | 0.0 | 56.07 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 215.13 | 0.0 | 0.0 | 1215.13 | 0.0 | 0.0 | 0.0 | 1215.13 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + And Customer makes "AUTOPAY" repayment on "20 April 2025" with 68.18 EUR transaction amount + When Admin sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 18 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | 20 April 2025 | 941.57 | 58.43 | 9.75 | 0.0 | 0.0 | 68.18 | 68.18 | 68.18 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | | 898.82 | 42.75 | 25.43 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 3 | 30 | 01 July 2025 | | 850.86 | 47.96 | 20.22 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 4 | 31 | 01 August 2025 | | 801.82 | 49.04 | 19.14 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 5 | 31 | 01 September 2025 | | 751.68 | 50.14 | 18.04 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 6 | 30 | 01 October 2025 | | 700.41 | 51.27 | 16.91 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 7 | 31 | 01 November 2025 | | 647.99 | 52.42 | 15.76 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 8 | 30 | 01 December 2025 | | 594.39 | 53.6 | 14.58 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 9 | 31 | 01 January 2026 | | 539.58 | 54.81 | 13.37 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 10 | 31 | 01 February 2026 | | 483.54 | 56.04 | 12.14 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 11 | 28 | 01 March 2026 | | 426.24 | 57.3 | 10.88 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 12 | 31 | 01 April 2026 | | 367.65 | 58.59 | 9.59 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 13 | 30 | 01 May 2026 | | 307.74 | 59.91 | 8.27 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 14 | 31 | 01 June 2026 | | 246.48 | 61.26 | 6.92 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 15 | 30 | 01 July 2026 | | 183.85 | 62.63 | 5.55 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 16 | 31 | 01 August 2026 | | 119.81 | 64.04 | 4.14 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 17 | 31 | 01 September 2026 | | 54.33 | 65.48 | 2.7 | 0.0 | 0.0 | 68.18 | 0.0 | 0.0 | 0.0 | 68.18 | + | 18 | 30 | 01 October 2026 | | 0.0 | 54.33 | 1.22 | 0.0 | 0.0 | 55.55 | 0.0 | 0.0 | 0.0 | 55.55 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 214.61 | 0.0 | 0.0 | 1214.61 | 68.18 | 68.18 | 0.0 | 1146.43 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Repayment | 68.18 | 58.43 | 9.75 | 0.0 | 0.0 | 941.57 | false | false | + | 26 April 2025 | Accrual | 0.71 | 0.0 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | + | 27 April 2025 | Accrual | 0.7 | 0.0 | 0.7 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.71 | 0.0 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.7 | 0.0 | 0.7 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual | 0.71 | 0.0 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3625 + Scenario: Verify a few repayments in the middle of interest pause period - UC2 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_INTEREST_RECALCULATION_SARP_TILL_PRECLOSE | 01 April 2025 | 1000 | 36 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 240 | DAYS | 15 | DAYS | 16 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "05 May 2025" + When Admin sets the business date to "20 April 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 16 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 16 April 2025 | | 942.24 | 57.76 | 13.0 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 2 | 15 | 01 May 2025 | | 871.48 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 3 | 15 | 16 May 2025 | | 810.31 | 61.17 | 9.59 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 4 | 15 | 31 May 2025 | | 751.7 | 58.61 | 12.15 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 5 | 15 | 15 June 2025 | | 692.22 | 59.48 | 11.28 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 6 | 15 | 30 June 2025 | | 631.84 | 60.38 | 10.38 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 7 | 15 | 15 July 2025 | | 570.56 | 61.28 | 9.48 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 8 | 15 | 30 July 2025 | | 508.36 | 62.2 | 8.56 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 9 | 15 | 14 August 2025 | | 445.23 | 63.13 | 7.63 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 10 | 15 | 29 August 2025 | | 381.15 | 64.08 | 6.68 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 11 | 15 | 13 September 2025 | | 316.11 | 65.04 | 5.72 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 12 | 15 | 28 September 2025 | | 250.09 | 66.02 | 4.74 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 13 | 15 | 13 October 2025 | | 183.08 | 67.01 | 3.75 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 14 | 15 | 28 October 2025 | | 115.07 | 68.01 | 2.75 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 15 | 15 | 12 November 2025 | | 46.04 | 69.03 | 1.73 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 16 | 15 | 27 November 2025 | | 0.0 | 46.04 | 0.69 | 0.0 | 0.0 | 46.73 | 0.0 | 0.0 | 0.0 | 46.73 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 108.13 | 0.0 | 0.0 | 1108.13 | 0.0 | 0.0 | 0.0 | 1108.13 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + And Customer makes "AUTOPAY" repayment on "20 April 2025" with 70.76 EUR transaction amount + When Admin sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "01 May 2025" with 70.76 EUR transaction amount + When Admin sets the business date to "10 May 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 16 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 16 April 2025 | 20 April 2025 | 942.24 | 57.76 | 13.0 | 0.0 | 0.0 | 70.76 | 70.76 | 0.0 | 70.76 | 0.0 | + | 2 | 15 | 01 May 2025 | 01 May 2025 | 871.48 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | 70.76 | 0.0 | 0.0 | 0.0 | + | 3 | 15 | 16 May 2025 | | 810.31 | 61.17 | 9.59 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 4 | 15 | 31 May 2025 | | 751.7 | 58.61 | 12.15 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 5 | 15 | 15 June 2025 | | 692.22 | 59.48 | 11.28 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 6 | 15 | 30 June 2025 | | 631.84 | 60.38 | 10.38 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 7 | 15 | 15 July 2025 | | 570.56 | 61.28 | 9.48 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 8 | 15 | 30 July 2025 | | 508.36 | 62.2 | 8.56 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 9 | 15 | 14 August 2025 | | 445.23 | 63.13 | 7.63 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 10 | 15 | 29 August 2025 | | 381.15 | 64.08 | 6.68 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 11 | 15 | 13 September 2025 | | 316.11 | 65.04 | 5.72 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 12 | 15 | 28 September 2025 | | 250.09 | 66.02 | 4.74 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 13 | 15 | 13 October 2025 | | 183.08 | 67.01 | 3.75 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 14 | 15 | 28 October 2025 | | 115.07 | 68.01 | 2.75 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 15 | 15 | 12 November 2025 | | 46.04 | 69.03 | 1.73 | 0.0 | 0.0 | 70.76 | 0.0 | 0.0 | 0.0 | 70.76 | + | 16 | 15 | 27 November 2025 | | 0.0 | 46.04 | 0.69 | 0.0 | 0.0 | 46.73 | 0.0 | 0.0 | 0.0 | 46.73 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 108.13 | 0.0 | 0.0 | 1108.13 | 141.52 | 0.0 | 70.76 | 966.61 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 1.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Repayment | 70.76 | 57.76 | 13.0 | 0.0 | 0.0 | 942.24 | false | false | + | 01 May 2025 | Repayment | 70.76 | 70.76 | 0.0 | 0.0 | 0.0 | 871.48 | false | false | + | 06 May 2025 | Accrual | 0.87 | 0.0 | 0.87 | 0.0 | 0.0 | 0.0 | false | false | + | 07 May 2025 | Accrual | 0.87 | 0.0 | 0.87 | 0.0 | 0.0 | 0.0 | false | false | + | 08 May 2025 | Accrual | 0.87 | 0.0 | 0.87 | 0.0 | 0.0 | 0.0 | false | false | + | 09 May 2025 | Accrual | 0.88 | 0.0 | 0.88 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3626 + Scenario: Verify charge with repayment, payout refund and CBR in the middle of interest pause period - UC3 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_INTEREST_RECALCULATION_DAILY_TILL_REST_FREQUENCY_DATE | 01 April 2025 | 1000 | 27 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 834.21 | 165.79 | 14.25 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 2 | 31 | 01 June 2025 | | 672.94 | 161.27 | 18.77 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 3 | 30 | 01 July 2025 | | 508.04 | 164.9 | 15.14 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 4 | 31 | 01 August 2025 | | 339.43 | 168.61 | 11.43 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 5 | 31 | 01 September 2025 | | 167.03 | 172.4 | 7.64 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 6 | 30 | 01 October 2025 | | 0.0 | 167.03 | 3.76 | 0.0 | 0.0 | 170.79 | 0.0 | 0.0 | 0.0 | 170.79 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 70.99 | 0.0 | 0.0 | 1070.99 | 0.0 | 0.0 | 0.0 | 1070.99 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + And Admin adds "LOAN_NSF_FEE" due date charge with "20 April 2025" due date and 25 EUR transaction amount + When Admin sets the business date to "21 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "21 April 2025" with 800 EUR transaction amount + When Admin sets the business date to "22 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "PAYOUT_REFUND" transaction with "AUTOPAY" payment type on "22 April 2025" with 400 EUR transaction amount and self-generated Idempotency key + When Admin sets the business date to "23 April 2025" + And Admin runs inline COB job for Loan + And Admin makes Credit Balance Refund transaction on "23 April 2025" with 160.75 EUR transaction amount + When Admin sets the business date to "01 May 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | 21 April 2025 | 834.21 | 165.79 | 14.25 | 0.0 | 25.0 | 205.04 | 205.04 | 205.04 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | 21 April 2025 | 654.17 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 3 | 30 | 01 July 2025 | 21 April 2025 | 474.13 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 4 | 31 | 01 August 2025 | 21 April 2025 | 294.09 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 5 | 31 | 01 September 2025 | 22 April 2025 | 114.05 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 6 | 30 | 01 October 2025 | 22 April 2025 | 0.0 | 114.05 | 0.0 | 0.0 | 0.0 | 114.05 | 114.05 | 114.05 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 14.25 | 0.0 | 25.0 | 1039.25 | 1039.25 | 1039.25 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Accrual | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | false | false | + | 21 April 2025 | Repayment | 800.0 | 760.75 | 14.25 | 0.0 | 25.0 | 239.25 | false | false | + | 22 April 2025 | Payout Refund | 400.0 | 239.25 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + | 22 April 2025 | Accrual | 4.5 | 0.0 | 4.5 | 0.0 | 0.0 | 0.0 | false | false | + | 23 April 2025 | Credit Balance Refund | 160.75 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + + @TestRailId:C3627 + Scenario: Verify repayment with reversed charge-off in the middle of interest pause period - UC4 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_INTEREST_RECALCULATION_DAILY_ACCRUAL_ACTIVITY_POSTING | 01 April 2025 | 1000 | 17 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 833.94 | 166.06 | 8.97 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 2 | 31 | 01 June 2025 | | 670.72 | 163.22 | 11.81 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 3 | 30 | 01 July 2025 | | 505.19 | 165.53 | 9.5 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 4 | 31 | 01 August 2025 | | 337.32 | 167.87 | 7.16 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 5 | 31 | 01 September 2025 | | 167.07 | 170.25 | 4.78 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 6 | 30 | 01 October 2025 | | 0.0 | 167.07 | 2.37 | 0.0 | 0.0 | 169.44 | 0.0 | 0.0 | 0.0 | 169.44 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 44.59 | 0.0 | 0.0 | 1044.59 | 0.0 | 0.0 | 0.0 | 1044.59 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + And Customer makes "AUTOPAY" repayment on "20 April 2025" with 300 EUR transaction amount + When Admin sets the business date to "21 April 2025" + And Admin runs inline COB job for Loan + And Admin does charge-off the loan on "21 April 2025" + When Admin sets the business date to "22 April 2025" + And Admin runs inline COB job for Loan + And Admin does a charge-off undo the loan + When Admin sets the business date to "01 May 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | 20 April 2025 | 831.11 | 168.89 | 6.14 | 0.0 | 0.0 | 175.03 | 175.03 | 175.03 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | | 668.08 | 163.03 | 12.0 | 0.0 | 0.0 | 175.03 | 124.97 | 124.97 | 0.0 | 50.06 | + | 3 | 30 | 01 July 2025 | | 502.51 | 165.57 | 9.46 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 4 | 31 | 01 August 2025 | | 334.6 | 167.91 | 7.12 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 5 | 31 | 01 September 2025 | | 164.31 | 170.29 | 4.74 | 0.0 | 0.0 | 175.03 | 0.0 | 0.0 | 0.0 | 175.03 | + | 6 | 30 | 01 October 2025 | | 0.0 | 164.31 | 2.33 | 0.0 | 0.0 | 166.64 | 0.0 | 0.0 | 0.0 | 166.64 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 41.79 | 0.0 | 0.0 | 1041.79 | 300.0 | 300.0 | 0.0 | 741.79 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.48 | 0.0 | 0.48 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.47 | 0.0 | 0.47 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Repayment | 300.0 | 293.86 | 6.14 | 0.0 | 0.0 | 706.14 | false | false | + | 21 April 2025 | Charge-off | 741.79 | 706.14 | 35.65 | 0.0 | 0.0 | 0.0 | true | false | + | 26 April 2025 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 27 April 2025 | Accrual | 0.34 | 0.0 | 0.34 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual | 0.34 | 0.0 | 0.34 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3628 + Scenario: Verify MIR with backdated repayment in the middle of interest pause period - UC5 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_ACTUAL_ACTUAL_INTEREST_REFUND_FULL" loan product "MERCHANT_ISSUED_REFUND" transaction type to "LAST_INSTALLMENT" future installment allocation rule + When 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_ACTUAL_ACTUAL_INTEREST_REFUND_FULL | 01 April 2025 | 1000 | 9.9 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 749.98 | 250.02 | 5.15 | 0.0 | 0.0 | 255.17 | 0.0 | 0.0 | 0.0 | 255.17 | + | 2 | 31 | 01 June 2025 | | 501.12 | 248.86 | 6.31 | 0.0 | 0.0 | 255.17 | 0.0 | 0.0 | 0.0 | 255.17 | + | 3 | 30 | 01 July 2025 | | 250.03 | 251.09 | 4.08 | 0.0 | 0.0 | 255.17 | 0.0 | 0.0 | 0.0 | 255.17 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.03 | 2.1 | 0.0 | 0.0 | 252.13 | 0.0 | 0.0 | 0.0 | 252.13 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 17.64 | 0.0 | 0.0 | 1017.64 | 0.0 | 0.0 | 0.0 | 1017.64 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.28 | 0.0 | 0.28 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.28 | 0.0 | 0.28 | 0.0 | 0.0 | 0.0 | false | false | + When Customer makes "MERCHANT_ISSUED_REFUND" transaction with "AUTOPAY" payment type on "20 April 2025" with 600 EUR transaction amount and system-generated Idempotency key + When Admin sets the business date to "30 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "21 April 2025" with 350 EUR transaction amount + When Admin sets the business date to "1 May 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | 21 April 2025 | 748.36 | 251.64 | 3.53 | 0.0 | 0.0 | 255.17 | 255.17 | 255.17 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | | 510.34 | 238.02 | 0.51 | 0.0 | 0.0 | 238.53 | 186.61 | 186.61 | 0.0 | 51.92 | + | 3 | 30 | 01 July 2025 | 20 April 2025 | 255.17 | 255.17 | 0.0 | 0.0 | 0.0 | 255.17 | 255.17 | 255.17 | 0.0 | 0.0 | + | 4 | 31 | 01 August 2025 | 20 April 2025 | 0.0 | 255.17 | 0.0 | 0.0 | 0.0 | 255.17 | 255.17 | 255.17 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.04 | 0.0 | 0.0 | 1004.04 | 952.12 | 952.12 | 0.0 | 51.92 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.28 | 0.0 | 0.28 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.27 | 0.0 | 0.27 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.28 | 0.0 | 0.28 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Merchant Issued Refund | 600.0 | 600.0 | 0.0 | 0.0 | 0.0 | 400.0 | false | false | + | 20 April 2025 | Interest Refund | 2.12 | 2.12 | 0.0 | 0.0 | 0.0 | 397.88 | false | false | + | 21 April 2025 | Repayment | 350.0 | 346.47 | 3.53 | 0.0 | 0.0 | 51.41 | 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.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.11 | 0.0 | 0.11 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual Adjustment | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_ACTUAL_ACTUAL_INTEREST_REFUND_FULL" loan product "MERCHANT_ISSUED_REFUND" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + + @TestRailId:C3629 + Scenario: Verify repayment with Goodwill Credit the middle of interest pause period for multidisbursal loan with downpayment - UC6 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_RECALCULATION_DAILY_EMI_360_30_MULTIDISBURSE_AUTO_DOWNPAYMENT | 01 April 2025 | 700 | 25 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 150 | DAYS | 15 | DAYS | 10 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "700" amount and expected disbursement date on "01 April 2025" + And Admin successfully disburse the loan on "01 April 2025" with "700" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "10 April 2025" and end date "05 May 2025" + When Admin sets the business date to "12 April 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 11 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 April 2025 | | 700.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 April 2025 | 01 April 2025 | 525.0 | 175.0 | 0.0 | 0.0 | 0.0 | 175.0 | 175.0 | 0.0 | 0.0 | 0.0 | + | 2 | 15 | 16 April 2025 | | 472.36 | 52.64 | 2.92 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 3 | 15 | 01 May 2025 | | 416.8 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 4 | 15 | 16 May 2025 | | 364.42 | 52.38 | 3.18 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 5 | 15 | 31 May 2025 | | 312.66 | 51.76 | 3.8 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 6 | 15 | 15 June 2025 | | 260.36 | 52.3 | 3.26 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 7 | 15 | 30 June 2025 | | 207.51 | 52.85 | 2.71 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 8 | 15 | 15 July 2025 | | 154.11 | 53.4 | 2.16 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 9 | 15 | 30 July 2025 | | 100.16 | 53.95 | 1.61 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 10 | 15 | 14 August 2025 | | 45.64 | 54.52 | 1.04 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 11 | 15 | 29 August 2025 | | 0.0 | 45.64 | 0.48 | 0.0 | 0.0 | 46.12 | 0.0 | 0.0 | 0.0 | 46.12 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 700.0 | 21.16 | 0.0 | 0.0 | 721.16 | 175.0 | 0.0 | 0.0 | 546.16 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 700.0 | 0.0 | 0.0 | 0.0 | 0.0 | 700.0 | false | false | + | 01 April 2025 | Down Payment | 175.0 | 175.0 | 0.0 | 0.0 | 0.0 | 525.0 | false | false | + | 02 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + And Customer makes "GOODWILL_CREDIT" transaction with "AUTOPAY" payment type on "12 April 2025" with 25 EUR transaction amount and self-generated Idempotency key + When Admin sets the business date to "30 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "30 April 2025" with 170 EUR transaction amount + When Admin sets the business date to "10 May 2025" + And Admin runs inline COB job for Loan + Then Loan Repayment schedule has 11 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 April 2025 | | 700.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 April 2025 | 01 April 2025 | 525.0 | 175.0 | 0.0 | 0.0 | 0.0 | 175.0 | 175.0 | 0.0 | 0.0 | 0.0 | + | 2 | 15 | 16 April 2025 | 30 April 2025 | 472.36 | 52.64 | 2.92 | 0.0 | 0.0 | 55.56 | 55.56 | 0.0 | 55.56 | 0.0 | + | 3 | 15 | 01 May 2025 | 30 April 2025 | 416.8 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | 55.56 | 55.56 | 0.0 | 0.0 | + | 4 | 15 | 16 May 2025 | 30 April 2025 | 361.24 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | 55.56 | 55.56 | 0.0 | 0.0 | + | 5 | 15 | 31 May 2025 | | 311.69 | 49.55 | 6.01 | 0.0 | 0.0 | 55.56 | 3.32 | 3.32 | 0.0 | 52.24 | + | 6 | 15 | 15 June 2025 | | 259.12 | 52.57 | 2.99 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 7 | 15 | 30 June 2025 | | 206.0 | 53.12 | 2.44 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 8 | 15 | 15 July 2025 | | 152.33 | 53.67 | 1.89 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 9 | 15 | 30 July 2025 | | 98.1 | 54.23 | 1.33 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 10 | 15 | 14 August 2025 | | 43.3 | 54.8 | 0.76 | 0.0 | 0.0 | 55.56 | 0.0 | 0.0 | 0.0 | 55.56 | + | 11 | 15 | 29 August 2025 | | 0.0 | 43.3 | 0.19 | 0.0 | 0.0 | 43.49 | 25.0 | 25.0 | 0.0 | 18.49 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 700.0 | 18.53 | 0.0 | 0.0 | 718.53 | 370.0 | 139.44 | 55.56 | 348.53 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 700.0 | 0.0 | 0.0 | 0.0 | 0.0 | 700.0 | false | false | + | 01 April 2025 | Down Payment | 175.0 | 175.0 | 0.0 | 0.0 | 0.0 | 525.0 | false | false | + | 02 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.36 | 0.0 | 0.36 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.37 | 0.0 | 0.37 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Goodwill Credit | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 500.0 | false | false | + | 30 April 2025 | Repayment | 170.0 | 167.08 | 2.92 | 0.0 | 0.0 | 332.92 | false | false | + | 06 May 2025 | Accrual | 0.23 | 0.0 | 0.23 | 0.0 | 0.0 | 0.0 | false | false | + | 07 May 2025 | Accrual | 0.23 | 0.0 | 0.23 | 0.0 | 0.0 | 0.0 | false | false | + | 08 May 2025 | Accrual | 0.23 | 0.0 | 0.23 | 0.0 | 0.0 | 0.0 | false | false | + | 09 May 2025 | Accrual | 0.23 | 0.0 | 0.23 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3630 + Scenario: Verify repayment with 2nd disbursement the middle of interest pause period for multidisbursal loan - UC7 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_INTEREST_RECALC_DAILY_MULTIDISBURSE | 01 April 2025 | 1000 | 33 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "700" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And 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 April 2025 | | 700.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 584.04 | 115.96 | 12.19 | 0.0 | 0.0 | 128.15 | 0.0 | 0.0 | 0.0 | 128.15 | + | 2 | 31 | 01 June 2025 | | 471.95 | 112.09 | 16.06 | 0.0 | 0.0 | 128.15 | 0.0 | 0.0 | 0.0 | 128.15 | + | 3 | 30 | 01 July 2025 | | 356.78 | 115.17 | 12.98 | 0.0 | 0.0 | 128.15 | 0.0 | 0.0 | 0.0 | 128.15 | + | 4 | 31 | 01 August 2025 | | 238.44 | 118.34 | 9.81 | 0.0 | 0.0 | 128.15 | 0.0 | 0.0 | 0.0 | 128.15 | + | 5 | 31 | 01 September 2025 | | 116.85 | 121.59 | 6.56 | 0.0 | 0.0 | 128.15 | 0.0 | 0.0 | 0.0 | 128.15 | + | 6 | 30 | 01 October 2025 | | 0.0 | 116.85 | 3.21 | 0.0 | 0.0 | 120.06 | 0.0 | 0.0 | 0.0 | 120.06 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 700.0 | 60.81 | 0.0 | 0.0 | 760.81 | 0.0 | 0.0 | 0.0 | 760.81 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 700.0 | 0.0 | 0.0 | 0.0 | 0.0 | 700.0 | false | false | + | 02 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.65 | 0.0 | 0.65 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.65 | 0.0 | 0.65 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + And Customer makes "AUTOPAY" repayment on "20 April 2025" with 170 EUR transaction amount + When Admin sets the business date to "22 April 2025" + And Admin runs inline COB job for Loan + When Admin successfully disburse the loan on "22 April 2025" with "300" EUR transaction amount + When Admin sets the business date to "01 May 2025" + And 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 April 2025 | | 700.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | | | 22 April 2025 | | 300.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 832.32 | 167.68 | 12.95 | 0.0 | 0.0 | 180.63 | 128.15 | 128.15 | 0.0 | 52.48 | + | 2 | 31 | 01 June 2025 | | 673.43 | 158.89 | 21.74 | 0.0 | 0.0 | 180.63 | 41.85 | 41.85 | 0.0 | 138.78 | + | 3 | 30 | 01 July 2025 | | 511.32 | 162.11 | 18.52 | 0.0 | 0.0 | 180.63 | 0.0 | 0.0 | 0.0 | 180.63 | + | 4 | 31 | 01 August 2025 | | 344.75 | 166.57 | 14.06 | 0.0 | 0.0 | 180.63 | 0.0 | 0.0 | 0.0 | 180.63 | + | 5 | 31 | 01 September 2025 | | 173.6 | 171.15 | 9.48 | 0.0 | 0.0 | 180.63 | 0.0 | 0.0 | 0.0 | 180.63 | + | 6 | 30 | 01 October 2025 | | 0.0 | 173.6 | 4.77 | 0.0 | 0.0 | 178.37 | 0.0 | 0.0 | 0.0 | 178.37 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 81.52 | 0.0 | 0.0 | 1081.52 | 170.0 | 170.0 | 0.0 | 911.52 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 700.0 | 0.0 | 0.0 | 0.0 | 0.0 | 700.0 | false | false | + | 02 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.65 | 0.0 | 0.65 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.65 | 0.0 | 0.65 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.64 | 0.0 | 0.64 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Repayment | 170.0 | 161.66 | 8.34 | 0.0 | 0.0 | 538.34 | false | false | + | 22 April 2025 | Disbursement | 300.0 | 0.0 | 0.0 | 0.0 | 0.0 | 838.34 | false | false | + | 26 April 2025 | Accrual | 0.77 | 0.0 | 0.77 | 0.0 | 0.0 | 0.0 | false | false | + | 27 April 2025 | Accrual | 0.77 | 0.0 | 0.77 | 0.0 | 0.0 | 0.0 | false | false | + | 28 April 2025 | Accrual | 0.77 | 0.0 | 0.77 | 0.0 | 0.0 | 0.0 | false | false | + | 29 April 2025 | Accrual | 0.77 | 0.0 | 0.77 | 0.0 | 0.0 | 0.0 | false | false | + | 30 April 2025 | Accrual | 0.76 | 0.0 | 0.76 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3631 + Scenario: Verify charge with repayment, payout refund and CBR in the middle of interest pause period for loan with LAST_INSTALLMENT strategy - UC9 + When Admin sets the business date to "01 April 2025" + When Admin creates a client with random data + When 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_REST_FREQUENCY_DATE_LAST_INSTALLMENT | 01 April 2025 | 1000 | 27 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 April 2025" with "1000" amount and expected disbursement date on "01 April 2025" + When Admin successfully disburse the loan on "01 April 2025" with "1000" EUR transaction amount + And Admin runs inline COB job for Loan + And Create an interest pause period with start date "15 April 2025" and end date "25 April 2025" + When Admin sets the business date to "20 April 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | | 834.21 | 165.79 | 14.25 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 2 | 31 | 01 June 2025 | | 672.94 | 161.27 | 18.77 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 3 | 30 | 01 July 2025 | | 508.04 | 164.9 | 15.14 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 4 | 31 | 01 August 2025 | | 339.43 | 168.61 | 11.43 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 5 | 31 | 01 September 2025 | | 167.03 | 172.4 | 7.64 | 0.0 | 0.0 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | + | 6 | 30 | 01 October 2025 | | 0.0 | 167.03 | 3.76 | 0.0 | 0.0 | 170.79 | 0.0 | 0.0 | 0.0 | 170.79 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 70.99 | 0.0 | 0.0 | 1070.99 | 0.0 | 0.0 | 0.0 | 1070.99 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + And Admin adds "LOAN_NSF_FEE" due date charge with "20 April 2025" due date and 25 EUR transaction amount + When Admin sets the business date to "21 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "21 April 2025" with 800 EUR transaction amount + When Admin sets the business date to "22 April 2025" + And Admin runs inline COB job for Loan + And Customer makes "PAYOUT_REFUND" transaction with "AUTOPAY" payment type on "22 April 2025" with 400 EUR transaction amount and self-generated Idempotency key + When Admin sets the business date to "23 April 2025" + And Admin runs inline COB job for Loan + And Admin makes Credit Balance Refund transaction on "23 April 2025" with 160.75 EUR transaction amount + When Admin sets the business date to "01 May 2025" + And 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 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 01 May 2025 | 22 April 2025 | 830.61 | 169.39 | 10.65 | 0.0 | 25.0 | 205.04 | 205.04 | 205.04 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | 22 April 2025 | 720.14 | 110.47 | 0.0 | 0.0 | 0.0 | 110.47 | 110.47 | 110.47 | 0.0 | 0.0 | + | 3 | 30 | 01 July 2025 | 21 April 2025 | 540.1 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 4 | 31 | 01 August 2025 | 21 April 2025 | 360.06 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 5 | 31 | 01 September 2025 | 21 April 2025 | 180.02 | 180.04 | 0.0 | 0.0 | 0.0 | 180.04 | 180.04 | 180.04 | 0.0 | 0.0 | + | 6 | 30 | 01 October 2025 | 21 April 2025 | 0.0 | 180.02 | 0.0 | 0.0 | 0.0 | 180.02 | 180.02 | 180.02 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 10.65 | 0.0 | 25.0 | 1035.65 | 1035.65 | 1035.65 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 03 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 04 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 05 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 06 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 07 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 08 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 09 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 10 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 11 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 12 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 13 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 14 April 2025 | Accrual | 0.75 | 0.0 | 0.75 | 0.0 | 0.0 | 0.0 | false | false | + | 20 April 2025 | Accrual | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | false | false | + | 21 April 2025 | Repayment | 800.0 | 800.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + | 22 April 2025 | Payout Refund | 400.0 | 200.0 | 10.65 | 0.0 | 25.0 | 0.0 | false | false | + | 22 April 2025 | Accrual | 0.9 | 0.0 | 0.9 | 0.0 | 0.0 | 0.0 | false | false | + | 23 April 2025 | Credit Balance Refund | 160.75 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + Then Loan status will be "OVERPAID" \ No newline at end of file
