From 9b672aee2013d76d9197a6b6908a451bd424f16b Mon Sep 17 00:00:00 2001 From: mariiaKraievska Date: Thu, 2 Jan 2025 13:05:28 +0200 Subject: [PATCH] FINERACT-2148: Add tests for S-11 and S-12 --- .../LoanProductGlobalInitializerStep.java | 9 +- .../resources/features/LoanChargeOff.feature | 189 ++++++++++++++++++ 2 files changed, 196 insertions(+), 2 deletions(-) diff --git a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java index bdef57dabd..0e75042b1d 100644 --- a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java +++ b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java @@ -1120,8 +1120,13 @@ public void initialize() throws Exception { .transactionProcessingStrategyCode(ADVANCED_PAYMENT_ALLOCATION.getValue())// .loanScheduleType("PROGRESSIVE") // .loanScheduleProcessingType("HORIZONTAL")// - .maxInterestRatePerPeriod(10.0).paymentAllocation(List.of(// - createPaymentAllocation("DEFAULT", "NEXT_INSTALLMENT"))) + .interestRateFrequencyType(3)// + .maxInterestRatePerPeriod(10.0)// + .paymentAllocation(List.of(// + createPaymentAllocation("DEFAULT", "NEXT_INSTALLMENT"), // + createPaymentAllocation("GOODWILL_CREDIT", "LAST_INSTALLMENT"), // + createPaymentAllocation("MERCHANT_ISSUED_REFUND", "REAMORTIZATION"), // + createPaymentAllocation("PAYOUT_REFUND", "NEXT_INSTALLMENT")))// .chargeOffBehaviour("ZERO_INTEREST");// final Response responseLoanProductsRequestAdvZeroInterestChargeOffBehaviourProgressiveLoanSchedule = loanProductsApi .createLoanProduct(loanProductsRequestAdvZeroInterestChargeOffBehaviourProgressiveLoanSchedule).execute(); diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature index 56e31dfbd1..3d54474f63 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanChargeOff.feature @@ -2632,3 +2632,192 @@ Feature: Charge-off | 01 March 2024 | Repayment | 17.0 | 16.54 | 0.46 | 0.0 | 0.0 | 67.05 | false | false | | 31 March 2024 | Charge-off | 67.44 | 67.05 | 0.39 | 0.0 | 0.0 | 0.0 | false | true | + @PS-2137-s11 + Scenario: Charge-off on due date when loan behaviour is zero-interest and interestRecalculation = false - CBR scenario + When Admin sets the business date to "1 January 2024" + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_ZERO_INTEREST_CHARGE_OFF_BEHAVIOUR" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + When Admin creates a new zero charge-off Loan without interest recalculation and with date: "1 January 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 3 | 31 | 01 April 2024 | | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 4 | 30 | 01 May 2024 | | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 5 | 31 | 01 June 2024 | | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 0.0 | 0.0 | 0.0 | 17.04 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100 | 2.04 | 0 | 0 | 102.04 | 0 | 0 | 0 | 102.04 | + And Admin successfully approves the loan on "1 January 2024" with "100" amount and expected disbursement date on "1 January 2024" + And Admin successfully disburse the loan on "1 January 2024" with "100" EUR transaction amount + When Admin sets the business date to "1 February 2024" + And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.00 EUR transaction amount + When Admin sets the business date to "1 March 2024" + And Customer makes "AUTOPAY" repayment on "01 March 2024" with 17.00 EUR transaction amount + When Admin sets the business date to "1 April 2024" + And Customer makes "AUTOPAY" repayment on "01 April 2024" with 17.00 EUR transaction amount + When Admin sets the business date to "1 May 2024" + And Customer makes "AUTOPAY" repayment on "01 May 2024" with 17.00 EUR transaction amount + When Admin sets the business date to "1 June 2024" + And Customer makes "AUTOPAY" repayment on "01 June 2024" with 17.00 EUR transaction amount + When Admin sets the business date to "1 July 2024" + And Customer makes "AUTOPAY" repayment on "01 July 2024" with 20.04 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | 01 April 2024 | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 4 | 30 | 01 May 2024 | 01 May 2024 | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 5 | 31 | 01 June 2024 | 01 June 2024 | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 6 | 30 | 01 July 2024 | 01 July 2024 | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 17.04 | 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 | 2.04 | 0 | 0 | 102.04 | 102.04 | 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.0 | 16.41 | 0.59 | 0.0 | 0.0 | 83.59 | false | false | + | 01 March 2024 | Repayment | 17.0 | 16.54 | 0.46 | 0.0 | 0.0 | 67.05 | false | false | + | 01 April 2024 | Repayment | 17.0 | 16.6 | 0.4 | 0.0 | 0.0 | 50.45 | false | false | + | 01 May 2024 | Repayment | 17.0 | 16.71 | 0.29 | 0.0 | 0.0 | 33.74 | false | false | + | 01 June 2024 | Repayment | 17.0 | 16.8 | 0.2 | 0.0 | 0.0 | 16.94 | false | false | + | 01 July 2024 | Repayment | 20.04 | 16.94 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 01 July 2024 | Accrual | 2.04 | 0.0 | 2.04 | 0.0 | 0.0 | 0.0 | false | false | + When Admin sets the business date to "2 July 2024" + When Admin makes Credit Balance Refund transaction on "02 July 2024" with 3 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | 01 April 2024 | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 4 | 30 | 01 May 2024 | 01 May 2024 | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 5 | 31 | 01 June 2024 | 01 June 2024 | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 6 | 30 | 01 July 2024 | 01 July 2024 | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 17.04 | 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 | 2.04 | 0 | 0 | 102.04 | 102.04 | 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.0 | 16.41 | 0.59 | 0.0 | 0.0 | 83.59 | false | false | + | 01 March 2024 | Repayment | 17.0 | 16.54 | 0.46 | 0.0 | 0.0 | 67.05 | false | false | + | 01 April 2024 | Repayment | 17.0 | 16.6 | 0.4 | 0.0 | 0.0 | 50.45 | false | false | + | 01 May 2024 | Repayment | 17.0 | 16.71 | 0.29 | 0.0 | 0.0 | 33.74 | false | false | + | 01 June 2024 | Repayment | 17.0 | 16.8 | 0.2 | 0.0 | 0.0 | 16.94 | false | false | + | 01 July 2024 | Repayment | 20.04 | 16.94 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + | 01 July 2024 | Accrual | 2.04 | 0.0 | 2.04 | 0.0 | 0.0 | 0.0 | false | false | + | 02 July 2024 | Credit Balance Refund | 3.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + When Customer undo "1"th "Repayment" transaction made on "01 July 2024" + 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | 01 April 2024 | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 4 | 30 | 01 May 2024 | 01 May 2024 | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 5 | 31 | 01 June 2024 | 01 June 2024 | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 0.0 | 0.0 | 0.0 | 17.04 | + | 7 | 1 | 02 July 2024 | | 0.0 | 3.0 | 0.0 | 0.0 | 0.0 | 3.0 | 0.0 | 0.0 | 0.0 | 3.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 103 | 2.04 | 0 | 0 | 105.04 | 85.0 | 0 | 0 | 20.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.0 | 16.41 | 0.59 | 0.0 | 0.0 | 83.59 | false | false | + | 01 March 2024 | Repayment | 17.0 | 16.54 | 0.46 | 0.0 | 0.0 | 67.05 | false | false | + | 01 April 2024 | Repayment | 17.0 | 16.6 | 0.4 | 0.0 | 0.0 | 50.45 | false | false | + | 01 May 2024 | Repayment | 17.0 | 16.71 | 0.29 | 0.0 | 0.0 | 33.74 | false | false | + | 01 June 2024 | Repayment | 17.0 | 16.8 | 0.2 | 0.0 | 0.0 | 16.94 | false | false | + | 01 July 2024 | Repayment | 20.04 | 16.94 | 0.1 | 0.0 | 0.0 | 0.0 | true | false | + | 01 July 2024 | Accrual | 2.04 | 0.0 | 2.04 | 0.0 | 0.0 | 0.0 | false | false | + | 02 July 2024 | Credit Balance Refund | 3.0 | 3.0 | 0.0 | 0.0 | 0.0 | 19.94 | false | true | + When Admin sets the business date to "15 July 2024" + And Admin does charge-off the loan on "15 July 2024" + 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | 01 April 2024 | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 4 | 30 | 01 May 2024 | 01 May 2024 | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 5 | 31 | 01 June 2024 | 01 June 2024 | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 17.0 | 0.0 | 0.0 | 0.0 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 0.0 | 0.0 | 0.0 | 17.04 | + | 7 | 1 | 02 July 2024 | | 0.0 | 3.0 | 0.0 | 0.0 | 0.0 | 3.0 | 0.0 | 0.0 | 0.0 | 3.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 103 | 2.04 | 0 | 0 | 105.04 | 85.0 | 0 | 0 | 20.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.0 | 16.41 | 0.59 | 0.0 | 0.0 | 83.59 | false | false | + | 01 March 2024 | Repayment | 17.0 | 16.54 | 0.46 | 0.0 | 0.0 | 67.05 | false | false | + | 01 April 2024 | Repayment | 17.0 | 16.6 | 0.4 | 0.0 | 0.0 | 50.45 | false | false | + | 01 May 2024 | Repayment | 17.0 | 16.71 | 0.29 | 0.0 | 0.0 | 33.74 | false | false | + | 01 June 2024 | Repayment | 17.0 | 16.8 | 0.2 | 0.0 | 0.0 | 16.94 | false | false | + | 01 July 2024 | Repayment | 20.04 | 16.94 | 0.1 | 0.0 | 0.0 | 0.0 | true | false | + | 01 July 2024 | Accrual | 2.04 | 0.0 | 2.04 | 0.0 | 0.0 | 0.0 | false | false | + | 02 July 2024 | Credit Balance Refund | 3.0 | 3.0 | 0.0 | 0.0 | 0.0 | 19.94 | false | true | + | 15 July 2024 | Charge-off | 20.04 | 19.94 | 0.1 | 0.0 | 0.0 | 0.0 | false | false | + + @PS-2137-s12 + Scenario: Charge-off on due date when loan behaviour is zero-interest and interestRecalculation = false - adjust to last installment scenario + When Admin sets the business date to "1 January 2024" + And Admin creates a client with random data + And Admin set "LP2_ADV_PYMNT_ZERO_INTEREST_CHARGE_OFF_BEHAVIOUR" loan product "DEFAULT" transaction type to "LAST_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_BEHAVIOUR | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 3 | 31 | 01 April 2024 | | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 4 | 30 | 01 May 2024 | | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 5 | 31 | 01 June 2024 | | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 0.0 | 0.0 | 0.0 | 17.04 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100 | 2.04 | 0 | 0 | 102.04 | 0 | 0 | 0 | 102.04 | + And Admin successfully approves the loan on "1 January 2024" with "100" amount and expected disbursement date on "1 January 2024" + And Admin successfully disburse the loan on "1 January 2024" with "100" EUR transaction amount + When Admin sets the business date to "15 January 2024" + And Customer makes "AUTOPAY" repayment on "15 January 2024" with 17.04 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.54 | 0.46 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 3 | 31 | 01 April 2024 | | 50.45 | 16.6 | 0.4 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 4 | 30 | 01 May 2024 | | 33.74 | 16.71 | 0.29 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 5 | 31 | 01 June 2024 | | 16.94 | 16.8 | 0.2 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 6 | 30 | 01 July 2024 | 15 January 2024 | 0.0 | 16.94 | 0.1 | 0.0 | 0.0 | 17.04 | 17.04 | 17.04 | 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 | 2.04 | 0 | 0 | 102.04 | 17.04 | 17.04 | 0 | 85.0 | + When Admin sets the business date to "29 February 2024" + And Admin does charge-off the loan on "29 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.59 | 16.41 | 0.59 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 2 | 29 | 01 March 2024 | | 67.03 | 16.56 | 0.44 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 3 | 31 | 01 April 2024 | | 50.03 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 4 | 30 | 01 May 2024 | | 33.03 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + | 5 | 31 | 01 June 2024 | | 17.04 | 15.99 | 0.0 | 0.0 | 0.0 | 15.99 | 0.0 | 0.0 | 0.0 | 15.99 | + | 6 | 30 | 01 July 2024 | 15 January 2024 | 0.0 | 17.04 | 0.0 | 0.0 | 0.0 | 17.04 | 17.04 | 17.04 | 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 | 1.03 | 0 | 0 | 101.03 | 17.04 | 17.04 | 0 | 83.99 | + 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 | Repayment | 17.04 | 16.94 | 0.1 | 0.0 | 0.0 | 83.06 | false | false | + | 29 February 2024 | Charge-off | 83.99 | 82.96 | 1.03 | 0.0 | 0.0 | 0.0 | false | false | + And Admin set "LP2_ADV_PYMNT_ZERO_INTEREST_CHARGE_OFF_BEHAVIOUR" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule +