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 1e926669d38c40d64a2c60045dd047d2a04ee69c Author: Peter Kovacs <[email protected]> AuthorDate: Tue Aug 19 10:40:29 2025 +0200 FINERACT-1981: Reschedule loan with interest rate change from zero breaks repayment schedule and loan status to OVERPAID - E2E tests --- .../test/data/LoanRescheduleErrorMessage.java | 3 +- .../features/LoanInterestRateChange.feature | 714 ++++++++++++++++----- .../features/LoanRepaymentSchedule.feature | 22 +- 3 files changed, 560 insertions(+), 179 deletions(-) diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/LoanRescheduleErrorMessage.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/LoanRescheduleErrorMessage.java index 5e5be8aafb..f14725ce58 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/LoanRescheduleErrorMessage.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/LoanRescheduleErrorMessage.java @@ -26,7 +26,8 @@ public enum LoanRescheduleErrorMessage { LOAN_RESCHEDULE_NOT_ALLOWED_FROM_ZERO_TO_NEW_INTEREST_RATE("Failed data validation due to: newInterestRate."), // LOAN_RESCHEDULE_NOT_ALLOWED_FROM_CURRENT_INTEREST_RATE_TO_ZERO("The parameter `newInterestRate` must be greater than 0."), // NEW_INTEREST_RATE_IS_1_BUT_MINIMUM_IS_3("The parameter `newInterestRate` value 1.0 must not be less than the minimum value 3.0"), // - NEW_INTEREST_RATE_IS_45_BUT_MAXIMUM_IS_20("The parameter `newInterestRate` value 45.0 must not be more than maximum value 20.0"); // + NEW_INTEREST_RATE_IS_45_BUT_MAXIMUM_IS_20("The parameter `newInterestRate` value 45.0 must not be more than maximum value 20.0"), // + LOAN_INTEREST_RATE_CANNOT_BE_NEGATIVE("The parameter `newInterestRate` must be greater than or equal to 0."); // private final String messageTemplate; diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature index 19295688c9..c921d9b185 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature @@ -4,14 +4,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3217 Scenario: Verify Interest rate change - backdated, modification on installment due date - UC1 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -56,14 +56,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3916 Scenario: Verify Interest rate change - backdated, modification in middle of installment - UC2 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -108,14 +108,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3917 Scenario: Verify Interest rate change - backdated, modification in middle of installment, no reverse-replay - UC3 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -135,8 +135,8 @@ Feature: Loan interest rate change on repayment schedule And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount And Customer makes "AUTOPAY" repayment on "01 March 2024" with 17.01 EUR transaction amount When Admin creates and approves Loan reschedule with the following data: - | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | - | 11 March 2024 | 11 March 2024 | | | | | 4 | + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 11 March 2024 | 11 March 2024 | | | | | 4 | Then Loan Repayment schedule has 6 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -160,14 +160,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3918 Scenario: Verify Interest rate change - backdated, modification on installment due date, with repayment undo - UC1.2 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -208,8 +208,8 @@ Feature: Loan interest rate change on repayment schedule | 01 March 2024 | Repayment | 17.01 | 16.73 | 0.28 | 0.0 | 0.0 | 66.84 | false | true | When Admin creates and approves Loan reschedule with the following data: - | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | - | 02 March 2024 | 02 March 2024 | | | | | 1.15 | + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 March 2024 | 02 March 2024 | | | | | 1.15 | And Customer makes "AUTOPAY" repayment on "01 April 2024" with 16.65 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | @@ -232,14 +232,14 @@ Feature: Loan interest rate change on repayment schedule # --- undo 2nd repayment (while interest rate change to 4% have happened)--- When Customer undo "1"th "Repayment" transaction made on "01 March 2024" Then Loan Repayment schedule has 6 periods, with the following data for periods: - | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | - | 2 | 29 | 01 March 2024 | | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 16.65 | 0.0 | 16.65| 0.23 | - | 3 | 31 | 01 April 2024 | | 50.27 | 16.7 | 0.08 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 4 | 30 | 01 May 2024 | | 33.54 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 5 | 31 | 01 June 2024 | | 16.79 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 6 | 30 | 01 July 2024 | | 0.0 | 16.79 | 0.02 | 0.0 | 0.0 | 16.81 | 0.0 | 0.0 | 0.0 | 16.81 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 16.65 | 0.0 | 16.65 | 0.23 | + | 3 | 31 | 01 April 2024 | | 50.27 | 16.7 | 0.08 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 4 | 30 | 01 May 2024 | | 33.54 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 5 | 31 | 01 June 2024 | | 16.79 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.79 | 0.02 | 0.0 | 0.0 | 16.81 | 0.0 | 0.0 | 0.0 | 16.81 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 1.04 | 0.0 | 0.0 | 101.04 | 33.66 | 0.0 | 16.65 | 67.38 | @@ -252,14 +252,14 @@ Feature: Loan interest rate change on repayment schedule # --- undo 1st repayment (while no interest rate change have happened)--- When Customer undo "1"th "Repayment" transaction made on "01 February 2024" Then Loan Repayment schedule has 6 periods, with the following data for periods: - | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 16.65 | 0.0 | 16.65| 0.36 | - | 2 | 29 | 01 March 2024 | | 67.02 | 16.55 | 0.33 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | - | 3 | 31 | 01 April 2024 | | 50.34 | 16.68 | 0.1 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 4 | 30 | 01 May 2024 | | 33.61 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 5 | 31 | 01 June 2024 | | 16.86 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | - | 6 | 30 | 01 July 2024 | | 0.0 | 16.86 | 0.02 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 16.65 | 0.0 | 16.65 | 0.36 | + | 2 | 29 | 01 March 2024 | | 67.02 | 16.55 | 0.33 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 3 | 31 | 01 April 2024 | | 50.34 | 16.68 | 0.1 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 4 | 30 | 01 May 2024 | | 33.61 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 5 | 31 | 01 June 2024 | | 16.86 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.86 | 0.02 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 1.11 | 0.0 | 0.0 | 101.11 | 16.65 | 0.0 | 16.65 | 84.46 | @@ -276,14 +276,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3944 Scenario: Verify Interest rate change - backdated, charged-off, regular - UC4.1 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -332,14 +332,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3945 Scenario: Verify Interest rate change - backdated, charged-off, zero interest - UC4.2 When Admin sets the business date to "01 January 2024" - When Admin creates a client with random data - When Admin set "LP2_ADV_PYMNT_ZERO_INTEREST_CHARGE_OFF" 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_ZERO_INTEREST_CHARGE_OFF | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_ZERO_INTEREST_CHARGE_OFF" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_ZERO_INTEREST_CHARGE_OFF | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -388,14 +388,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3946 Scenario: Verify Interest rate change - backdated, charged-off, accelerate maturity - UC4.3 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_INTEREST_RECALCULATION_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + And Admin creates a fully customized loan with the following data: | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | | LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -441,14 +441,14 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:С3941 Scenario: Verify Interest rate change - backdated, CBR - UC5 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -492,24 +492,24 @@ Feature: Loan interest rate change on repayment schedule | 01 April 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Accrual Adjustment | 0.21 | 0.0 | 0.21 | 0.0 | 0.0 | 0.0 | false | false | Then Loan's all installments have obligations met - Then Loan has 0.21 overpaid amount - Then Loan status will be "OVERPAID" + And Loan has 0.21 overpaid amount + And Loan status will be "OVERPAID" And Admin makes Credit Balance Refund transaction on "01 April 2024" with 0.21 EUR transaction amount Then Loan's all installments have obligations met - Then Loan status will be "CLOSED_OBLIGATIONS_MET" + And Loan status will be "CLOSED_OBLIGATIONS_MET" @TestRailId:С3942 Scenario: Verify Interest rate change - backdated, closed loan - UC7 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -529,7 +529,7 @@ Feature: Loan interest rate change on repayment schedule And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount And Customer makes "AUTOPAY" repayment on "01 March 2024" with 84.06 EUR transaction amount Then Loan's all installments have obligations met - Then Loan status will be "CLOSED_OBLIGATIONS_MET" + And Loan status will be "CLOSED_OBLIGATIONS_MET" When Admin creates and approves Loan reschedule with the following data: | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | @@ -547,31 +547,31 @@ Feature: Loan interest rate change on repayment schedule | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 0.86 | 0.0 | 0.0 | 100.86 | 100.86 | 66.97 | 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 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | - | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | - | 01 March 2024 | Repayment | 84.06 | 83.57 | 0.28 | 0.0 | 0.0 | 0.0 | false | true | - | 01 April 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | false | - | 01 April 2024 | Accrual Adjustment | 0.21 | 0.0 | 0.21 | 0.0 | 0.0 | 0.0 | false | false | + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + | 01 March 2024 | Repayment | 84.06 | 83.57 | 0.28 | 0.0 | 0.0 | 0.0 | false | true | + | 01 April 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | false | + | 01 April 2024 | Accrual Adjustment | 0.21 | 0.0 | 0.21 | 0.0 | 0.0 | 0.0 | false | false | Then Loan's all installments have obligations met - Then Loan has 0.21 overpaid amount - Then Loan status will be "OVERPAID" + And Loan has 0.21 overpaid amount + And Loan status will be "OVERPAID" And Admin makes Credit Balance Refund transaction on "01 April 2024" with 0.21 EUR transaction amount Then Loan's all installments have obligations met - Then Loan status will be "CLOSED_OBLIGATIONS_MET" + And Loan status will be "CLOSED_OBLIGATIONS_MET" @TestRailId:С3943 Scenario: Verify Interest rate change - backdated, overpaid loan - UC7.2 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -591,13 +591,13 @@ Feature: Loan interest rate change on repayment schedule And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount And Customer makes "AUTOPAY" repayment on "01 March 2024" with 84.2 EUR transaction amount Then Loan's all installments have obligations met - Then Loan has 0.14 overpaid amount - Then Loan status will be "OVERPAID" - Then Loan status will be "OVERPAID" + And Loan has 0.14 overpaid amount + And Loan status will be "OVERPAID" + And Loan status will be "OVERPAID" When Admin creates and approves Loan reschedule with the following data: | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | - | 02 February 2024 | 02 February 2024 | | | | | 9 | + | 02 February 2024 | 02 February 2024 | | | | | 9 | Then Loan Repayment schedule has 6 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -611,27 +611,27 @@ Feature: Loan interest rate change on repayment schedule | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 1.21 | 0.0 | 0.0 | 101.21 | 101.21 | 67.11 | 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 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | - | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | - | 01 March 2024 | Repayment | 84.2 | 83.57 | 0.63 | 0.0 | 0.0 | 0.0 | false | true | - | 01 April 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | false | - | 01 April 2024 | Accrual | 0.14 | 0.0 | 0.14 | 0.0 | 0.0 | 0.0 | false | false | + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + | 01 March 2024 | Repayment | 84.2 | 83.57 | 0.63 | 0.0 | 0.0 | 0.0 | false | true | + | 01 April 2024 | Accrual | 1.07 | 0.0 | 1.07 | 0.0 | 0.0 | 0.0 | false | false | + | 01 April 2024 | Accrual | 0.14 | 0.0 | 0.14 | 0.0 | 0.0 | 0.0 | false | false | Then Loan has 0 outstanding amount - Then Loan's all installments have obligations met - Then Loan status will be "CLOSED_OBLIGATIONS_MET" + And Loan's all installments have obligations met + And Loan status will be "CLOSED_OBLIGATIONS_MET" @TestRailId:С3952 Scenario: Verify Interest rate change - backdated, closed as written-off loan - UC7.3 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -657,7 +657,7 @@ Feature: Loan interest rate change on repayment schedule | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 01 March 2024 | Close (as written-off) | 85.04 | 83.57 | 1.47 | 0.0 | 0.0 | 0.0 | false | false | Then Loan status will be "CLOSED_WRITTEN_OFF" - Then Loan's all installments have obligations met + And Loan's all installments have obligations met When Admin creates and approves Loan reschedule with the following data: | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | @@ -672,23 +672,23 @@ Feature: Loan interest rate change on repayment schedule | 5 | 31 | 01 June 2024 | 01 March 2024 | 16.83 | 16.77 | 0.11 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 0.0 | | 6 | 30 | 01 July 2024 | 01 March 2024 | 0.0 | 16.83 | 0.06 | 0.0 | 0.0 | 16.89 | 0.0 | 0.0 | 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 | - | 100.0 | 1.42 | 0.0 | 0.0 | 101.42 | 17.01 | 0.0 | 0.0 | 0.0 | + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.42 | 0.0 | 0.0 | 101.42 | 17.01 | 0.0 | 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 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 01 March 2024 | Close (as written-off) | 84.41 | 83.57 | 0.84 | 0.0 | 0.0 | 0.0 | false | true | Then Loan has 0 outstanding amount - Then Loan's all installments have obligations met - Then Loan status will be "CLOSED_WRITTEN_OFF" + And Loan's all installments have obligations met + And Loan status will be "CLOSED_WRITTEN_OFF" @TestRailId:С3947 Scenario: Verify Interest rate change - backdated, external asset owner - UC6 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_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" @@ -715,12 +715,12 @@ Feature: Loan interest rate change on repayment schedule | Transaction type | settlementDate | purchasePriceRatio | | sale | 2024-04-01 | 1 | Then Asset externalization response has the correct Loan ID, transferExternalId - Then Fetching Asset externalization details by loan id gives numberOfElements: 1 with correct ownerExternalId and the following data: + And Fetching Asset externalization details by loan id gives numberOfElements: 1 with correct ownerExternalId and the following data: | settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type | | 2024-04-01 | 1 | PENDING | 2024-03-01 | 9999-12-31 | SALE | When Admin sets the business date to "02 April 2024" - When Admin runs inline COB job for Loan + And Admin runs inline COB job for Loan Then Fetching Asset externalization details by loan id gives numberOfElements: 2 with correct ownerExternalId and the following data: | settlementDate | purchasePriceRatio | status | effectiveFrom | effectiveTo | Transaction type | | 2024-04-01 | 1 | PENDING | 2024-03-01 | 2024-04-01 | SALE | @@ -738,8 +738,8 @@ Feature: Loan interest rate change on repayment schedule | 5 | 31 | 01 June 2024 | | 16.83 | 16.77 | 0.11 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | | 6 | 30 | 01 July 2024 | | 0.0 | 16.83 | 0.06 | 0.0 | 0.0 | 16.89 | 0.0 | 0.0 | 0.0 | 16.89 | Then Loan Repayment schedule has the following data in Total row: - | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | 100.0 | 1.42 | 0.0 | 0.0 | 101.42 | 34.02 | 0.13 | 0.0 | 67.4 | + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.42 | 0.0 | 0.0 | 101.42 | 34.02 | 0.13 | 0.0 | 67.4 | Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | @@ -752,8 +752,8 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3948 Scenario: Verify backdated interest rate INCREASE on charged-off loan - backdated, charged-off, regular - UC4.4 When Admin sets the business date to "01 January 2024" - When Admin creates a client with random data - When Admin creates a fully customized loan with the following data: + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" @@ -859,13 +859,13 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3949 Scenario: Verify backdated interest modification with PARTIAL payment before charge-off - backdated, charged-off, zero interest - UC4.5 When Admin sets the business date to "01 January 2024" - When Admin creates a client with random data - When Admin creates a fully customized loan with the following data: + 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_ZERO_INTEREST_CHARGE_OFF | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -884,21 +884,21 @@ Feature: Loan interest rate change on repayment schedule When Admin sets the business date to "01 February 2024" And Customer makes "AUTOPAY" repayment on "01 February 2024" with 10.00 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: - | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 10.0 | 0.0 | 0.0 | 7.01 | - | 2 | 29 | 01 March 2024 | | 67.05 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | - | 3 | 31 | 01 April 2024 | | 50.43 | 16.62 | 0.39 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | - | 4 | 30 | 01 May 2024 | | 33.71 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | - | 5 | 31 | 01 June 2024 | | 16.9 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | - | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 10.0 | 0.0 | 0.0 | 7.01 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 3 | 31 | 01 April 2024 | | 50.43 | 16.62 | 0.39 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 4 | 30 | 01 May 2024 | | 33.71 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 5 | 31 | 01 June 2024 | | 16.9 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 10.0 | 0.0 | 0.0 | 92.05 | Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | - | 01 February 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 90.0 | false | false | + | 01 February 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 90.0 | false | false | When Admin sets the business date to "01 March 2024" And Customer makes "AUTOPAY" repayment on "01 March 2024" with 10.00 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: @@ -912,7 +912,7 @@ Feature: Loan interest rate change on repayment schedule | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 20.0 | 0.0 | 7.01 | 82.05 | + | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 20.0 | 0.0 | 7.01 | 82.05 | Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | @@ -943,14 +943,14 @@ Feature: Loan interest rate change on repayment schedule | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | | 02 February 2024 | 01 April 2024 | | | | | 4 | Then Loan Repayment schedule has 6 periods, with the following data for periods: - | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2024 | 01 March 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 7.01 | 0.0 | - | 2 | 29 | 01 March 2024 | | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 2.99 | 0.0 | 0.0 | 13.89 | - | 3 | 31 | 01 April 2024 | | 50.31 | 16.66 | 0.22 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | - | 4 | 30 | 01 May 2024 | | 33.43 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | - | 5 | 31 | 01 June 2024 | | 16.55 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | - | 6 | 30 | 01 July 2024 | | 0.0 | 16.55 | 0.0 | 0.0 | 0.0 | 16.55 | 0.0 | 0.0 | 0.0 | 16.55 | + | 2 | 29 | 01 March 2024 | | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 2.99 | 0.0 | 0.0 | 13.89 | + | 3 | 31 | 01 April 2024 | | 50.31 | 16.66 | 0.22 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 4 | 30 | 01 May 2024 | | 33.43 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 5 | 31 | 01 June 2024 | | 16.55 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.55 | 0.0 | 0.0 | 0.0 | 16.55 | 0.0 | 0.0 | 0.0 | 16.55 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 100.0 | 1.08 | 0.0 | 0.0 | 101.08 | 20.0 | 0.0 | 7.01 | 81.08 | @@ -966,13 +966,13 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3950 Scenario: Verify multiple backdated interest modifications after charge-off - backdated, charged-off, accelerate maturity - UC4.6 When Admin sets the business date to "01 January 2024" - When Admin creates a client with random data - When Admin creates a fully customized loan with the following data: + And Admin creates a client with random data + And Admin creates a fully customized loan with the following data: | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | | LP2_ADV_PYMNT_INTEREST_DAILY_INTEREST_RECALCULATION_ACCELERATE_MATURITY_CHARGE_OFF_BEHAVIOUR | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount - When Admin runs inline COB job for Loan + 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 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -1090,8 +1090,8 @@ Feature: Loan interest rate change on repayment schedule @TestRailId:C3951 Scenario: Verify backdated interest modification with fees and penalties on charged-off loan - backdated, charged-off, regular - UC4.7 When Admin sets the business date to "01 January 2024" - When Admin creates a client with random data - When Admin creates a fully customized loan with the following data: + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" @@ -1130,7 +1130,7 @@ Feature: Loan interest rate change on repayment schedule | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | | 10 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | When Admin adds "LOAN_NSF_FEE" due date charge with "20 February 2024" due date and 5 EUR transaction amount - When Admin adds "LOAN_SNOOZE_FEE" due date charge with "20 February 2024" due date and 8 EUR transaction amount + And Admin adds "LOAN_SNOOZE_FEE" due date charge with "20 February 2024" due date and 8 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -1190,10 +1190,12 @@ Feature: Loan interest rate change on repayment schedule | 01 April 2024 | Accrual | 1.59 | 0.0 | 1.59 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Accrual Adjustment | 0.43 | 0.0 | 0.43 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Charge-off | 97.49 | 83.57 | 0.92 | 8.0 | 5.0 | 0.0 | false | true | - Scenario: Verify change interest rate with 0->4 reschedule scenario - UC1 + + @TestRailId:C3968 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC1: interest recalculation, no overdue installment 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: + 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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" @@ -1240,14 +1242,147 @@ Feature: Loan interest rate change on repayment schedule | 2 | 31 | 01 June 2025 | | 502.49 | 247.51 | 7.5 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | | 3 | 30 | 01 July 2025 | | 252.5 | 249.99 | 5.02 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | | 4 | 31 | 01 August 2025 | | 0.0 | 252.5 | 2.52 | 0.0 | 0.0 | 255.02 | 0.0 | 0.0 | 0.0 | 255.02 | - Then Loan status will be "ACTIVE" - When Loan Pay-off is made on "05 May 2025" - Then Loan's all installments have obligations met + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 15.04 | 0.0 | 0.0 | 1015.04 | 250.0 | 0.0 | 0.0 | 765.04 | + 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 | + | 01 May 2025 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false | false | + + @TestRailId:C3969 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC2: interest recalculation, overdue installment + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | + When Admin sets the business date to "01 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | + When Admin sets the business date to "15 May 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 12 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 503.62 | 246.38 | 8.63 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 3 | 30 | 01 July 2025 | | 253.65 | 249.97 | 5.04 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 4 | 31 | 01 August 2025 | | 0.0 | 253.65 | 2.54 | 0.0 | 0.0 | 256.19 | 0.0 | 0.0 | 0.0 | 256.19 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 16.21 | 0.0 | 0.0 | 1016.21 | 0.0 | 0.0 | 0.0 | 1016.21 | + 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 | + + @TestRailId:C3970 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC3: interest recalculation, overdue installment, interest rate 12->0 on disbursement day + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 12 | 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 + 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 | | 753.72 | 246.28 | 10.0 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 2 | 31 | 01 June 2025 | | 504.98 | 248.74 | 7.54 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 3 | 30 | 01 July 2025 | | 253.75 | 251.23 | 5.05 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 4 | 31 | 01 August 2025 | | 0.0 | 253.75 | 2.54 | 0.0 | 0.0 | 256.29 | 0.0 | 0.0 | 0.0 | 256.29 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 25.13 | 0.0 | 0.0 | 1025.13 | 0.0 | 0.0 | 0.0 | 1025.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 | + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 April 2025 | 02 April 2025 | | | | | 0 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | + When Admin sets the business date to "01 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | + When Admin sets the business date to "15 May 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 12 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 503.62 | 246.38 | 8.63 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 3 | 30 | 01 July 2025 | | 253.65 | 249.97 | 5.04 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 4 | 31 | 01 August 2025 | | 0.0 | 253.65 | 2.54 | 0.0 | 0.0 | 256.19 | 0.0 | 0.0 | 0.0 | 256.19 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 16.21 | 0.0 | 0.0 | 1016.21 | 0.0 | 0.0 | 0.0 | 1016.21 | + 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 | - Scenario: Verify change interest rate with 0->4 reschedule scenario - UC2 + @TestRailId:C3971 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC4: no interest recalculation, overdue installment 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: + 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 | 01 April 2025 | 1000 | 0 | 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" @@ -1267,53 +1402,298 @@ Feature: Loan interest rate change on repayment schedule | 01 April 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | 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 250.0 EUR transaction amount Then Loan Repayment schedule has 4 periods, with the following data for periods: - | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | | | 01 April 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 30 | 01 May 2025 | 01 May 2025 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | - | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | - | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | - | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.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 | 0.0 | 0.0 | 0.0 | 1000.0 | 250.0 | 0.0 | 0.0 | 750.0 | + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.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 | - | 01 May 2025 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false | false | - When Admin sets the business date to "05 May 2025" + When Admin sets the business date to "15 May 2025" And Admin runs inline COB job for Loan When Admin creates and approves Loan reschedule with the following data: | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | | 02 May 2025 | 02 May 2025 | | | | | 12 | 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 | 01 May 2025 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | - | 2 | 31 | 01 June 2025 | | 502.49 | 247.51 | 7.5 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | - | 3 | 30 | 01 July 2025 | | 252.5 | 249.99 | 5.02 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | - | 4 | 31 | 01 August 2025 | | 0.0 | 252.5 | 2.52 | 0.0 | 0.0 | 255.02 | 0.0 | 0.0 | 0.0 | 255.02 | - Then Loan status will be "ACTIVE" - When Loan Pay-off is made on "05 May 2025" - Then Loan's all installments have obligations met + | 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 502.49 | 247.51 | 7.5 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 3 | 30 | 01 July 2025 | | 252.5 | 249.99 | 5.02 | 0.0 | 0.0 | 255.01 | 0.0 | 0.0 | 0.0 | 255.01 | + | 4 | 31 | 01 August 2025 | | 0.0 | 252.5 | 2.52 | 0.0 | 0.0 | 255.02 | 0.0 | 0.0 | 0.0 | 255.02 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 15.04 | 0.0 | 0.0 | 1015.04 | 0.0 | 0.0 | 0.0 | 1015.04 | + 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 | - Scenario: Verify change interest rate fails on loan outside min and max set on loan product reschedule scenario - UC3 + @TestRailId:C3972 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC5: change interest rate fails on loan outside min and max set on loan product 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_MIN_INT_3_MAX_INT_20 | 01 April 2025 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + 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_INTEREST_RECALCULATION_DAILY_MIN_INT_3_MAX_INT_20 | 01 April 2025 | 1000 | 6 | 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 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 | + When Admin sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "15 May 2025" + And Admin runs inline COB job for Loan Then Loan reschedule with the following data results a 400 error and "NEW_INTEREST_RATE_IS_1_BUT_MINIMUM_IS_3" error message | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | | 02 May 2025 | 02 May 2025 | | | | | 1 | Then Loan reschedule with the following data results a 400 error and "NEW_INTEREST_RATE_IS_45_BUT_MAXIMUM_IS_20" error message | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | | 02 May 2025 | 02 May 2025 | | | | | 45 | - When Loan Pay-off is made on "01 April 2025" - Then Loan's all installments have obligations met + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 12 | + 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 | | 751.87 | 248.13 | 5.0 | 0.0 | 0.0 | 253.13 | 0.0 | 0.0 | 0.0 | 253.13 | + | 2 | 31 | 01 June 2025 | | 504.86 | 247.01 | 8.64 | 0.0 | 0.0 | 255.65 | 0.0 | 0.0 | 0.0 | 255.65 | + | 3 | 30 | 01 July 2025 | | 254.26 | 250.6 | 5.05 | 0.0 | 0.0 | 255.65 | 0.0 | 0.0 | 0.0 | 255.65 | + | 4 | 31 | 01 August 2025 | | 0.0 | 254.26 | 2.54 | 0.0 | 0.0 | 256.8 | 0.0 | 0.0 | 0.0 | 256.8 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 21.23 | 0.0 | 0.0 | 1021.23 | 0.0 | 0.0 | 0.0 | 1021.23 | + + @TestRailId:C3973 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC6: Minimal Interest Rate + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "05 May 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 0.01 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.01 | 249.99 | 0.01 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.01 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.01 | 0.0 | 0.0 | 0.0 | 250.01 | 0.0 | 0.0 | 0.0 | 250.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0.01 | 0.0 | 0.0 | 1000.01 | 0.0 | 0.0 | 0.0 | 1000.01 | + + @TestRailId:C3974 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC7: Single Digit Interest + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "05 May 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 1 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 500.23 | 249.77 | 0.65 | 0.0 | 0.0 | 250.42 | 0.0 | 0.0 | 0.0 | 250.42 | + | 3 | 30 | 01 July 2025 | | 250.23 | 250.0 | 0.42 | 0.0 | 0.0 | 250.42 | 0.0 | 0.0 | 0.0 | 250.42 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.23 | 0.21 | 0.0 | 0.0 | 250.44 | 0.0 | 0.0 | 0.0 | 250.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 | 1.28 | 0.0 | 0.0 | 1001.28 | 0.0 | 0.0 | 0.0 | 1001.28 | + + @TestRailId:C3975 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC8: Immediate Reschedule + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 sets the business date to "02 April 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 April 2025 | 02 April 2025 | | | | | 12 | + 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 | | 753.72 | 246.28 | 10.0 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 2 | 31 | 01 June 2025 | | 504.98 | 248.74 | 7.54 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 3 | 30 | 01 July 2025 | | 253.75 | 251.23 | 5.05 | 0.0 | 0.0 | 256.28 | 0.0 | 0.0 | 0.0 | 256.28 | + | 4 | 31 | 01 August 2025 | | 0.0 | 253.75 | 2.54 | 0.0 | 0.0 | 256.29 | 0.0 | 0.0 | 0.0 | 256.29 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 25.13 | 0.0 | 0.0 | 1025.13 | 0.0 | 0.0 | 0.0 | 1025.13 | + + @TestRailId:C3976 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC9: Mid-Loan Reschedule with repayments + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 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 250.0 EUR transaction amount + When Admin sets the business date to "01 June 2025" + And Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "01 June 2025" with 250.0 EUR transaction amount + When Admin sets the business date to "05 June 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 June 2025 | 02 June 2025 | | | | | 12 | + 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 | 01 May 2025 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | 01 June 2025 | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | + | 3 | 30 | 01 July 2025 | | 251.24 | 248.76 | 5.0 | 0.0 | 0.0 | 253.76 | 0.0 | 0.0 | 0.0 | 253.76 | + | 4 | 31 | 01 August 2025 | | 0.0 | 251.24 | 2.51 | 0.0 | 0.0 | 253.75 | 0.0 | 0.0 | 0.0 | 253.75 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 7.51 | 0.0 | 0.0 | 1007.51 | 500.0 | 0.0 | 0.0 | 507.51 | + + @TestRailId:C3977 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC10: Late Stage Reschedule with repayment and overdue installment + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 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 250.0 EUR transaction amount + When Admin sets the business date to "01 June 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "01 July 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "05 July 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 July 2025 | 02 July 2025 | | | | | 12 | + 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 | 01 May 2025 | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | + | 2 | 31 | 01 June 2025 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 30 | 01 July 2025 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 31 | 01 August 2025 | | 0.0 | 250.0 | 3.15 | 0.0 | 0.0 | 253.15 | 0.0 | 0.0 | 0.0 | 253.15 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.15 | 0.0 | 0.0 | 1003.15 | 250.0 | 0.0 | 0.0 | 753.15 | + + @TestRailId:C3978 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC11: Sequential Rate Increases + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 sets the business date to "01 May 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "05 May 2025" + And Admin runs inline COB job for Loan + # First reschedule: 0% -> 6% + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | 6 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 501.4 | 248.6 | 3.91 | 0.0 | 0.0 | 252.51 | 0.0 | 0.0 | 0.0 | 252.51 | + | 3 | 30 | 01 July 2025 | | 251.4 | 250.0 | 2.51 | 0.0 | 0.0 | 252.51 | 0.0 | 0.0 | 0.0 | 252.51 | + | 4 | 31 | 01 August 2025 | | 0.0 | 251.4 | 1.26 | 0.0 | 0.0 | 252.66 | 0.0 | 0.0 | 0.0 | 252.66 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 7.68 | 0.0 | 0.0 | 1007.68 | 0.0 | 0.0 | 0.0 | 1007.68 | + When Admin sets the business date to "01 June 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "05 June 2025" + And Admin runs inline COB job for Loan + # Second reschedule: 6% -> 12% + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 June 2025 | 02 June 2025 | | | | | 12 | + 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 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 31 | 01 June 2025 | | 502.49 | 247.51 | 5.0 | 0.0 | 0.0 | 252.51 | 0.0 | 0.0 | 0.0 | 252.51 | + | 3 | 30 | 01 July 2025 | | 253.79 | 248.7 | 5.69 | 0.0 | 0.0 | 254.39 | 0.0 | 0.0 | 0.0 | 254.39 | + | 4 | 31 | 01 August 2025 | | 0.0 | 253.79 | 2.54 | 0.0 | 0.0 | 256.33 | 0.0 | 0.0 | 0.0 | 256.33 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 13.23 | 0.0 | 0.0 | 1013.23 | 0.0 | 0.0 | 0.0 | 1013.23 | + + @TestRailId:C3979 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC12: Negative Rate Validation + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | 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 + Then Loan reschedule with the following data results a 400 error and "LOAN_INTEREST_RATE_CANNOT_BE_NEGATIVE" error message + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 May 2025 | 02 May 2025 | | | | | -1 | + + @TestRailId:C3980 + Scenario: Verify repayment schedule after reschedule with interest rate change 0->12 - UC13: weekly repayments + When Admin sets the business date to "01 April 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_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 April 2025 | 1000 | 0 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | WEEKS | 1 | WEEKS | 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 sets the business date to "08 April 2025" + And Admin runs inline COB job for Loan + When Admin sets the business date to "10 April 2025" + And Admin runs inline COB job for Loan + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 09 April 2025 | 09 April 2025 | | | | | 12 | + 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 | 7 | 08 April 2025 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 7 | 15 April 2025 | | 500.75 | 249.25 | 1.92 | 0.0 | 0.0 | 251.17 | 0.0 | 0.0 | 0.0 | 251.17 | + | 3 | 7 | 22 April 2025 | | 250.75 | 250.0 | 1.17 | 0.0 | 0.0 | 251.17 | 0.0 | 0.0 | 0.0 | 251.17 | + | 4 | 7 | 29 April 2025 | | 0.0 | 250.75 | 0.59 | 0.0 | 0.0 | 251.34 | 0.0 | 0.0 | 0.0 | 251.34 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.68 | 0.0 | 0.0 | 1003.68 | 0.0 | 0.0 | 0.0 | 1003.68 | diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanRepaymentSchedule.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanRepaymentSchedule.feature index 2683f51ede..45b5317cd2 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanRepaymentSchedule.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanRepaymentSchedule.feature @@ -1142,7 +1142,7 @@ Feature: Loan repayment schedule handling And Customer makes "AUTOPAY" repayment on "18 March 2025" with 441.03 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1157,7 +1157,7 @@ Feature: Loan repayment schedule handling And Admin runs inline COB job for Loan And Customer undo "1"th "Repayment" transaction made on "18 March 2025" Then Loan status will be "ACTIVE" - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1171,7 +1171,7 @@ Feature: Loan repayment schedule handling When Customer makes "AUTOPAY" repayment on "19 March 2025" with 611.04 EUR transaction amount Then Loan status will be "OVERPAID" And Loan has 170.01 overpaid amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1185,7 +1185,7 @@ Feature: Loan repayment schedule handling When Admin makes Credit Balance Refund transaction on "19 March 2025" with 170.01 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1211,7 +1211,7 @@ Feature: Loan repayment schedule handling When Customer makes "AUTOPAY" repayment on "19 March 2025" with 340.02 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1387,7 +1387,7 @@ Feature: Loan repayment schedule handling And Customer makes "AUTOPAY" repayment on "18 March 2025" with 441.52 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1402,7 +1402,7 @@ Feature: Loan repayment schedule handling And Admin runs inline COB job for Loan And Customer undo "1"th "Repayment" transaction made on "18 March 2025" Then Loan status will be "ACTIVE" - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1416,7 +1416,7 @@ Feature: Loan repayment schedule handling When Customer makes "AUTOPAY" repayment on "19 March 2025" with 611.53 EUR transaction amount Then Loan status will be "OVERPAID" And Loan has 170.01 overpaid amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1430,7 +1430,7 @@ Feature: Loan repayment schedule handling When Admin makes Credit Balance Refund transaction on "19 March 2025" with 170.01 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1456,7 +1456,7 @@ Feature: Loan repayment schedule handling When Customer makes "AUTOPAY" repayment on "19 March 2025" with 340.02 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" And Loan has 0 outstanding amount - Then Loan Repayment schedule has 3 periods, with the following data for periods: + And 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 | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | | 1 | 31 | 01 February 2025 | 15 January 2025 | 669.98 | 330.02 | 10.0 | 0.0 | 0.0 | 340.02 | 340.02 | 340.02 | 0.0 | 0.0 | @@ -1466,7 +1466,7 @@ Feature: Loan repayment schedule handling And Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1790.02 | 23.07 | 0.0 | 0.0 | 1813.09 | 1813.09 | 1371.56 | 441.53 | 0.0 | - Then Loan Transactions tab has the following data: + And Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | | 02 January 2025 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false |
