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 6f55ce1a4f674ce6d032e5d6c820b2a9c98c1248 Author: MarianaDmytrivBinariks <[email protected]> AuthorDate: Tue Feb 17 16:58:27 2026 +0200 FINERACT-2418: e2e test scenarios for disbursal and reage events with changed terms flag --- .../src/test/resources/features/Loan.feature | 75 ++++++++--- .../src/test/resources/features/LoanCharge.feature | 80 ++++++++++- .../test/resources/features/LoanChargeback.feature | 88 ++++++++++++ .../features/LoanDelayedScheduleCaptures.feature | 98 ++++++++++++++ .../resources/features/LoanDownPayment.feature | 28 +++- .../test/resources/features/LoanReAging.feature | 149 +++++++++++++-------- 6 files changed, 438 insertions(+), 80 deletions(-) diff --git a/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature b/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature index 5223f7b12d..fbcc73ade9 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature @@ -8923,7 +8923,7 @@ Feature: Loan When Loan Pay-off is made on "15 January 2025" Then Loan's all installments have obligations met - @TestRailId:4227 + @TestRailId:C4227 Scenario: Verify cumulative multidisbursal loan that expects tranches with flat interest type and no interest calculation period - UC7.1 When Admin sets the business date to "01 January 2025" When Admin creates a client with random data @@ -8942,7 +8942,7 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1500.0 | 25.89 | 0.0 | 0.0 | 1525.89 | 0.0 | 0.0 | 0.0 | 1525.89 | Then Loan Transactions tab has none transaction - When Admin successfully disburse the loan on "01 January 2025" with "1000" EUR transaction amount + When Admin disburses the loan on "01 January 2025" with "1000" EUR transaction amount Then Loan Repayment schedule has 3 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -8956,6 +8956,7 @@ Feature: Loan Then 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 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" Then Loan Tranche Details tab has the following data: | Expected Disbursement On | Disbursed On | Principal | Net Disbursal Amount | | 01 January 2025 | 01 January 2025 | 1000.0 | | @@ -8982,9 +8983,8 @@ Feature: Loan Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1500.0 | 17.26 | 0.0 | 0.0 | 1517.26 | 0.0 | 0.0 | 0.0 | 1517.26 | - -# -- 2nd disb - on Feb, 1, 2025 --# - When Admin successfully disburse the loan on "01 February 2025" with "500" EUR transaction amount +# -- 2nd disbursement - on Feb, 1, 2025 --# + When Admin disburses the loan on "01 February 2025" with "500" EUR transaction amount Then Loan Repayment schedule has 3 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2025 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -9003,7 +9003,7 @@ Feature: Loan | Expected Disbursement On | Disbursed On | Principal | Net Disbursal Amount | | 01 January 2025 | 01 January 2025 | 1000.0 | | | 15 January 2025 | 01 February 2025 | 500.0 | | - + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" When Loan Pay-off is made on "01 February 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met Then Loan Repayment schedule has 3 periods, with the following data for periods: @@ -9023,6 +9023,7 @@ Feature: Loan | 01 February 2025 | Repayment | 1525.89 | 1500.0 | 25.89 | 0.0 | 0.0 | 0.0 | false | false | | 01 February 2025 | Accrual | 25.89 | 0.0 | 25.89 | 0.0 | 0.0 | 0.0 | false | false | + @TestRailId:C4643 Scenario: Verify that changedTerms is false in LoanDisbursalTransactionBusinessEvent for initial disbursement When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -9031,21 +9032,21 @@ Feature: Loan | LP2_ADV_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL | 01 January 2024 | 1000 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" When Admin disburses the loan on "01 January 2024" with "1000" EUR transaction amount + Then Loan Repayment schedule has 3 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 16 January 2024 | | 667.64 | 332.36 | 2.92 | 0.0 | 0.0 | 335.28 | 0.0 | 0.0 | 0.0 | 335.28 | + | 2 | 15 | 31 January 2024 | | 334.31 | 333.33 | 1.95 | 0.0 | 0.0 | 335.28 | 0.0 | 0.0 | 0.0 | 335.28 | + | 3 | 15 | 15 February 2024 | | 0.0 | 334.31 | 0.98 | 0.0 | 0.0 | 335.29 | 0.0 | 0.0 | 0.0 | 335.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 | 5.85 | 0.0 | 0.0 | 1005.85 | 0.0 | 0.0 | 0.0 | 1005.85 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" - Scenario: Verify that changedTerms is true in LoanDisbursalTransactionBusinessEvent when additional disbursement adds new terms - 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: - | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | - | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE | 01 January 2024 | 200 | 9.4822 | 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 "200" amount and expected disbursement date on "01 January 2024" - When Admin disburses the loan on "01 January 2024" with "100" EUR transaction amount - Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" - When Admin sets the business date to "01 February 2024" - When Admin disburses the loan on "01 February 2024" with "100" EUR transaction amount - Then LoanDisbursalTransactionBusinessEvent has changedTerms "true" - + @TestRailId:C4645 Scenario: Verify that changedTerms is false in LoanDisbursalTransactionBusinessEvent when additional disbursement does not change terms When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -9055,7 +9056,41 @@ Feature: Loan | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_MULTIDISBURSE | 01 January 2024 | 300 | 9.4822 | 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 "300" amount and expected disbursement date on "01 January 2024" When Admin disburses the loan on "01 January 2024" with "100" 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.66 | 16.34 | 0.79 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 2 | 29 | 01 March 2024 | | 67.19 | 16.47 | 0.66 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 3 | 31 | 01 April 2024 | | 50.59 | 16.6 | 0.53 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 4 | 30 | 01 May 2024 | | 33.86 | 16.73 | 0.4 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 5 | 31 | 01 June 2024 | | 17.0 | 16.86 | 0.27 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 6 | 30 | 01 July 2024 | | 0.0 | 17.0 | 0.13 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + 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.78 | 0.0 | 0.0 | 102.78 | 0.0 | 0.0 | 0.0 | 102.78 | + 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 | Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" When Admin sets the business date to "08 January 2024" When Admin disburses the loan on "08 January 2024" with "200" EUR transaction amount - Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" \ No newline at end of file + 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 | | | | + | | | 08 January 2024 | | 200.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 250.68 | 49.32 | 2.01 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + | 2 | 29 | 01 March 2024 | | 201.33 | 49.35 | 1.98 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + | 3 | 31 | 01 April 2024 | | 151.59 | 49.74 | 1.59 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + | 4 | 30 | 01 May 2024 | | 101.46 | 50.13 | 1.2 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + | 5 | 31 | 01 June 2024 | | 50.93 | 50.53 | 0.8 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + | 6 | 30 | 01 July 2024 | | 0.0 | 50.93 | 0.4 | 0.0 | 0.0 | 51.33 | 0.0 | 0.0 | 0.0 | 51.33 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 300.0 | 7.98 | 0.0 | 0.0 | 307.98 | 0.0 | 0.0 | 0.0 | 307.98 | + 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 | + | 08 January 2024 | Disbursement | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | 300.0 | false | false | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Loan Pay-off is made on "08 January 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature index 68a373a99c..1c5b306072 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature @@ -4748,7 +4748,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Tranche Disbursement Charge Amount | false | Tranche Disbursement | 01 January 2024 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | And Admin successfully approves the loan on "01 January 2024" with "130" 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 disburses the loan on "01 January 2024" with "100" 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 | | | 10.0 | | 10.0 | 10.0 | | | | @@ -4772,6 +4772,7 @@ Feature: LoanCharge | Type | Account code | Account name | Debit | Credit | | INCOME | 404007 | Fee Income | | 10.0 | | LIABILITY | 145023 | Suspense/Clearing account | 10.0 | | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" # Add repayment on 01 February 2024 When Admin sets the business date to "01 February 2024" And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount @@ -4816,7 +4817,7 @@ Feature: LoanCharge # Add additional disbursement on 03 March 2024 When Admin sets the business date to "03 March 2024" And Admin successfully add disbursement detail to the loan on "03 March 2024" with 30 EUR transaction amount - And Admin successfully disburse the loan on "03 March 2024" with "30" EUR transaction amount + When Admin disburses the loan on "03 March 2024" with "30" 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 | | | 10.0 | | 10.0 | 10.0 | | | | @@ -4842,6 +4843,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Tranche Disbursement Charge Amount | false | Tranche Disbursement | 03 March 2024 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | | Tranche Disbursement Charge Amount | false | Tranche Disbursement | 01 January 2024 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" Then Loan Transactions tab has a "REPAYMENT_AT_DISBURSEMENT" transaction with date "03 March 2024" which has the following Journal entries: | Type | Account code | Account name | Debit | Credit | | INCOME | 404007 | Fee Income | | 10.0 | @@ -7978,3 +7980,77 @@ Feature: LoanCharge | 13 August 2025 | Interest Refund | 7.87 | 0.0 | 0.12 | 0.0 | 7.75 | 0.0 | false | true | | 15 August 2025 | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | false | false | + @TestRailId:C4678 @AdvancedPaymentAllocation + Scenario: Verify changedTerms value for LoanDisbursalTransactionBusinessEvent with n+1 trm for interest bearing multidisb loan - 2nd disb with charge with due date after maturity date + 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: + | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE | 01 January 2024 | 200 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 90 | DAYS | 15 | DAYS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 January 2024" with "200" amount and expected disbursement date on "01 January 2024" + When Admin disburses the loan on "01 January 2024" with "100" 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 | 15 | 16 January 2024 | | 83.45 | 16.55 | 0.29 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 2 | 15 | 31 January 2024 | | 66.85 | 16.6 | 0.24 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 3 | 15 | 15 February 2024 | | 50.2 | 16.65 | 0.19 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 4 | 15 | 01 March 2024 | | 33.51 | 16.69 | 0.15 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 5 | 15 | 16 March 2024 | | 16.77 | 16.74 | 0.1 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 6 | 15 | 31 March 2024 | | 0.0 | 16.77 | 0.05 | 0.0 | 0.0 | 16.82 | 0.0 | 0.0 | 0.0 | 16.82 | + 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.02 | 0.0 | 0.0 | 101.02 | 0.0 | 0.0 | 0.0 | 101.02 | + 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 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Admin sets the business date to "16 January 2024" + And Customer makes "AUTOPAY" repayment on "16 January 2024" with 16.98 EUR transaction amount + When Admin sets the business date to "20 January 2024" + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "18 August 2024" due date and 10 EUR transaction amount + Then Loan Charges tab has the following data: + | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | + | Snooze fee | false | Specified due date | 18 August 2024 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | + Then Loan Repayment schedule has 7 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 | 15 | 16 January 2024 | 16 January 2024 | 83.45 | 16.55 | 0.29 | 0.0 | 0.0 | 16.84 | 16.84 | 0.0 | 0.0 | 0.0 | + | 2 | 15 | 31 January 2024 | | 66.85 | 16.6 | 0.24 | 0.0 | 0.0 | 16.84 | 0.14 | 0.14 | 0.0 | 16.7 | + | 3 | 15 | 15 February 2024 | | 50.2 | 16.65 | 0.19 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 4 | 15 | 01 March 2024 | | 33.51 | 16.69 | 0.15 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 5 | 15 | 16 March 2024 | | 16.77 | 16.74 | 0.1 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 6 | 15 | 31 March 2024 | | 0.0 | 16.77 | 0.05 | 0.0 | 0.0 | 16.82 | 0.0 | 0.0 | 0.0 | 16.82 | + | 7 | 140 | 18 August 2024 | | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.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.02 | 10.0 | 0.0 | 111.02 | 16.98 | 0.14 | 0.0 | 94.04 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 16 January 2024 | Repayment | 16.98 | 16.69 | 0.29 | 0.0 | 0.0 | 83.31 | false | false | +# --- add 2nd disbursement --- # + When Admin sets the business date to "01 March 2024" + When Admin disburses the loan on "01 March 2024" with "100" EUR transaction amount + Then Loan Repayment schedule has 7 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 | 15 | 16 January 2024 | 16 January 2024 | 83.45 | 16.55 | 0.29 | 0.0 | 0.0 | 16.84 | 16.84 | 0.0 | 0.0 | 0.0 | + | 2 | 15 | 31 January 2024 | | 66.85 | 16.6 | 0.24 | 0.0 | 0.0 | 16.84 | 0.14 | 0.14 | 0.0 | 16.7 | + | 3 | 15 | 15 February 2024 | | 50.25 | 16.6 | 0.24 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | 4 | 15 | 01 March 2024 | | 33.65 | 16.6 | 0.24 | 0.0 | 0.0 | 16.84 | 0.0 | 0.0 | 0.0 | 16.84 | + | | | 01 March 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 5 | 15 | 16 March 2024 | | 66.99 | 66.66 | 0.39 | 0.0 | 0.0 | 67.05 | 0.0 | 0.0 | 0.0 | 67.05 | + | 6 | 15 | 31 March 2024 | | 0.0 | 66.99 | 0.2 | 0.0 | 0.0 | 67.19 | 0.0 | 0.0 | 0.0 | 67.19 | + | 7 | 140 | 18 August 2024 | | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 200.0 | 1.6 | 10.0 | 0.0 | 211.6 | 16.98 | 0.14 | 0.0 | 194.62 | + 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 | + | 16 January 2024 | Repayment | 16.98 | 16.69 | 0.29 | 0.0 | 0.0 | 83.31 | false | false | + | 01 March 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 183.31 | false | false | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Loan Pay-off is made on "01 March 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeback.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeback.feature index 308b1f93f8..1f9dc859fa 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeback.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeback.feature @@ -5813,3 +5813,91 @@ Feature: LoanChargeback | 13 August 2025 | Interest Refund | 7.87 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | true | | 15 August 2025 | Chargeback | 15.0 | 15.0 | 0.0 | 0.0 | 0.0 | 6.55 | false | false | + @TestRailId:C4677 @AdvancedPaymentAllocation + Scenario: Verify changedTerms value for LoanDisbursalTransactionBusinessEvent with n+1 trm for interest bearing multidisb loan - backdated 2nd disb with chargeback after maturity date + 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: + | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_CHARGEBACK | 01 January 2024 | 150 | 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 "150" amount and expected disbursement date on "01 January 2024" + When Admin disburses the loan on "01 January 2024" with "100" 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 | 0.0 | 0.0 | 0.0 | 17.01 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 3 | 31 | 01 April 2024 | | 50.43 | 16.62 | 0.39 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 4 | 30 | 01 May 2024 | | 33.71 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 5 | 31 | 01 June 2024 | | 16.9 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 0.0 | 0.0 | 0.0 | 102.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 | + When Admin sets the business date to "01 February 2024" + And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | | 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 | 17.01 | 0.0 | 0.0 | 85.04 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | +# --- add chargeback after maturity date - n+1 trn -- # + When Admin sets the business date to "01 August 2024" + When Admin makes "REPAYMENT_ADJUSTMENT_CHARGEBACK" chargeback with 17.01 EUR transaction amount + Then Loan Repayment schedule has 7 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 | | 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.53 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 4 | 30 | 01 May 2024 | | 34.01 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 5 | 31 | 01 June 2024 | | 17.49 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 6 | 30 | 01 July 2024 | | 0.0 | 17.49 | 0.49 | 0.0 | 0.0 | 17.98 | 0.0 | 0.0 | 0.0 | 17.98 | + | 7 | 31 | 01 August 2024 | | 0.0 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 116.43 | 3.61 | 0.0 | 0.0 | 120.04 | 17.01 | 0.0 | 0.0 | 103.03 | + 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 August 2024 | Chargeback | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 100.0 | false | false | +# --- add backdated 2nd disbursement --- # + When Admin disburses the loan on "20 January 2024" with "50" EUR transaction amount + Then Loan Repayment schedule has 7 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 | | | | + | | | 20 January 2024 | | 50.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 125.22 | 24.78 | 0.7 | 0.0 | 0.0 | 25.48 | 17.01 | 0.0 | 0.0 | 8.47 | + | 2 | 29 | 01 March 2024 | | 100.52 | 24.7 | 0.78 | 0.0 | 0.0 | 25.48 | 0.0 | 0.0 | 0.0 | 25.48 | + | 3 | 31 | 01 April 2024 | | 75.82 | 24.7 | 0.78 | 0.0 | 0.0 | 25.48 | 0.0 | 0.0 | 0.0 | 25.48 | + | 4 | 30 | 01 May 2024 | | 51.12 | 24.7 | 0.78 | 0.0 | 0.0 | 25.48 | 0.0 | 0.0 | 0.0 | 25.48 | + | 5 | 31 | 01 June 2024 | | 26.42 | 24.7 | 0.78 | 0.0 | 0.0 | 25.48 | 0.0 | 0.0 | 0.0 | 25.48 | + | 6 | 30 | 01 July 2024 | | 0.0 | 26.42 | 0.78 | 0.0 | 0.0 | 27.2 | 0.0 | 0.0 | 0.0 | 27.2 | + | 7 | 31 | 01 August 2024 | | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 167.01 | 4.6 | 0.0 | 0.0 | 171.61 | 17.01 | 0.0 | 0.0 | 154.6 | + 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 | + | 20 January 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 150.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | 132.99 | false | true | + | 01 August 2024 | Chargeback | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | 150.0 | false | true | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Loan Pay-off is made on "01 August 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature index 2269618cce..05bbe89cc6 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature @@ -4891,3 +4891,101 @@ Feature: Full Term Tranche - Schedule handling and Calculations | 200.0 | 3.07 | 0.0 | 0.0 | 203.07 | 62.13 | 0.0 | 25.0 | 140.94 | When Loan Pay-off is made on "05 April 2024" And Loan is closed with zero outstanding balance and it's all installments have obligations met + + @TestRailId:C4644 + Scenario: Verify full term tranche interest bearing progressive loan with no new terms - Disbursement at first instalment mid-period - UC1 + 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: + | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE | 01 January 2024 | 200 | 9.4822 | 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 "200" amount and expected disbursement date on "01 January 2024" + When Admin disburses the loan on "01 January 2024" with "100" 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.66 | 16.34 | 0.79 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 2 | 29 | 01 March 2024 | | 67.19 | 16.47 | 0.66 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 3 | 31 | 01 April 2024 | | 50.59 | 16.6 | 0.53 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 4 | 30 | 01 May 2024 | | 33.86 | 16.73 | 0.4 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 5 | 31 | 01 June 2024 | | 17.0 | 16.86 | 0.27 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 6 | 30 | 01 July 2024 | | 0.0 | 17.0 | 0.13 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + 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.78 | 0.0 | 0.0 | 102.78 | 0.0 | 0.0 | 0.0 | 102.78 | + 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 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" +# --- 2nd disbursement mid-period (Jan 15) --- + When Admin sets the business date to "15 January 2024" + When Admin disburses the loan on "15 January 2024" with "100" 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 | | | | + | | | 15 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 167.02 | 32.98 | 1.22 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + | 2 | 29 | 01 March 2024 | | 134.14 | 32.88 | 1.32 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + | 3 | 31 | 01 April 2024 | | 101.0 | 33.14 | 1.06 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + | 4 | 30 | 01 May 2024 | | 67.6 | 33.4 | 0.8 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + | 5 | 31 | 01 June 2024 | | 33.93 | 33.67 | 0.53 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + | 6 | 30 | 01 July 2024 | | 0.0 | 33.93 | 0.27 | 0.0 | 0.0 | 34.2 | 0.0 | 0.0 | 0.0 | 34.2 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 200.0 | 5.2 | 0.0 | 0.0 | 205.2 | 0.0 | 0.0 | 0.0 | 205.2 | + 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 | + | 15 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Loan Pay-off is made on "15 January 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met + + @TestRailId:C4676 + Scenario: Verify that changedTerms is true in LoanDisbursalTransactionBusinessEvent when additional disbursement adds new terms - UC2 + 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: + | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE | 01 January 2024 | 200 | 9.4822 | 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 "200" amount and expected disbursement date on "01 January 2024" + When Admin disburses the loan on "01 January 2024" with "100" 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.66 | 16.34 | 0.79 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 2 | 29 | 01 March 2024 | | 67.19 | 16.47 | 0.66 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 3 | 31 | 01 April 2024 | | 50.59 | 16.6 | 0.53 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 4 | 30 | 01 May 2024 | | 33.86 | 16.73 | 0.4 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 5 | 31 | 01 June 2024 | | 17.0 | 16.86 | 0.27 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | 6 | 30 | 01 July 2024 | | 0.0 | 17.0 | 0.13 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + 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.78 | 0.0 | 0.0 | 102.78 | 0.0 | 0.0 | 0.0 | 102.78 | + 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 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" + When Admin sets the business date to "01 February 2024" + When Admin disburses the loan on "01 February 2024" with "100" EUR transaction amount + Then Loan Repayment schedule has 7 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.66 | 16.34 | 0.79 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + | | | 01 February 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 2 | 29 | 01 March 2024 | | 150.85 | 32.81 | 1.45 | 0.0 | 0.0 | 34.26 | 0.0 | 0.0 | 0.0 | 34.26 | + | 3 | 31 | 01 April 2024 | | 117.78 | 33.07 | 1.19 | 0.0 | 0.0 | 34.26 | 0.0 | 0.0 | 0.0 | 34.26 | + | 4 | 30 | 01 May 2024 | | 84.45 | 33.33 | 0.93 | 0.0 | 0.0 | 34.26 | 0.0 | 0.0 | 0.0 | 34.26 | + | 5 | 31 | 01 June 2024 | | 50.86 | 33.59 | 0.67 | 0.0 | 0.0 | 34.26 | 0.0 | 0.0 | 0.0 | 34.26 | + | 6 | 30 | 01 July 2024 | | 17.0 | 33.86 | 0.4 | 0.0 | 0.0 | 34.26 | 0.0 | 0.0 | 0.0 | 34.26 | + | 7 | 31 | 01 August 2024 | | 0.0 | 17.0 | 0.13 | 0.0 | 0.0 | 17.13 | 0.0 | 0.0 | 0.0 | 17.13 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 200.0 | 5.56 | 0.0 | 0.0 | 205.56 | 0.0 | 0.0 | 0.0 | 205.56 | + 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 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "true" + When Loan Pay-off is made on "01 February 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanDownPayment.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanDownPayment.feature index 2661eeb721..c8acf316e0 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanDownPayment.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanDownPayment.feature @@ -1652,6 +1652,9 @@ Feature: Loan DownPayment 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 | 1000.0 | 0.0 | 0 | 0 | 1000 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | And Customer makes "DOWN_PAYMENT" repayment on "01 January 2022" with 250 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 | @@ -1663,6 +1666,10 @@ Feature: Loan DownPayment 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 | 1000.0 | 250.0 | 0 | 0 | 750 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 01 January 2022 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | When Admin sets the business date to "01 February 2022" And Customer makes "AUTOPAY" repayment on "01 February 2022" with 250 EUR transaction amount Then Loan Repayment schedule has 4 periods, with the following data for periods: @@ -1675,6 +1682,11 @@ Feature: Loan DownPayment 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 | 1000.0 | 500.0 | 0 | 0 | 500 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 01 January 2022 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | + | 01 February 2022 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 500.0 | When Admin sets the business date to "15 February 2023" And Customer makes "AUTOPAY" repayment on "15 February 2022" with 400 EUR transaction amount Then Loan Repayment schedule has 4 periods, with the following data for periods: @@ -1756,7 +1768,7 @@ Feature: Loan DownPayment | 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_DOWNPAYMENT_AUTO | 01 January 2022 | 2000 | 0 | DECLINING_BALANCE | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 January 2022" with "2000" amount and expected disbursement date on "01 January 2022" - When Admin successfully disburse the loan on "01 January 2022" with "1000" EUR transaction amount + When Admin disburses the loan on "01 January 2022" 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 January 2022 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -1767,8 +1779,13 @@ Feature: Loan DownPayment 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 | 1000.0 | 250 | 0 | 0 | 750 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 01 January 2022 | Down Payment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" When Admin sets the business date to "15 January 2022" - When Admin successfully disburse the loan on "15 January 2022" with "1000" EUR transaction amount + When Admin disburses the loan on "15 January 2022" with "1000" EUR transaction amount Then Loan Repayment schedule has 5 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 2022 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -1781,6 +1798,13 @@ Feature: Loan DownPayment Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 2000.0 | 0 | 0 | 0 | 2000.0 | 500 | 0 | 0 | 1500 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 01 January 2022 | Down Payment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | + | 15 January 2022 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1750.0 | + | 15 January 2022 | Down Payment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 1500.0 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" When Admin successfully undo last disbursal 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 | diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanReAging.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanReAging.feature index 67622a61bb..1b87f67077 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanReAging.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanReAging.feature @@ -1681,7 +1681,6 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 03 May 2025 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - When Loan Pay-off is made on "03 May 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1753,7 +1752,6 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 03 May 2025 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - When Loan Pay-off is made on "03 May 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1765,7 +1763,7 @@ Feature: LoanReAging | 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_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL | 01 January 2025 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2025" with "500" amount and expected disbursement date on "01 January 2025" - When Admin successfully disburse the loan on "01 January 2025" with "500" EUR transaction amount + When Admin disburses the loan on "01 January 2025" with "500" EUR transaction amount Then Loan Repayment schedule has 4 periods, with the following data for periods: | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | | | 01 January 2025 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | | @@ -1781,7 +1779,7 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 | false | # --- backdated disbursement --- # When Admin sets the business date to "01 May 2025" - When Admin successfully disburse the loan on "16 January 2025" with "100" EUR transaction amount + When Admin disburses the loan on "16 January 2025" with "100" EUR transaction amount # --- add charge a month later after maturity date --- # And Admin adds "LOAN_NSF_FEE" due date charge with "01 May 2025" due date and 20 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: @@ -1804,9 +1802,10 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 May 2025 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" # --- add re-aging trn with start date as maturity date --- # When Admin creates a Loan re-aging transaction by Loan external ID with the following data: - | frequencyNumber | frequencyType | startDate | numberOfInstallments | + | frequencyNumber | frequencyType | startDate | numberOfInstallments | | 1 | WEEKS | 01 April 2025 | 1 | Then Loan Repayment schedule has 7 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 | @@ -1830,7 +1829,7 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 May 2025 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + Then LoanReAgeTransactionBusinessEvent has changedTerms "true" When Loan Pay-off is made on "01 May 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1858,7 +1857,6 @@ Feature: LoanReAging | 5 | 0 | 01 April 2024 | | 50.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 6 | 365 | 01 April 2025 | | 25.0 | 25.0 | 0.0 | 100.0 | 0.0 | 125.0 | 0.0 | 0.0 | 0.0 | 125.0 | | 7 | 365 | 01 April 2026 | | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | - When Loan Pay-off is made on "05 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1886,7 +1884,6 @@ Feature: LoanReAging | 5 | 0 | 01 April 2024 | | 50.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 6 | 30 | 01 May 2024 | | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 7 | 31 | 01 June 2024 | | 0.0 | 25.0 | 0.0 | 100.0 | 0.0 | 125.0 | 0.0 | 0.0 | 0.0 | 125.0 | - When Loan Pay-off is made on "05 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1914,7 +1911,6 @@ Feature: LoanReAging | 5 | 0 | 01 April 2024 | | 50.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 6 | 7 | 08 April 2024 | | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 7 | 7 | 15 April 2024 | | 0.0 | 25.0 | 0.0 | 100.0 | 0.0 | 125.0 | 0.0 | 0.0 | 0.0 | 125.0 | - When Loan Pay-off is made on "05 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1942,7 +1938,6 @@ Feature: LoanReAging | 5 | 0 | 01 April 2024 | | 50.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 6 | 1 | 02 April 2024 | | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 7 | 1 | 03 April 2024 | | 0.0 | 25.0 | 0.0 | 100.0 | 0.0 | 125.0 | 0.0 | 0.0 | 0.0 | 125.0 | - When Loan Pay-off is made on "05 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -1971,7 +1966,6 @@ Feature: LoanReAging | 6 | 30 | 01 May 2024 | | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 7 | 31 | 01 June 2024 | | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | 0.0 | 0.0 | 0.0 | 25.0 | | 8 | 32 | 03 July 2024 | | 0.0 | 0.0 | 0.0 | 100.0 | 0.0 | 100.0 | 0.0 | 0.0 | 0.0 | 100.0 | - When Loan Pay-off is made on "05 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2043,7 +2037,6 @@ Feature: LoanReAging | 01 March 2025 | Repayment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false | | 03 May 2025 | Chargeback | 125.0 | 125.0 | 0.0 | 0.0 | 0.0 | 875.0 | false | | 01 April 2025 | Re-age | 750.0 | 750.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "03 May 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2119,7 +2112,6 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 03 May 2025 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | - When Loan Pay-off is made on "03 May 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2393,9 +2385,9 @@ Feature: LoanReAging | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 09 March 2024 | Re-age | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - - When Loan Pay-off is made on "09 March 2024" - Then Loan is closed with zero outstanding balance and it's all installments have obligations met + Then LoanReAgeTransactionBusinessEvent has changedTerms "true" + When Loan Pay-off is made on "09 March 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met @TestRailId:C4057 @AdvancedPaymentAllocation Scenario: Verify that Loan re-aging transaction with repayment and chargeback - before maturity date and merges the corresponding normal installments - UC3 @@ -2619,12 +2611,11 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 01 January 2025 | Down Payment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false | | 15 February 2025 | Re-age | 750.0 | 750.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 February 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @TestRailId:C4060 @AdvancedPaymentAllocation - Scenario: Verify that Loan re-aging transaction with multiple disbursements: 2nd disb after re-aging - before maturity date and removes additional installments - UC6 + Scenario: Verify that Loan re-aging transaction with multiple disbursements: 2nd disb before re-aging - before maturity date and removes additional installments - UC6 When Admin sets the business date to "01 January 2025" When Admin creates a client with random data When Admin creates a fully customized loan with the following data: @@ -2667,7 +2658,6 @@ Feature: LoanReAging | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 10 February 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1500.0 | false | - When Admin creates a Loan re-aging preview by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | | 1 | MONTHS | 15 February 2025 | 2 | @@ -2682,7 +2672,6 @@ Feature: LoanReAging Then Loan Re-Aged Repayment schedule preview has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1500.0 | 0.0 | 0.0 | 0.0 | 1500.0 | 0.0 | 0.0 | 0.0 | 1500.0 | - # --- re-age loan on 2nd installment ---# When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -2703,7 +2692,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 10 February 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1500.0 | false | | 10 February 2025 | Re-age | 1500.0 | 1500.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "10 February 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2751,7 +2739,6 @@ Feature: LoanReAging | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 10 February 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1500.0 | false | - # --- re-age loan on 2nd installment ---# When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -2772,12 +2759,11 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 10 February 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1500.0 | false | | 10 February 2025 | Re-age | 1500.0 | 1500.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "10 February 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @TestRailId:C4324 @AdvancedPaymentAllocation - Scenario: Verify that Loan re-aging transaction with multiple disbursements: 2nd disb before re-aging - before maturity date and removes additional installments - UC6.1 + Scenario: Verify that Loan re-aging transaction with multiple disbursements: 2nd disb after re-aging - before maturity date and removes additional installments - UC6.1 When Admin sets the business date to "01 January 2025" When Admin creates a client with random data When Admin creates a fully customized loan with the following data: @@ -2800,7 +2786,6 @@ Feature: LoanReAging Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | - # --- re-age loan on 2nd installment ---# When Admin sets the business date to "10 February 2025" When Admin creates a Loan re-aging transaction by Loan external ID with the following data: @@ -2838,7 +2823,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 10 February 2025 | Re-age | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | | 10 February 2025 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1500.0 | false | - When Loan Pay-off is made on "10 February 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2907,7 +2891,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 15 January 2025 | Repayment | 167.0 | 167.0 | 0.0 | 0.0 | 0.0 | 833.0 | false | | 15 January 2025 | Re-age | 833.0 | 833.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -2976,7 +2959,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 15 January 2025 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 900.0 | false | | 15 January 2025 | Re-age | 900.0 | 900.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3045,7 +3027,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 15 January 2025 | Repayment | 400.0 | 400.0 | 0.0 | 0.0 | 0.0 | 600.0 | false | | 15 January 2025 | Re-age | 600.0 | 600.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3113,7 +3094,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 25 January 2025 | Merchant Issued Refund | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 700.0 | false | | 16 January 2025 | Re-age | 1000.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "25 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3184,7 +3164,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 15 January 2025 | Repayment | 166.65 | 166.65 | 0.0 | 0.0 | 0.0 | 833.35 | false | | 15 January 2025 | Re-age | 833.35 | 833.35 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3251,7 +3230,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 15 January 2025 | Repayment | 166.65 | 166.65 | 0.0 | 0.0 | 0.0 | 833.35 | false | | 15 January 2025 | Re-age | 833.35 | 833.35 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "15 January 2025" Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount @@ -3355,7 +3333,6 @@ Feature: LoanReAging | 01 January 2025 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | | 01 January 2025 | Down Payment | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 750.0 | false | | 10 January 2025 | Re-age | 750.0 | 750.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | - When Loan Pay-off is made on "10 January 2025" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3389,7 +3366,6 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 October 2024 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - When Admin sets the business date to "09 March 2024" When Admin creates a Loan re-aging preview by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -3414,7 +3390,6 @@ Feature: LoanReAging Then Loan Re-Aged Repayment schedule preview has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1000.0 | 0.0 | 0.0 | 20.0 | 1020.0 | 0.0 | 0.0 | 0.0 | 1020.0 | - When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | | 1 | MONTHS | 15 March 2024 | 10 | @@ -3445,7 +3420,6 @@ Feature: LoanReAging Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 October 2024 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - When Loan Pay-off is made on "09 March 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -3481,7 +3455,7 @@ Feature: LoanReAging | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 October 2024 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 01 November 2024| Flat | 30.0 | 0.0 | 0.0 | 30.0 | - +# --- add re-age transaction --- # When Admin sets the business date to "09 March 2024" When Admin creates a Loan re-aging preview by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -3499,7 +3473,7 @@ Feature: LoanReAging Then Loan Re-Aged Repayment schedule preview has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1000.0 | 0.0 | 0.0 | 50.0 | 1050.0 | 0.0 | 0.0 | 0.0 | 1050.0 | - +# -- add re-age transaction --- # When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | | 1 | MONTHS | 15 March 2024 | 2 | @@ -3524,7 +3498,7 @@ Feature: LoanReAging | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 01 October 2024 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 01 November 2024 | Flat | 30.0 | 0.0 | 0.0 | 30.0 | - + Then LoanReAgeTransactionBusinessEvent has changedTerms "true" When Loan Pay-off is made on "09 March 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -5190,7 +5164,6 @@ Feature: LoanReAging | 01 January 2024 | Down Payment | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 75.0 | false | false | | 01 February 2024 | Repayment | 12.76 | 12.32 | 0.44 | 0.0 | 0.0 | 62.68 | false | false | | 15 March 2024 | Re-age | 63.22 | 62.68 | 0.54 | 0.0 | 0.0 | 0.0 | false | false | - When Loan Pay-off is made on "15 March 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -6923,7 +6896,6 @@ Feature: LoanReAging 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 | - When Admin sets the business date to "01 February 2024" And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: @@ -6942,7 +6914,7 @@ Feature: LoanReAging | 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 | - +# - re-age transaction --- # When Admin sets the business date to "15 March 2024" When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -6967,9 +6939,10 @@ Feature: LoanReAging | 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 | | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | - + Then LoanReAgeTransactionBusinessEvent has changedTerms "true" +# --- 2nd disbursement transaction --- # When Admin sets the business date to "01 April 2024" - When Admin successfully disburse the loan on "01 April 2024" with "50" EUR transaction amount + When Admin disburses the loan on "01 April 2024" with "50" EUR transaction amount Then Loan Repayment schedule has 9 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 | | | | @@ -6992,7 +6965,7 @@ Feature: LoanReAging | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 133.57 | false | false | - + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" When Admin makes "REPAYMENT_ADJUSTMENT_CHARGEBACK" chargeback with 17.01 EUR transaction amount Then Loan Repayment schedule has 9 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 | @@ -7017,7 +6990,6 @@ Feature: LoanReAging | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 133.57 | false | false | | 01 April 2024 | Chargeback | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 150.0 | false | false | - When Admin successfully undo last disbursal Then Loan Repayment schedule has 9 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 | @@ -7040,7 +7012,6 @@ Feature: LoanReAging | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Chargeback | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 100.0 | false | false | - When Loan Pay-off is made on "01 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -7162,7 +7133,7 @@ Feature: LoanReAging 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 | - +# --- add repayment --- # When Admin sets the business date to "01 February 2024" And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: @@ -7181,7 +7152,7 @@ Feature: LoanReAging | 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 | - +# --- add re-age transaction ---# When Admin sets the business date to "15 March 2024" When Admin creates a Loan re-aging transaction by Loan external ID with the following data: | frequencyNumber | frequencyType | startDate | numberOfInstallments | @@ -7206,9 +7177,10 @@ Feature: LoanReAging | 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 | | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | - + Then LoanReAgeTransactionBusinessEvent has changedTerms "true" +# --- add backdated 2nd disbursement --- # When Admin sets the business date to "01 April 2024" - When Admin successfully disburse the loan on "01 March 2024" with "50" EUR transaction amount + When Admin disburses the loan on "01 March 2024" with "50" EUR transaction amount Then Loan Repayment schedule has 9 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 | | | | @@ -7231,7 +7203,8 @@ Feature: LoanReAging | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 01 March 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 133.57 | false | false | | 15 March 2024 | Re-age | 134.41 | 133.57 | 0.84 | 0.0 | 0.0 | 0.0 | false | true | - + Then LoanDisbursalTransactionBusinessEvent has changedTerms "false" +# --- add chargeback --- # When Admin makes "REPAYMENT_ADJUSTMENT_CHARGEBACK" chargeback with 12 EUR transaction amount Then Loan Repayment schedule has 9 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 | @@ -7256,8 +7229,7 @@ Feature: LoanReAging | 01 March 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 133.57 | false | false | | 15 March 2024 | Re-age | 134.41 | 133.57 | 0.84 | 0.0 | 0.0 | 0.0 | false | true | | 01 April 2024 | Chargeback | 12.0 | 11.42 | 0.58 | 0.0 | 0.0 | 144.99 | false | false | - - # --- undo last disbursement --- # +# --- undo last disbursement --- # When Admin successfully undo last disbursal Then Loan Repayment schedule has 9 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 | @@ -7280,7 +7252,6 @@ Feature: LoanReAging | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | true | | 01 April 2024 | Chargeback | 12.0 | 11.42 | 0.58 | 0.0 | 0.0 | 94.99 | false | false | - When Loan Pay-off is made on "01 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -7657,7 +7628,6 @@ Feature: LoanReAging | 15 March 2024 | Re-age | 84.28 | 83.57 | 0.71 | 0.0 | 0.0 | 0.0 | false | false | | 01 April 2024 | Disbursement | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 133.57 | false | false | | 01 April 2024 | Chargeback | 12.0 | 12.0 | 0.0 | 0.0 | 0.0 | 145.57 | false | false | - When Loan Pay-off is made on "01 April 2024" Then Loan is closed with zero outstanding balance and it's all installments have obligations met @@ -11135,3 +11105,70 @@ Feature: LoanReAging Then Loan has 0 outstanding amount Then Loan's all installments have obligations met + @TestRailId:C4682 @AdvancedPaymentAllocation + Scenario: Verify Re-aging on interest bearing loan with Default Behavior - re-aging that doesn't change number of installments but changes maturity 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_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL" 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_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL | 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 + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 3 | 31 | 01 April 2024 | | 50.43 | 16.62 | 0.39 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 4 | 30 | 01 May 2024 | | 33.71 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 5 | 31 | 01 June 2024 | | 16.9 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 0.0 | 0.0 | 0.0 | 102.05 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | + When Admin sets the business date to "01 February 2024" + And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | | 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 | 17.01 | 0.0 | 0.0 | 85.04 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + When Admin sets the business date to "15 February 2024" + When Admin creates a Loan re-aging transaction with the following data: + | frequencyNumber | frequencyType | startDate | numberOfInstallments | + | 1 | MONTHS | 15 February 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 | | | | + | 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 | 14 | 15 February 2024 | 15 February 2024 | 83.57 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | + | 3 | 0 | 15 February 2024 | | 62.67 | 20.9 | 0.24 | 0.0 | 0.0 | 21.14 | 0.0 | 0.0 | 0.0 | 21.14 | + | 4 | 29 | 15 March 2024 | | 41.9 | 20.77 | 0.37 | 0.0 | 0.0 | 21.14 | 0.0 | 0.0 | 0.0 | 21.14 | + | 5 | 31 | 15 April 2024 | | 21.0 | 20.9 | 0.24 | 0.0 | 0.0 | 21.14 | 0.0 | 0.0 | 0.0 | 21.14 | + | 6 | 30 | 15 May 2024 | | 0.0 | 21.0 | 0.12 | 0.0 | 0.0 | 21.12 | 0.0 | 0.0 | 0.0 | 21.12 | + 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.55 | 0.0 | 0.0 | 101.55 | 17.01 | 0.0 | 0.0 | 84.54 | + 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 | + | 15 February 2024 | Re-age | 83.81 | 83.57 | 0.24 | 0.0 | 0.0 | 0.0 | false | false | + Then LoanReAgeTransactionBusinessEvent has changedTerms "false" + When Loan Pay-off is made on "15 February 2024" + Then Loan is closed with zero outstanding balance and it's all installments have obligations met
