From ab1a634d1745c6cd7974fa7ad2112ecda7c71e5c Mon Sep 17 00:00:00 2001 From: Peter Kovacs Date: Fri, 8 Nov 2024 08:35:20 +0100 Subject: [PATCH] FINERACT-2070: E2E testcase migration - feature files - pt3 --- .../src/test/resources/features/Loan.feature | 689 ++++-- .../features/LoanAccrualActivity.feature | 2051 +++++++++++++++++ .../features/LoanAccrualTransaction.feature | 190 +- .../test/resources/features/LoanCBR.feature | 198 +- .../resources/features/LoanCharge.feature | 177 +- 5 files changed, 2958 insertions(+), 347 deletions(-) create mode 100644 fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature 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 87dce825af2..aff9b73b69e 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/Loan.feature @@ -1,45 +1,45 @@ @LoanFeature Feature: Loan - @Smoke + @TestRailId:C16 @Smoke Scenario: Loan creation functionality in Fineract When Admin sets the business date to the actual date When Admin creates a client with random data When Admin creates a new Loan - + @TestRailId:C17 Scenario: Loan creation functionality in Fineract When Admin sets the business date to "1 July 2022" When Admin creates a client with random data And Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 - + @TestRailId:C42 Scenario: As a user I would like to see that the loan is not created if the loan submission date is after the business date When Admin sets the business date to "25 June 2022" When Admin creates a client with random data Then Admin fails to create a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 - + @TestRailId:C43 Scenario: As a user I would like to see that the loan is created if the loan submission date is equal to business date When Admin sets the business date to "1 July 2022" When Admin creates a client with random data And Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 - + @TestRailId:C46 Scenario: As a user I would like to see that the loan is approved at the business date When Admin sets the business date to "1 July 2022" When Admin creates a client with random data And Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 And Admin successfully approves the loan on "1 July 2022" with "5000" amount and expected disbursement date on "2 July 2022" - @single + @TestRailId:C30 @single Scenario: As a user I would like to see that the loan is cannot be approved with future approval date When Admin sets the business date to "1 July 2022" When Admin creates a client with random data And Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "5000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 Then Admin fails to approve the loan on "2 July 2022" with "5000" amount and expected disbursement date on "2 July 2022" because of wrong date - @multi + @TestRailId:C47 @multi Scenario: As a user I would like to see that the loan can be disbursed at the business date When Admin sets the business date to "1 July 2022" When Admin creates a client with random data @@ -47,7 +47,7 @@ Feature: Loan And Admin successfully approves the loan on "1 July 2022" with "5000" amount and expected disbursement date on "2 July 2022" When Admin successfully disburse the loan on "1 July 2022" with "5000" EUR transaction amount - + @TestRailId:C31 Scenario: As a user I would like to see that the loan is cannot be disbursed with future disburse date When Admin sets the business date to "1 July 2022" When Admin creates a client with random data @@ -55,7 +55,7 @@ Feature: Loan And Admin successfully approves the loan on "1 July 2022" with "5000" amount and expected disbursement date on "2 July 2022" Then Admin fails to disburse the loan on "2 July 2022" with "5000" EUR transaction amount because of wrong date - + @TestRailId:C64 Scenario: As a user I would like to see that 50% over applied amount can be approved and disbursed on loan correctly When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -63,7 +63,7 @@ Feature: Loan And Admin successfully approves the loan on "1 September 2022" with "1500" amount and expected disbursement date on "1 September 2022" When Admin successfully disburse the loan on "1 September 2022" with "1500" EUR transaction amount - + @TestRailId:C65 Scenario: As a user I would like to see that 50% over applied amount can be approved but more than 50% cannot be disbursed on loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -71,14 +71,14 @@ Feature: Loan And Admin successfully approves the loan on "1 September 2022" with "1500" amount and expected disbursement date on "1 September 2022" Then Admin fails to disburse the loan on "1 September 2022" with "1501" EUR transaction amount because of wrong amount - + @TestRailId:C66 Scenario: As a user I would like to see that more than 50% over applied amount can not be approved on loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data When Admin successfully creates a new customised Loan submitted on date: "1 September 2022", with Principal: "1000", a loanTermFrequency: 3 months, and numberOfRepayments: 3 Then Admin fails to approve the loan on "1 September 2022" with "1501" amount and expected disbursement date on "1 September 2022" because of wrong amount - + @TestRailId:C2769 Scenario: As a user I would like to see that more than 50% over applied amount in total can not be disbursed on loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -87,7 +87,7 @@ Feature: Loan And Admin successfully disburse the loan on "1 September 2022" with "1400" EUR transaction amount Then Admin fails to disburse the loan on "1 September 2022" with "101" EUR transaction amount because of wrong amount - + @TestRailId:C67 Scenario: As admin I would like to check that amounts are distributed equally in loan repayment schedule When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -97,7 +97,7 @@ Feature: Loan When Admin successfully disburse the loan on "1 September 2022" with "900" EUR transaction amount Then Amounts are distributed equally in loan repayment schedule in case of total amount 900 - + @TestRailId:C68 Scenario: As admin I would like to be sure that approval of on loan can be undone When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -105,7 +105,7 @@ Feature: Loan And Admin successfully approves the loan on "1 September 2022" with "1000" amount and expected disbursement date on "1 September 2022" Then Admin can successfully undone the loan approval - + @TestRailId:C69 Scenario: As admin I would like to be sure that disbursal of on loan can be undone When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -116,14 +116,14 @@ Feature: Loan Then Admin can successfully undone the loan approval And Admin successfully approves the loan on "1 September 2022" with "1000" amount and expected disbursement date on "1 September 2022" - + @TestRailId:C70 Scenario: As admin I would like to be sure that submitted on date can be edited on loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data When Admin creates a new default Loan with date: "1 September 2022" Then Admin can successfully modify the loan and changes the submitted on date to "31 August 2022" - @fraud + @TestRailId:C2454 @fraud Scenario: As admin I would like to set Fraud flag to a loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -132,7 +132,7 @@ Feature: Loan When Admin successfully disburse the loan on "1 September 2022" with "1000" EUR transaction amount Then Admin can successfully set Fraud flag to the loan - @fraud + @TestRailId:C2455 @fraud Scenario: As admin I would like to unset Fraud flag to a loan When Admin sets the business date to "1 September 2022" When Admin creates a client with random data @@ -143,7 +143,7 @@ Feature: Loan Then Admin can successfully unset Fraud flag to the loan - @fraud + @TestRailId:C2456 @fraud Scenario: As admin I would like to try to add fraud flag on a not active loan When Admin sets the business date to "25 October 2022" When Admin creates a client with random data @@ -151,7 +151,7 @@ Feature: Loan And Admin successfully approves the loan on "25 October 2022" with "1000" amount and expected disbursement date on "25 October 2022" Then Admin can successfully unset Fraud flag to the loan - @idempotency + @TestRailId:C2473 @idempotency Scenario: As admin I would like to verify that idempotency APIs can be called with the Idempotency-Key header When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -163,7 +163,7 @@ Feature: Loan Then Loan has 1 "DISBURSEMENT" transactions on Transactions tab Then Loan has 1 "REPAYMENT" transactions on Transactions tab - @idempotency + @TestRailId:C2474 @idempotency Scenario: As admin I would like to verify that idempotency APIs can be called without the Idempotency-Key header When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -175,7 +175,7 @@ Feature: Loan Then Loan has 1 "DISBURSEMENT" transactions on Transactions tab Then Loan has 1 "REPAYMENT" transactions on Transactions tab - @idempotency + @TestRailId:C2475 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in a happy path scenario in case of REPAYMENT transaction When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -190,7 +190,7 @@ Feature: Loan Then Transaction response has the correct clientId and the loanId of the first transaction Then Loan has 1 "REPAYMENT" transactions on Transactions tab - @idempotency + @TestRailId:C2476 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in a happy path scenario in case of GOODWILL_CREDIT transaction When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -206,7 +206,7 @@ Feature: Loan Then Transaction response has the correct clientId and the loanId of the first transaction Then Loan has 1 "GOODWILL_CREDIT" transactions on Transactions tab - @idempotency + @TestRailId:C2477 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in a happy path scenario in case of PAYOUT_REFUND transaction When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -221,7 +221,7 @@ Feature: Loan Then Transaction response has the correct clientId and the loanId of the first transaction Then Loan has 1 "PAYOUT_REFUND" transactions on Transactions tab - @idempotency + @TestRailId:C2478 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in a happy path scenario in case of MERCHANT_ISSUED_REFUND transaction When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -236,7 +236,7 @@ Feature: Loan Then Transaction response has the correct clientId and the loanId of the first transaction Then Loan has 1 "MERCHANT_ISSUED_REFUND" transactions on Transactions tab - @idempotency + @TestRailId:C2482 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in case of client calls the same idempotency key on a second loan When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -255,8 +255,8 @@ Feature: Loan Then Loan has 1 "REPAYMENT" transactions on Transactions tab Then Second loan has 0 "REPAYMENT" transactions on Transactions tab -# TODO it will fail until different client can see each other cached response with same idempotent key is fixed - @Skip @idempotency +# TODO unskip and check when PS-1106 is done + @Skip @TestRailId:C2483 @idempotency Scenario: As admin I would like to verify that idempotency applies correctly in case of a second client calls the same idempotency key on a second loan When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -276,7 +276,7 @@ Feature: Loan Then Loan has 1 "REPAYMENT" transactions on Transactions tab Then Second loan has 1 "REPAYMENT" transactions on Transactions tab - + @TestRailId:C2479 Scenario: As admin I would like to be sure that goodwill credit transaction is working properly When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -288,7 +288,7 @@ Feature: Loan When Customer makes "GOODWILL_CREDIT" transaction with "AUTOPAY" payment type on "15 November 2022" with 200 EUR transaction amount and self-generated Idempotency key Then Loan has 1 "GOODWILL_CREDIT" transactions on Transactions tab - + @TestRailId:C2480 Scenario: As admin I would like to be sure that payout refund transaction is working properly When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -300,7 +300,7 @@ Feature: Loan When Customer makes "PAYOUT_REFUND" transaction with "AUTOPAY" payment type on "15 November 2022" with 200 EUR transaction amount and self-generated Idempotency key Then Loan has 1 "PAYOUT_REFUND" transactions on Transactions tab - + @TestRailId:C2481 Scenario: As admin I would like to be sure that merchant issued refund transaction is working properly When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -312,7 +312,7 @@ Feature: Loan When Customer makes "MERCHANT_ISSUED_REFUND" transaction with "AUTOPAY" payment type on "15 November 2022" with 200 EUR transaction amount and self-generated Idempotency key Then Loan has 1 "MERCHANT_ISSUED_REFUND" transactions on Transactions tab - + @TestRailId:C2488 Scenario: As admin I would like to be sure that no multiple status change event got raised during transaction replaying When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -333,7 +333,7 @@ Feature: Loan When Customer undo "1"th repayment on "4 November 2022" Then Loan status has changed to "Active" - + @TestRailId:C2489 Scenario: As admin I would like to charge-off a loan and be sure the event was triggered When Admin sets the business date to "1 November 2022" When Admin creates a client with random data @@ -346,7 +346,7 @@ Feature: Loan And Admin does charge-off the loan on "3 November 2022" Then Loan marked as charged-off on "03 November 2022" - + @TestRailId:C2491 Scenario: As a user I would like to do multiple repayment, overpay the loan and reverse-replaying transactions and check outstanding balance When Admin sets the business date to "01 November 2022" When Admin creates a client with random data @@ -400,7 +400,7 @@ Feature: Loan And Customer makes "AUTOPAY" repayment on "02 November 2022" with 500 EUR transaction amount Then Loan has 290 overpaid amount - + @TestRailId:C2502 Scenario: Verify that Loan status goes from active to overpaid in case of Goodwill credit transaction when transaction amount is greater than balance When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -435,7 +435,7 @@ Feature: Loan | LIABILITY | l1 | Overpayment account | | 100.0 | | EXPENSE | 744003 | Goodwill Expense Account | 400.0 | | - + @TestRailId:C2503 Scenario: Verify that Loan status goes from active to overpaid in case of Backdated 3rd repayment when transaction amount is greater than balance When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -471,7 +471,7 @@ Feature: Loan | LIABILITY | 145023 | Suspense/Clearing account | 250.0 | | - + @TestRailId:C2504 Scenario: Verify that Loan status goes from overpaid to active in case of Chargeback transaction when transaction amount is greater than overpaid amount When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -512,7 +512,7 @@ Feature: Loan | LIABILITY | 145023 | Suspense/Clearing account | | 300.0 | | LIABILITY | l1 | Overpayment account | 200.0 | | - + @TestRailId:C2506 Scenario: Verify that Loan status goes from overpaid to active in case of 1st repayment is undone When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -549,7 +549,7 @@ Feature: Loan | ASSET | 112601 | Loans Receivable | | 300.0 | | LIABILITY | 145023 | Suspense/Clearing account | 300.0 | | - + @TestRailId:C2507 Scenario: Verify that Loan status goes from active to closed in case of Goodwill credit transaction when transaction amount equals balance When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -582,7 +582,7 @@ Feature: Loan | ASSET | 112601 | Loans Receivable | | 300.0 | | EXPENSE | 744003 | Goodwill Expense Account | 300.0 | | - + @TestRailId:C2508 Scenario: Verify that Loan status goes from active to closed in case of Backdated 3rd repayment when transaction amount equals balance When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -615,7 +615,7 @@ Feature: Loan | ASSET | 112601 | Loans Receivable | | 250.0 | | LIABILITY | 145023 | Suspense/Clearing account | 250.0 | | - + @TestRailId:C2509 Scenario: Verify that Loan status goes from closed to overpaid in case of Goodwill credit transaction When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -656,7 +656,7 @@ Feature: Loan | EXPENSE | 744003 | Goodwill Expense Account | 100.0 | | - + @TestRailId:C2510 Scenario: Verify that Loan status goes from overpaid to closed in case of Chargeback transaction when transaction amount equals overpaid amount When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -697,7 +697,7 @@ Feature: Loan | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2512 Scenario: Verify that Loan status goes from overpaid to closed in case of 1st repayment is undone When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -734,7 +734,7 @@ Feature: Loan | ASSET | 112601 | Loans Receivable | | 300.0 | | LIABILITY | 145023 | Suspense/Clearing account | 300.0 | | - + @TestRailId:C2513 Scenario: Verify that Loan status goes from closed to active in case of Chargeback transaction When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -773,7 +773,7 @@ Feature: Loan | ASSET | 112601 | Loans Receivable | 200.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2514 Scenario: Verify that Loan status goes from closed to active in case of 1st repayment is undone When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -811,7 +811,7 @@ Feature: Loan | LIABILITY | 145023 | Suspense/Clearing account | 200.0 | | - + @TestRailId:C2539 Scenario: Verify that loan overdue calculation is updated upon Goodwill credit transaction When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -828,7 +828,7 @@ Feature: Loan Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount - + @TestRailId:C2540 Scenario: Verify that loan overdue calculation is updated upon Payout refund transaction When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -845,7 +845,7 @@ Feature: Loan Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount - + @TestRailId:C2541 Scenario: Verify that loan overdue calculation is updated upon Merchant issued refund transaction When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -862,7 +862,7 @@ Feature: Loan Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount - + @TestRailId:C2552 Scenario: Verify that delinquency event contains the correct delinquentDate in case of one repayment is overdue When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -873,20 +873,20 @@ Feature: Loan When Admin runs inline COB job for Loan Then Admin checks that delinquency range is: "RANGE_3" and has delinquentDate "2023-02-03" - + @TestRailId:C2553 Scenario: Verify that delinquency event contains the correct delinquentDate in case of multiple repayments are overdue When Admin sets the business date to "1 January 2023" 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 | - | LP1 | 1 January 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 1 January 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "1 January 2023" with "1000" amount and expected disbursement date on "1 January 2023" When Admin successfully disburse the loan on "1 January 2023" with "1000" EUR transaction amount When Admin sets the business date to "5 April 2023" When Admin runs inline COB job for Loan Then Admin checks that delinquency range is: "RANGE_30" and has delinquentDate "2023-02-04" - + @TestRailId:C2583 Scenario: Verify last payment related fields when retrieving loan details with 1 repayment When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -899,7 +899,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 200.0 | 03 January 2023 | 200.0 | 03 January 2023 | - + @TestRailId:C2586 Scenario: Verify last payment related fields when retrieving loan details with 2 repayments on different day When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -914,7 +914,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 300.0 | 05 January 2023 | 300.0 | 05 January 2023 | - + @TestRailId:C2587 Scenario: Verify last payment related fields when retrieving loan details with 2 repayments on the same day When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -928,7 +928,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 300.0 | 03 January 2023 | 300.0 | 03 January 2023 | - + @TestRailId:C2588 Scenario: Verify last payment related fields when retrieving loan details with 2 repayments on different day then the second repayment reversed When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -947,7 +947,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 200.0 | 03 January 2023 | 200.0 | 03 January 2023 | - + @TestRailId:C2589 Scenario: Verify last payment related fields when retrieving loan details with 1 repayment and 1 goodwill credit transaction When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -962,7 +962,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 400.0 | 05 January 2023 | 200.0 | 03 January 2023 | - + @TestRailId:C2590 Scenario: Verify last payment related fields when retrieving loan details with 1 repayment, 1 goodwill credit transaction and 1 more repayment then the second repayment reversed When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -983,7 +983,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 400.0 | 05 January 2023 | 200.0 | 03 January 2023 | - + @TestRailId:C2678 Scenario: Verify that after loan is closed loan details and event has last repayment date and amount When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -999,7 +999,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 1000.0 | 02 January 2023 | 1000.0 | 02 January 2023 | - + @TestRailId:C2679 Scenario: Verify that after loan is overpaid loan details and event has last repayment date and amount When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1015,7 +1015,7 @@ Feature: Loan | lastPaymentAmount | lastPaymentDate | lastRepaymentAmount | lastRepaymentDate | | 1100.0 | 02 January 2023 | 1100.0 | 02 January 2023 | - @fraud + @TestRailId:C2687 @fraud Scenario: Verify that closed loan can be marked as Fraud When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1027,7 +1027,7 @@ Feature: Loan Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Admin can successfully set Fraud flag to the loan - @fraud + @TestRailId:C2688 @fraud Scenario: Verify that overpaid loan can be marked as Fraud When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1039,7 +1039,7 @@ Feature: Loan Then Loan status will be "OVERPAID" Then Admin can successfully set Fraud flag to the loan - + @TestRailId:C2690 Scenario: Verify that the repayment schedule is correct when the loan has a fee and multi disbursement happens When Admin sets the business date to "1 May 2023" When Admin creates a client with random data @@ -1065,13 +1065,13 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1500 | 0 | 8 | 0 | 1508 | 0 | 0 | 0 | 1508 | - + @TestRailId:C2691 Scenario: As an admin I would like to do a chargeback for Goodwill Credit When Admin sets the business date to "8 May 2023" And 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 | - | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "8 May 2023" with "1000" amount and expected disbursement date on "8 May 2023" And Admin successfully disburse the loan on "8 May 2023" with "1000" EUR transaction amount When Admin sets the business date to "9 May 2023" @@ -1093,13 +1093,13 @@ Feature: Loan | 09 May 2023 | Goodwill Credit | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 700.0 | | 10 May 2023 | Chargeback | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 1000.0 | - + @TestRailId:C2692 Scenario: As an admin I would like to do a chargeback for Payout Refund When Admin sets the business date to "8 May 2023" And 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 | - | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "8 May 2023" with "1000" amount and expected disbursement date on "8 May 2023" And Admin successfully disburse the loan on "8 May 2023" with "1000" EUR transaction amount When Admin sets the business date to "9 May 2023" @@ -1121,13 +1121,13 @@ Feature: Loan | 09 May 2023 | Payout Refund | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 700.0 | | 10 May 2023 | Chargeback | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 1000.0 | - + @TestRailId:C2693 Scenario: As an admin I would like to do a chargeback for Merchant Issued Refund When Admin sets the business date to "8 May 2023" And 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 | - | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 8 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "8 May 2023" with "1000" amount and expected disbursement date on "8 May 2023" And Admin successfully disburse the loan on "8 May 2023" with "1000" EUR transaction amount When Admin sets the business date to "9 May 2023" @@ -1149,14 +1149,14 @@ Feature: Loan | 09 May 2023 | Merchant Issued Refund | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 700.0 | | 10 May 2023 | Chargeback | 300.0 | 300.0 | 0.0 | 0.0 | 0.0 | 1000.0 | - + @TestRailId:C2770 Scenario: As an admin I would like to do two merchant issued refund and charge adjustment to close the loan When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "14 May 2023" And 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 | - | LP1 | 14 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | DUE_PENALTY_FEE_INTEREST_PRINCIPAL_IN_ADVANCE_PRINCIPAL_PENALTY_FEE_INTEREST | + | LP1 | 14 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | DUE_PENALTY_FEE_INTEREST_PRINCIPAL_IN_ADVANCE_PRINCIPAL_PENALTY_FEE_INTEREST | And Admin successfully approves the loan on "14 May 2023" with "127.95" amount and expected disbursement date on "14 May 2023" And Admin successfully disburse the loan on "14 May 2023" with "127.95" EUR transaction amount When Admin sets the business date to "11 June 2023" @@ -1220,7 +1220,7 @@ Feature: Loan | 17 June 2023 | Merchant Issued Refund | 2.95 | 0.0 | 0.0 | 2.95 | 0.0 | 0.0 | When Global config "charge-accrual-date" value set to "due-date" - + @TestRailId:C2776 Scenario: Verify that maturity date is updated on repayment reversal When Admin sets the business date to "01 June 2023" When Admin creates a client with random data @@ -1244,41 +1244,44 @@ Feature: Loan | actualMaturityDate | expectedMaturityDate | | 01 July 2023 | 01 July 2023 | + @TestRailId:C3202 Scenario: Verify that closed date is updated on repayment reversal - When Admin sets the business date to "01 June 2023" + When Admin sets the business date to "01 June 2024" When Admin creates a client with random data - When Admin creates a new default Loan with date: "01 June 2023" - And Admin successfully approves the loan on "01 June 2023" with "1000" amount and expected disbursement date on "01 June 2023" - When Admin successfully disburse the loan on "01 June 2023" with "1000" EUR transaction amount + When Admin creates a new default Loan with date: "01 June 2024" + And Admin successfully approves the loan on "01 June 2024" with "1000" amount and expected disbursement date on "01 June 2024" + When Admin successfully disburse the loan on "01 June 2024" with "1000" EUR transaction amount Then Loan status will be "ACTIVE" - When Admin sets the business date to "20 June 2023" - And Customer makes "AUTOPAY" repayment on "20 June 2023" with 1000 EUR transaction amount + When Admin sets the business date to "20 June 2024" + And Customer makes "AUTOPAY" repayment on "20 June 2024" with 1000 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" - When Admin sets the business date to "20 June 2023" - When Customer undo "1"th "Repayment" transaction made on "20 June 2023" + Then Loan closedon_date is "20 June 2024" + When Admin sets the business date to "21 June 2024" + When Customer undo "1"th "Repayment" transaction made on "20 June 2024" Then Loan status will be "ACTIVE" Then Loan closedon_date is "null" + @TestRailId:C2777 Scenario: As an admin I would like to delete a loan using external id When Admin sets the business date to the actual date And Admin creates a client with random data When Admin creates a new Loan Then Admin successfully deletes the loan with external id - + @TestRailId:C2778 Scenario: As an admin I would like to verify that deleting loan using incorrect external id gives error When Admin sets the business date to the actual date And Admin creates a client with random data When Admin creates a new Loan Then Admin fails to delete the loan with incorrect external id - + @TestRailId:C2784 Scenario: As a user I would like to do multiple repayment after reverse transactions and check the order of transactions When Admin sets the business date to "01 November 2022" 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 | - | LP1 | 01 November 2022 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | DUE_PENALTY_FEE_INTEREST_PRINCIPAL_IN_ADVANCE_PRINCIPAL_PENALTY_FEE_INTEREST | + | LP1 | 01 November 2022 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | DUE_PENALTY_FEE_INTEREST_PRINCIPAL_IN_ADVANCE_PRINCIPAL_PENALTY_FEE_INTEREST | And Admin successfully approves the loan on "01 November 2022" with "1000" amount and expected disbursement date on "01 November 2022" When Admin successfully disburse the loan on "01 November 2022" with "1000" EUR transaction amount Then Loan has 1000 outstanding amount @@ -1305,13 +1308,13 @@ Feature: Loan | Repayment | 8.0 | 0.0 | 0.0 | 0.0 | 8.0 | 1000.0 | | Repayment | 7.0 | 0.0 | 0.0 | 0.0 | 7.0 | 1000.0 | - + @TestRailId:C2783 Scenario: As an admin I would like to verify that only one active repayment schedule exits for loan multiple disbursement When Admin sets the business date to "07 July 2023" And 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 | - | LP1 | 07 July 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 07 July 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "07 July 2023" with "1000" amount and expected disbursement date on "07 July 2023" And Admin successfully disburse the loan on "07 July 2023" with "370.55" EUR transaction amount When Admin sets the business date to "12 July 2023" @@ -1360,13 +1363,13 @@ Feature: Loan | 21 July 2023 | Merchant Issued Refund | 167.4 | 162.25 | 0.0 | 5.15 | 0.0 | 208.3 | | 24 July 2023 | Disbursement | 18.0 | 0.0 | 0.0 | 0.0 | 0.0 | 226.3 | - @AdvancedPaymentAllocation + @TestRailId:C2842 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that simple payments are working with advanced payment allocation (UC1) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1442,13 +1445,13 @@ Feature: Loan | 15 February 2023 | Repayment | 125.0 | 125.0 | 0.0 | 0.0 | 0.0 | 0.0 | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2843 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that simple payments and overpayment of the installment (goes to next installment) are working with advanced payment allocation (UC2) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1524,13 +1527,13 @@ Feature: Loan | 15 February 2023 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2844 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that simple payments and overpayment of the installment (goes to last installment) are working with advanced payment allocation (UC3) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1606,13 +1609,13 @@ Feature: Loan | 15 February 2023 | Goodwill Credit | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2845 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that simple payments are working after some of them failed with advanced payment allocation (UC4) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1739,13 +1742,13 @@ Feature: Loan | 15 February 2023 | Repayment | 360.0 | 360.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2846 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that Merchant issued refund with reamortization works with advanced payment allocation (UC05) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1817,13 +1820,13 @@ Feature: Loan | 16 January 2023 | Repayment | 201.0 | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | 1.0 | Then Loan status has changed to "Overpaid" - @AdvancedPaymentAllocation + @TestRailId:C2847 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that Merchant issued refund with reamortization on due date works with advanced payment allocation (UC07) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -1919,13 +1922,13 @@ Feature: Loan | 15 February 2023 | Repayment | 25.0 | 25.0 | 0.0 | 0.0 | 0.0 | 0.0 | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2848 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that Merchant issued refund with reamortization past due date works with advanced payment allocation (UC08) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -2052,13 +2055,13 @@ Feature: Loan | 15 February 2023 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2849 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that full refund with CBR (UC17) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -2116,13 +2119,13 @@ Feature: Loan | 09 January 2023 | Credit Balance Refund | 125.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2850 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that reverse-replay works with advanced payment allocation(UC24) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -2299,13 +2302,13 @@ Feature: Loan | 15 February 2023 | Repayment | 125.0 | 125.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | Then Loan status has changed to "Closed (obligations met)" - @AdvancedPaymentAllocation + @TestRailId:C2851 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that reamortization works with uneven balances with advanced payment allocation(UC25) When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -2395,13 +2398,13 @@ Feature: Loan | 04 January 2023 | Repayment | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | false | | 06 January 2023 | Merchant Issued Refund | 40.0 | 40.0 | 0.0 | 0.0 | 0.0 | 10.0 | false | - @AdvancedPaymentAllocation + @TestRailId:C2860 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: NEXT_INSTALLMENT When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2438,13 +2441,13 @@ Feature: Loan | 16 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2861 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: LAST_INSTALLMENT, payment on due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "LAST_INSTALLMENT" future installment allocation rule When Admin creates a fully customized loan with the following data: - | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2481,13 +2484,13 @@ Feature: Loan | 16 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2862 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: LAST_INSTALLMENT, payment before due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "LAST_INSTALLMENT" future installment allocation rule When Admin creates a fully customized loan with the following data: - | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2524,13 +2527,13 @@ Feature: Loan | 10 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2863 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: REAMORTIZATION, payment on due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2567,13 +2570,13 @@ Feature: Loan | 16 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2864 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: REAMORTIZATION, payment before due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2610,13 +2613,13 @@ Feature: Loan | 10 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2865 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: REAMORTIZATION, partial payment due date, payment before next due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2671,13 +2674,13 @@ Feature: Loan | 20 September 2023 | Repayment | 180.0 | 180.0 | 0.0 | 0.0 | 0.0 | 40.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C2897 @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation - future installments: LAST_INSTALLMENT, payment after due date When Admin sets the business date to "01 September 2023" And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "LAST_INSTALLMENT" future installment allocation rule When Admin creates a fully customized loan with the following data: - | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 September 2023 | 400 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "400" amount and expected disbursement date on "01 September 2023" And Admin successfully disburse the loan on "01 September 2023" with "400" EUR transaction amount @@ -2714,7 +2717,7 @@ Feature: Loan | 20 September 2023 | Repayment | 150.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - + @TestRailId:C2922 @ProgressiveLoanSchedule @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation with progressive loan schedule with multi disbursement and with overpaid installment @@ -2722,7 +2725,7 @@ Feature: Loan And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_ADV_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 | + | 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 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 60 | DAYS | 15 | DAYS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 May 2023" with "1000" amount and expected disbursement date on "01 May 2023" And Admin successfully disburse the loan on "01 May 2023" with "1000" EUR transaction amount @@ -2802,7 +2805,7 @@ Feature: Loan | 12 June 2023 | Disbursement | 250.0 | 0.0 | 0.0 | 0.0 | 0.0 | 850.0 | When Admin set "LP2_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - + @TestRailId:C2937 @ProgressiveLoanSchedule @AdvancedPaymentAllocation Scenario: Verify advanced payment allocation with progressive loan schedule with multi disbursement and reschedule @@ -2810,7 +2813,7 @@ Feature: Loan And Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_ADV_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 | + | 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 May 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 60 | DAYS | 15 | DAYS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 May 2023" with "1000" amount and expected disbursement date on "01 May 2023" And Admin successfully disburse the loan on "01 May 2023" with "1000" EUR transaction amount @@ -2913,12 +2916,12 @@ Feature: Loan | 15 July 2023 | Disbursement | 250.0 | 0.0 | 0.0 | 0.0 | 0.0 | 850.0 | When Admin set "LP2_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2940 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, loan fully paid in advance When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -2978,12 +2981,12 @@ Feature: Loan | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 17 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2941 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, loan fully paid in advance When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3043,12 +3046,12 @@ Feature: Loan | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 17 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2942 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, loan overpaid in advance When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3109,12 +3112,12 @@ Feature: Loan | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 17 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2943 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, loan overpaid in advance When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3175,12 +3178,12 @@ Feature: Loan | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 17 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2944 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, in advanced repayment (future installment type: NEXT_INSTALLMENT) When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3289,12 +3292,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2945 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, in advanced repayment (future installment type: NEXT_INSTALLMENT) When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3403,12 +3406,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2946 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount < past due charge When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3517,12 +3520,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2947 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount < past due charge When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3631,12 +3634,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2948 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount > first past due charge When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3745,12 +3748,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2949 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount > first past due charge When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3859,12 +3862,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2950 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount > sum past due charges When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -3973,12 +3976,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2951 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, late Goodwill credit transaction (future installment type: LAST_INSTALLMENT) - amount > sum past due charges When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4087,12 +4090,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2952 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, in advanced Goodwill credit transaction on first charge due date (future installment type: LAST_INSTALLMENT) - amount > due date charge When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4201,12 +4204,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2953 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, in advanced Goodwill credit transaction on first charge due date (future installment type: LAST_INSTALLMENT) - amount > due date charge When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4315,12 +4318,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2954 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, in advanced Goodwill credit transaction before first charge due date (future installment type: LAST_INSTALLMENT) - amount > first and second charge When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4429,12 +4432,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2955 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, in advanced Goodwill credit transaction before first charge due date (future installment type: LAST_INSTALLMENT) - amount > first and second charge When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4543,12 +4546,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 15.0 | 0.0 | 5.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2956 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, in advanced Merchant issued refund transaction on first charge due date (future installment type: REAMORTIZATION) - amount < sum all charges When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4657,12 +4660,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2957 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, in advanced Merchant issued refund transaction on first charge due date (future installment type: REAMORTIZATION) - amount < sum all charges When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4771,12 +4774,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2958 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-horizontal, charge after maturity, in advanced Merchant issued refund transaction before first charge due date (future installment type: REAMORTIZATION) - amount < sum all charges When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4885,12 +4888,12 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2959 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify AdvancedPaymentAllocation behaviour: loanScheduleProcessingType-vertical, charge after maturity, in advanced Merchant issued refund transaction before first charge due date (future installment type: REAMORTIZATION) - amount < sum all charges When Admin sets the business date to "01 September 2023" 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 | + | 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_VERTICAL | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -4999,13 +5002,13 @@ Feature: Loan | NSF fee | true | Specified due date | 16 October 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | | NSF fee | true | Specified due date | 17 September 2023 | Flat | 20.0 | 10.0 | 0.0 | 10.0 | - @AdvancedPaymentAllocation + @TestRailId:C2960 @AdvancedPaymentAllocation Scenario: Verify that rounding in case of multiple installments works properly When Admin sets the business date to "01 September 2023" 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 | - | LP1 | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + | LP1 | 01 September 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "01 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount Then Loan Repayment schedule has 6 periods, with the following data for periods: @@ -5021,12 +5024,12 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | 0.0 | 0.0 | 0.0 | 1000.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2976 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify that disbursement amount only distributed only to future installments (2nd and 3rd installments) When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 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 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -5067,12 +5070,12 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1400.0 | 0.0 | 50.0 | 0.0 | 1450.0 | 250.0 | 0.0 | 0.0 | 1200.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2977 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify that disbursement amount only distributed only to future installments (1st, 2nd and 3rd installments) When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 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 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -5112,12 +5115,12 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1400.0 | 0.0 | 50.0 | 0.0 | 1450.0 | 250.0 | 0.0 | 0.0 | 1200.0 | - @AdvancedPaymentAllocation @ProgressiveLoanSchedule + @TestRailId:C2978 @AdvancedPaymentAllocation @ProgressiveLoanSchedule Scenario: Verify that multiple disbursement amount only distributed only to future installments (2nd and 3rd installments) When Admin sets the business date to "01 September 2023" 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 | + | 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 September 2023 | 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 September 2023" with "1000" amount and expected disbursement date on "01 September 2023" When Admin successfully disburse the loan on "01 September 2023" with "1000" EUR transaction amount @@ -5161,13 +5164,13 @@ Feature: Loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1480.0 | 0.0 | 50.0 | 0.0 | 1530.0 | 250.0 | 0.0 | 0.0 | 1280.0 | - @AdvancedPaymentAllocation + @TestRailId:C2986 @AdvancedPaymentAllocation Scenario: As an admin I would like to verify that refund is working with advanced payment allocation When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" @@ -5227,13 +5230,13 @@ Feature: Loan | 16 January 2023 | Repayment | 315.0 | 255.0 | 0.0 | 60.0 | 0.0 | | 17 January 2023 | Refund | 150.0 | 130.0 | 0.0 | 20.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C3042 @AdvancedPaymentAllocation Scenario: Verify that second disbursement is working on overpaid accounts in case of NEXT_INSTALLMENT future installment allocation rule When Admin sets the business date to "01 January 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | 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 successfully disburse the loan on "01 January 2024" with "500" EUR transaction amount @@ -5264,13 +5267,13 @@ Feature: Loan | 16 January 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 375.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C3043 @AdvancedPaymentAllocation Scenario: Verify that second disbursement is working on overpaid accounts in case of REAMORTIZATION future installment allocation rule When Admin sets the business date to "01 January 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | 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 successfully disburse the loan on "01 January 2024" with "500" EUR transaction amount @@ -5301,13 +5304,13 @@ Feature: Loan | 16 January 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 375.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C3046 @AdvancedPaymentAllocation Scenario: Verify that principal due is correct in case of second disbursement on overpaid loan When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" When Admin successfully disburse the loan on "01 February 2024" with "200" EUR transaction amount @@ -5336,13 +5339,13 @@ Feature: Loan | 02 February 2024 | Disbursement | 160.0 | 0.0 | 0.0 | 0.0 | 0.0 | 110.0 | When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C3049 @AdvancedPaymentAllocation Scenario: Verify that second disbursement on overpaid loan is correct when disbursement amount is lower than overpayment amount When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "REAMORTIZATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" When Admin successfully disburse the loan on "01 February 2024" with "200" EUR transaction amount @@ -5373,13 +5376,13 @@ Feature: Loan Then Loan has 22 overpaid amount When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule - @AdvancedPaymentAllocation + @TestRailId:C3068 @AdvancedPaymentAllocation Scenario: Verify that Fraud flag can be applied on loan is its every status When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | Then Loan status will be "SUBMITTED_AND_PENDING_APPROVAL" Then Admin can successfully set Fraud flag to the loan @@ -5409,13 +5412,13 @@ Feature: Loan Then Admin can successfully set Fraud flag to the loan Then Admin can successfully unset Fraud flag to the loan - + @TestRailId:C3090 Scenario: Verify that disbursement can be done on overpaid loan in case of cummulative loan schedule When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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 February 2024 | 1000 | 0 | FLAT | 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 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount @@ -5499,43 +5502,346 @@ Feature: Loan | 05 February 2024 | Disbursement | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 40.0 | | 05 February 2024 | Down Payment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 30.0 | - + @TestRailId:C3103 Scenario: Verify that fixed length in loan product is inherited by loan account When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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_FIXED_LENGTH | 01 February 2024 | 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 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount Then LoanDetails has fixedLength field with int value: 90 - - Scenario: Verify that fixed legnth in loan product can be overwrote upon loan account creation + @TestRailId:C3104 + Scenario: Verify that fixed length in loan product can be overwrote upon loan account creation When Admin sets the business date to "01 February 2024" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin creates a fully customized loan with fixed length 60 and 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 | + | 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_FIXED_LENGTH | 01 February 2024 | 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 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount Then LoanDetails has fixedLength field with int value: 60 - Scenario: Actual disbursement date is in the past with advanced payment allocation product + submitted on date repaymentStartDateType + @TestRailId:C3119 + Scenario: Verify fixed length loan account Loan schedule - UC1: loan account with fixed length of 40 days (loanTermFrequency: 45 days) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 40 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 15 | 02 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3120 + Scenario: Verify fixed length loan account Loan schedule - UC2: loan account with fixed length of 50 days (loanTermFrequency: 45 days) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 50 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount + Then LoanDetails has fixedLength field with int value: 50 + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 15 | 02 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 20 | 22 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3121 + Scenario: Verify fixed length loan account Loan schedule - UC3: loan account with fixed length of 5 weeks (loanTermFrequency: 6 weeks) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 5 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | WEEKS | 2 | WEEKS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount + Then LoanDetails has fixedLength field with int value: 5 + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 14 | 15 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 14 | 29 February 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 7 | 07 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3122 + Scenario: Verify fixed length loan account Loan schedule - UC4: loan account with fixed length of 7 weeks (loanTermFrequency: 6 weeks) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 7 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | WEEKS | 2 | WEEKS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount + Then LoanDetails has fixedLength field with int value: 7 + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 14 | 15 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 14 | 29 February 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 21 | 21 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3123 + Scenario: Verify fixed length loan account Loan schedule - UC5: loan account with fixed length of 5 months (loanTermFrequency: 6 months) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 5 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 2 | MONTHS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount + Then LoanDetails has fixedLength field with int value: 5 + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 60 | 01 April 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 61 | 01 June 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 30 | 01 July 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3124 + Scenario: Verify fixed length loan account Loan schedule - UC6: loan account with fixed length of 7 months (loanTermFrequency: 6 months) + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 7 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 2 | MONTHS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" with "1000" EUR transaction amount + Then LoanDetails has fixedLength field with int value: 7 + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 60 | 01 April 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 61 | 01 June 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 92 | 01 September 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3125 + Scenario: Verify fixed length loan account Loan schedule - UC7: loan account with fixed length of 5 months but 6 month period / repayment in every 1 month results an ERROR + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Trying to create a fully customized loan with fixed length 5 and with the following data will result a 403 ERROR: + | 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_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + + @TestRailId:C3126 + Scenario: Verify fixed length loan account Loan schedule - UC8: Reschedule by date a loan account with fixed length of 40 days + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 40 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 15 | 02 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "02 March 2024" + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 March 2024 | 02 March 2024 | 20 March 2024 | | | | | + 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 33 | 20 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 10 | 30 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + +# TODO unskip and check when PS-1654 is done + @Skip @TestRailId:C3127 + Scenario: Verify fixed length loan account Loan schedule - UC9: Reschedule by extra terms a loan account with fixed length of 40 days + When Admin sets the business date to "01 February 2024" + When Admin creates a client with random data + When Admin creates a fully customized loan with fixed length 40 and 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_DOWNPAYMENT_ADV_PMT_ALLOC_FIXED_LENGTH | 01 February 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 February 2024" with "1000" amount and expected disbursement date on "01 February 2024" + When Admin successfully disburse the loan on "01 February 2024" 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 3 | 15 | 02 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + | 4 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "16 February 2024" + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 16 February 2024 | 16 February 2024 | | | | 2 | | +# 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 February 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | +# | 1 | 0 | 01 February 2024 | | 750.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# | 2 | 15 | 16 February 2024 | | 500.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# | 3 | 15 | 02 March 2024 | | 250.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# | 4 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# | 5 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# | 6 | 10 | 12 March 2024 | | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | 0.0 | 0.0 | 0.0 | 250.0 | +# Then Loan Repayment schedule has the following data in Total row: +# | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | +# | 1000.0 | 0 | 0.0 | 0 | 1000.0 | 0.0 | 0.0 | 0 | 1000.0 | +# Then Loan Transactions tab has the following data: +# | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | +# | 01 February 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + + @TestRailId:C3192 + Scenario: Verify that the error message is correct in case of the actual disbursement date is in the past with advanced payment allocation product + submitted on date repaymentStartDateType When Admin sets repaymentStartDateType for "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product to "SUBMITTED_ON_DATE" When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule When Admin sets the business date to "01 January 2023" And 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 500 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "500" amount and expected disbursement date on "01 January 2023" Then Loan status has changed to "Approved" Then Admin fails to disburse the loan on "31 December 2022" with "500" EUR transaction amount because disbursement date is earlier than "01 January 2023" When Admin sets repaymentStartDateType for "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" loan product to "DISBURSEMENT_DATE" + @TestRailId:C3242 + Scenario: Verify that there are no restriction on repayment reversal for overpaid loan for interest bearing product + When Admin sets the business date to "23 June 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_RECALCULATION_DAILY_TILL_PRECLOSE | 23 Jun 2024 | 400 | 0 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "23 June 2024" with "400" amount and expected disbursement date on "23 June 2024" + When Admin successfully disburse the loan on "23 June 2024" with "400" EUR transaction amount + And Admin sets the business date to "24 June 2024" + And Customer makes "AUTOPAY" repayment on "24 June 2024" with 100 EUR transaction amount + Then Loan Repayment schedule has 1 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 | + | | | 23 June 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 23 July 2024 | | 0.0 | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 100.0 | 100.0 | 0.0 | 300.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 100.0 | 100.0 | 0.0 | 300.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 23 June 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | + | 24 June 2024 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 300.0 | + And Admin sets the business date to "10 September 2024" + When Customer makes "MERCHANT_ISSUED_REFUND" transaction with "AUTOPAY" payment type on "10 September 2024" with 400 EUR transaction amount and self-generated Idempotency key + Then Loan Repayment schedule has 1 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 | + | | | 23 June 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 23 July 2024 | 10 September 2024 | 0.0 | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 400.0 | 100.0 | 300.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 | + | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 400.0 | 100.0 | 300.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 23 June 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | + | 24 June 2024 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 300.0 | + | 10 September 2024 | Merchant Issued Refund | 400.0 | 300.0 | 0.0 | 0.0 | 0.0 | 0.0 | + Then Loan status will be "OVERPAID" + When Admin makes Credit Balance Refund transaction on "10 September 2024" with 91.21 EUR transaction amount + Then Loan Repayment schedule has 1 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 | + | | | 23 June 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 23 July 2024 | 10 September 2024 | 0.0 | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 400.0 | 100.0 | 300.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 | + | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 400.0 | 100.0 | 300.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 23 June 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | + | 24 June 2024 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 300.0 | + | 10 September 2024 | Merchant Issued Refund | 400.0 | 300.0 | 0.0 | 0.0 | 0.0 | 0.0 | + | 10 September 2024 | Credit Balance Refund | 91.21 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | + When Customer undo "1"th repayment on "24 June 2024" + Then Loan Repayment schedule has 2 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 | + | | | 23 June 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 23 July 2024 | 10 September 2024 | 0.0 | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 400.0 | 0.0 | 400.0 | 0.0 | + | 2 | 49 | 10 September 2024 | | 0.0 | 91.21 | 0.0 | 0.0 | 0.0 | 91.21 | 0.0 | 0.0 | 0.0 | 91.21 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 491.21 | 0.0 | 0.0 | 0.0 | 491.21 | 400.0 | 0.0 | 400.0 | 91.21 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 23 June 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | + | 24 June 2024 | Repayment | 100.0 | 100.0 | 0.0 | 0.0 | 0.0 | 300.0 | + | 10 September 2024 | Merchant Issued Refund | 400.0 | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | + | 10 September 2024 | Credit Balance Refund | 91.21 | 91.21 | 0.0 | 0.0 | 0.0 | 91.21 | + Then In Loan Transactions the "2"th Transaction has Transaction type="Repayment" and is reverted + Scenario: Early pay-off loan with interest, TILL_PRECLOSE product When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -5839,3 +6145,4 @@ Feature: Loan | 15 January 2024 | Repayment | 83.76 | 83.5 | 0.26 | 0.0 | 0.0 | 0.0 | | 15 January 2024 | Accrual | 0.26 | 0.0 | 0.26 | 0.0 | 0.0 | 0.0 | Then Loan status will be "CLOSED_OBLIGATIONS_MET" + diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature new file mode 100644 index 00000000000..0f5cad26cbe --- /dev/null +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualActivity.feature @@ -0,0 +1,2051 @@ +@LoanAccrualActivityFeature +Feature: LoanAccrualActivity + + @TestRailId:C3168 + Scenario: Verify accrual activity - UC1: No payment, advanced payment strategy + 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3169 + Scenario: Verify accrual activity - UC2: No payment, advanced payment strategy, charges added to installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "06 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 25.33 | 0.0 | 0.33 | 10.0 | 15.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3170 + Scenario: Verify accrual activity - UC3: No payment, advanced payment strategy, charges added after next installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "07 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "07 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + When Admin sets the business date to "08 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + | 07 January 2024 | Accrual | 25.25 | 0.0 | 0.25 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "07 January 2024" + + @TestRailId:C3171 + Scenario: Verify accrual activity - UC4: No payment, cumulative payment strategy + 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3172 + Scenario: Verify accrual activity - UC5: No payment, cumulative payment strategy, charges added to installment due 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "06 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 25.33 | 0.0 | 0.33 | 10.0 | 15.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3173 + Scenario: Verify accrual activity - UC6: No payment, cumulative payment strategy, charges added after next installment due 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "07 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "07 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + When Admin sets the business date to "08 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + | 07 January 2024 | Accrual | 25.25 | 0.0 | 0.25 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "07 January 2024" + + @TestRailId:C3174 + Scenario: Verify accrual activity - UC7: Payment in time, advanced payment strategy + 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 251.03 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.03 | 0.0 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.03 | 0.0 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3175 + Scenario: Verify accrual activity - UC8: Payment in time, advanced payment strategy, charges added to installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "06 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 276.03 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 276.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 276.03 | 0.0 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 276.03 | 249.39 | 1.64 | 10.0 | 15.0 | 750.61 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 10.0 | 15.0 | 276.03 | 276.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 276.03 | 0.0 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 276.03 | 249.39 | 1.64 | 10.0 | 15.0 | 750.61 | + | 06 January 2024 | Accrual | 25.33 | 0.0 | 0.33 | 10.0 | 15.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3176 + Scenario: Verify accrual activity - UC9: Payment in time, advanced payment strategy, charges added after next installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "07 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "07 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 251.03 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.03 | 0.0 | 0.0 | 778.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.03 | 0.0 | 0.0 | 778.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + When Admin sets the business date to "08 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 10.0 | 15.0 | 276.03 | 0.0 | 0.0 | 0.0 | 276.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.03 | 0.0 | 0.0 | 778.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + | 07 January 2024 | Accrual | 25.25 | 0.0 | 0.25 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "07 January 2024" + + @TestRailId:C3177 + Scenario: Verify accrual activity - UC10: Payment in time, cumulative payment strategy + 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 251 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 251.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.0 | 0.0 | 0.0 | 753.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.0 | 249.36 | 1.64 | 0.0 | 0.0 | 750.64 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 251.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.0 | 0.0 | 0.0 | 753.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.0 | 249.36 | 1.64 | 0.0 | 0.0 | 750.64 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3178 + Scenario: Verify accrual activity - UC11: Payment in time, cumulative payment strategy, charges added to installment due 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "06 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 276 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 276.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 276.0 | 0.0 | 0.0 | 753.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 276.0 | 249.36 | 1.64 | 10.0 | 15.0 | 750.64 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 276.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 276.0 | 0.0 | 0.0 | 753.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 276.0 | 249.36 | 1.64 | 10.0 | 15.0 | 750.64 | + | 06 January 2024 | Accrual | 25.33 | 0.0 | 0.33 | 10.0 | 15.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + + @TestRailId:C3179 + Scenario: Verify accrual activity - UC12: Payment in time, cumulative payment strategy, charges added after next installment due 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "07 January 2024" due date and 10 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "07 January 2024" due date and 15 EUR transaction amount + When Admin sets the business date to "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2024" + When Admin sets the business date to "06 January 2024" + And Customer makes "AUTOPAY" repayment on "06 January 2024" with 251 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 251.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.0 | 0.0 | 0.0 | 778.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.0 | 249.36 | 1.64 | 0.0 | 0.0 | 750.64 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "03 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "04 January 2024" + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 January 2024" + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 251.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.0 | 0.0 | 0.0 | 778.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.0 | 249.36 | 1.64 | 0.0 | 0.0 | 750.64 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "06 January 2024" + Then LoanTransactionAccrualActivityPostBusinessEvent is raised on "06 January 2024" + When Admin sets the business date to "08 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 06 January 2024 | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 251.0 | 0.0 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 251.0 | 0.0 | 0.0 | 778.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Repayment | 251.0 | 249.36 | 1.64 | 0.0 | 0.0 | 750.64 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + | 07 January 2024 | Accrual | 25.25 | 0.0 | 0.25 | 10.0 | 15.0 | 0.0 | + Then LoanAccrualTransactionCreatedBusinessEvent is raised on "07 January 2024" + + @TestRailId:C3185 + Scenario: Verify accrual activity - UC13: Preclose, loan account fully paid before first installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "04 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 1004.1 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + Then Loan has 0 outstanding 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | 04 January 2024 | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 3 | 5 | 16 January 2024 | 04 January 2024 | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 4 | 5 | 21 January 2024 | 04 January 2024 | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 251.01 | 251.01 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 1004.1 | 1004.1 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 04 January 2024 | Repayment | 1004.1 | 1000.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual Activity | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | + + @TestRailId:C3186 + Scenario: Verify accrual activity - UC14: Preclose, loan account overpaid before first installment due 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "04 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 1100 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan status will be "OVERPAID" + Then Loan has 0 outstanding amount + Then Loan has 95.9 overpaid 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | 04 January 2024 | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 3 | 5 | 16 January 2024 | 04 January 2024 | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 4 | 5 | 21 January 2024 | 04 January 2024 | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 251.01 | 251.01 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 1004.1 | 1004.1 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 04 January 2024 | Repayment | 1100.0 | 1000.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual Activity | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | + + @TestRailId:C3187 + Scenario: Verify accrual activity - UC15: Preclose, loan account fully paid before first installment due date, reopen + 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | +# --- Loan account pprepaid fully --- + When Admin sets the business date to "04 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 1004.1 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + Then Loan has 0 outstanding 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | 04 January 2024 | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 3 | 5 | 16 January 2024 | 04 January 2024 | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 4 | 5 | 21 January 2024 | 04 January 2024 | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 251.01 | 251.01 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 1004.1 | 1004.1 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 04 January 2024 | Repayment | 1004.1 | 1000.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Accrual Activity | 4.1 | 0.0 | 4.1 | 0.0 | 0.0 | 0.0 | +# --- Repayment undo --- + When Admin sets the business date to "05 January 2024" + When Customer undo "1"th repayment on "04 January 2024" + When Admin runs inline COB job for Loan + Then Loan status will be "ACTIVE" + Then Loan has 1004.1 outstanding 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 1004.1 | 1000.0 | 4.1 | 0.0 | 0.0 | 0.0 | true | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | +# --- Accrual activity --- + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 1004.1 | 1000.0 | 4.1 | 0.0 | 0.0 | 0.0 | true | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3188 + Scenario: Verify accrual activity - UC16: Preclose, loan account partially paid before first installment due date, fully paid after first installment date, reopen by undo 1st repayment + 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | +# --- Loan account pprepaid partially --- + When Admin sets the business date to "04 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 251.03 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.03 | 251.03 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + # --- Accrual activity --- + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 251.03 | 251.03 | 0.0 | 753.07 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | +# --- Fully repaid --- + When Admin sets the business date to "08 January 2024" + And Customer makes "AUTOPAY" repayment on "08 January 2024" with 753.07 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + Then Loan has 0 outstanding 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 04 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 2 | 5 | 11 January 2024 | 08 January 2024 | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 3 | 5 | 16 January 2024 | 08 January 2024 | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 4 | 5 | 21 January 2024 | 08 January 2024 | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 251.01 | 251.01 | 0.0 | 0.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 1004.1 | 1004.1 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 04 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + | 08 January 2024 | Repayment | 753.07 | 750.61 | 2.46 | 0.0 | 0.0 | 0.0 | + | 08 January 2024 | Accrual | 2.46 | 0.0 | 2.46 | 0.0 | 0.0 | 0.0 | + | 08 January 2024 | Accrual Activity | 2.46 | 0.0 | 2.46 | 0.0 | 0.0 | 0.0 | +# --- Repayment undo --- + When Admin sets the business date to "09 January 2024" + When Customer undo "1"th repayment on "04 January 2024" + When Admin runs inline COB job for Loan + Then Loan status will be "ACTIVE" + Then Loan has 251.03 outstanding 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | 08 January 2024 | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 251.03 | 0.0 | 251.03 | 0.0 | + | 2 | 5 | 11 January 2024 | 08 January 2024 | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 251.03 | 251.03 | 0.0 | 0.0 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 251.01 | 251.01 | 0.0 | 0.02 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 753.07 | 502.04 | 251.03 | 251.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 | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | false | false | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 251.03 | 249.39 | 1.64 | 0.0 | 0.0 | 750.61 | true | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.25 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | false | false | + | 08 January 2024 | Repayment | 753.07 | 749.4 | 3.67 | 0.0 | 0.0 | 250.6 | false | true | + | 08 January 2024 | Accrual | 0.24 | 0.0 | 0.24 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3182 + Scenario: Verify accrual activity posting job + 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_ACTUAL_ACTUAL_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 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 successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "07 January 2024" + When Admin runs the Accrual Activity Posting job + 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.61 | 249.39 | 1.64 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 2 | 5 | 11 January 2024 | | 500.81 | 249.8 | 1.23 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 3 | 5 | 16 January 2024 | | 250.6 | 250.21 | 0.82 | 0.0 | 0.0 | 251.03 | 0.0 | 0.0 | 0.0 | 251.03 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.6 | 0.41 | 0.0 | 0.0 | 251.01 | 0.0 | 0.0 | 0.0 | 251.01 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | + + @TestRailId:C3183 + Scenario: Verify accrual activity reverse/replay - UC01: Backdated fee + 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + When Admin sets the business date to "03 January 2024" + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 0.0 | 261.0 | 0.0 | 0.0 | 0.0 | 261.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 0.0 | 1014.1 | 0.0 | 0.0 | 0.0 | 1014.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 11.64 | 0.0 | 1.64 | 10.0 | 0.0 | 0.0 | false | false | + When Admin sets the business date to "08 January 2024" + When Admin adds "LOAN_NSF_FEE" due date charge with "04 January 2024" due date and 15 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 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 0.0 | 0.0 | 0.0 | 276.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 0.0 | 0.0 | 0.0 | 1029.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | false | true | + + @TestRailId:C3184 + Scenario: Verify accrual activity reverse/replay - UC02: Early payment, charge, backdated payment, backdated charge, repayment reversal + 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 | + | LP1_INTEREST_DECLINING_BALANCE_PERIOD_DAILY_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 January 2024 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | +# --- Charge added --- + When Admin sets the business date to "03 January 2024" + When Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 January 2024" due date and 10 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 0.0 | 261.0 | 0.0 | 0.0 | 0.0 | 261.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 0.0 | 1014.1 | 0.0 | 0.0 | 0.0 | 1014.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | +# --- Early partial payment --- + When Admin sets the business date to "04 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 150 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 0.0 | 261.0 | 150.0 | 150.0 | 0.0 | 111.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 0.0 | 1014.1 | 150.0 | 150.0 | 0.0 | 864.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 138.36 | 1.64 | 10.0 | 0.0 | 861.64 | false | false | +# --- Accrual activity transaction --- + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 0.0 | 261.0 | 150.0 | 150.0 | 0.0 | 111.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 0.0 | 1014.1 | 150.0 | 150.0 | 0.0 | 864.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 138.36 | 1.64 | 10.0 | 0.0 | 861.64 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 11.64 | 0.0 | 1.64 | 10.0 | 0.0 | 0.0 | false | false | +# --- Backdated payment --- + When Admin sets the business date to "08 January 2024" + And Customer makes "AUTOPAY" repayment on "05 January 2024" with 80 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 0.0 | 261.0 | 230.0 | 230.0 | 0.0 | 31.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 0.0 | 1014.1 | 230.0 | 230.0 | 0.0 | 784.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 138.36 | 1.64 | 10.0 | 0.0 | 861.64 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Repayment | 80.0 | 80.0 | 0.0 | 0.0 | 0.0 | 781.64 | false | false | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 11.64 | 0.0 | 1.64 | 10.0 | 0.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.25 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | false | false | +# --- Backdated charge --- + When Admin sets the business date to "09 January 2024" + When Admin adds "LOAN_NSF_FEE" due date charge with "05 January 2024" due date and 15 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 230.0 | 230.0 | 0.0 | 46.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 230.0 | 230.0 | 0.0 | 799.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 123.36 | 1.64 | 10.0 | 15.0 | 876.64 | false | true | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Repayment | 80.0 | 80.0 | 0.0 | 0.0 | 0.0 | 796.64 | false | false | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | false | true | + | 06 January 2024 | Accrual | 15.0 | 0.0 | 0.0 | 0.0 | 15.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.25 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | false | false | + | 08 January 2024 | Accrual | 0.24 | 0.0 | 0.24 | 0.0 | 0.0 | 0.0 | false | false | +# --- Repayment reversal --- + When Admin sets the business date to "10 January 2024" + When Customer undo "1"th repayment on "04 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 10.0 | 15.0 | 276.0 | 80.0 | 80.0 | 0.0 | 196.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 10.0 | 15.0 | 1029.1 | 80.0 | 80.0 | 0.0 | 949.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 123.36 | 1.64 | 10.0 | 15.0 | 876.64 | true | true | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Repayment | 80.0 | 53.36 | 1.64 | 10.0 | 15.0 | 946.64 | false | true | + | 06 January 2024 | Accrual | 10.33 | 0.0 | 0.33 | 10.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 26.64 | 0.0 | 1.64 | 10.0 | 15.0 | 0.0 | false | true | + | 06 January 2024 | Accrual | 15.0 | 0.0 | 0.0 | 0.0 | 15.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.25 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | false | false | + | 09 January 2024 | Accrual | 0.49 | 0.0 | 0.49 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3189 + Scenario: Verify accrual activity reverse/replay - UC03: Backdated repayment with interest recalculation enabled + 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 | + | LP1_INTEREST_DECLINING_BALANCE_DAILY_RECALCULATION_COMPOUNDING_NONE_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + 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 | + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | false | false | + When Admin sets the business date to "08 January 2024" + And Customer makes "AUTOPAY" repayment on "04 January 2024" with 150 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.55 | 249.45 | 1.55 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 | + | 2 | 5 | 11 January 2024 | | 500.85 | 249.7 | 1.3 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.67 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.67 | 0.41 | 0.0 | 0.0 | 251.08 | 0.0 | 0.0 | 0.0 | 251.08 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.08 | 0.0 | 0.0 | 1004.08 | 150.0 | 150.0 | 0.0 | 854.08 | + 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 | + | 02 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Repayment | 150.0 | 148.45 | 1.55 | 0.0 | 0.0 | 851.55 | false | false | + | 05 January 2024 | Accrual | 0.33 | 0.0 | 0.33 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.55 | 0.0 | 1.55 | 0.0 | 0.0 | 0.0 | false | true | + | 06 January 2024 | Accrual | 0.24 | 0.0 | 0.24 | 0.0 | 0.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.26 | 0.0 | 0.26 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3190 + Scenario: Verify accrual activity reverse/replay - UC04: Early repayment with interest recalculation enabled + 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 | + | LP1_INTEREST_DECLINING_BALANCE_DAILY_RECALCULATION_COMPOUNDING_NONE_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + 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 | + When Admin sets the business date to "03 January 2024" + And Customer makes "AUTOPAY" repayment on "03 January 2024" with 150 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 | + | 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 | + 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 | + | 02 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Repayment | 150.0 | 148.5 | 1.5 | 0.0 | 0.0 | 851.5 | false | false | + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 | + | 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 | + 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 | + | 02 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Repayment | 150.0 | 148.5 | 1.5 | 0.0 | 0.0 | 851.5 | false | false | + | 03 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.5 | 0.0 | 1.5 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3191 + Scenario: Verify accrual activity reverse/replay - UC04: Early repayment reversed after due date with interest recalculation enabled + 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 | + | LP1_INTEREST_DECLINING_BALANCE_DAILY_RECALCULATION_COMPOUNDING_NONE_ACCRUAL_ACTIVITY | 01 January 2024 | 1000 | 12 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 20 | DAYS | 5 | DAYS | 4 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount + When Admin sets the business date to "02 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 500.87 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.69 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.69 | 0.41 | 0.0 | 0.0 | 251.1 | 0.0 | 0.0 | 0.0 | 251.1 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.1 | 0.0 | 0.0 | 1004.1 | 0.0 | 0.0 | 0.0 | 1004.1 | + When Admin sets the business date to "03 January 2024" + And Customer makes "AUTOPAY" repayment on "03 January 2024" with 150 EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 | + | 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 | + 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 | + | 02 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Repayment | 150.0 | 148.5 | 1.5 | 0.0 | 0.0 | 851.5 | false | false | + When Admin sets the business date to "07 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.5 | 249.5 | 1.5 | 0.0 | 0.0 | 251.0 | 150.0 | 150.0 | 0.0 | 101.0 | + | 2 | 5 | 11 January 2024 | | 500.73 | 249.77 | 1.23 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.55 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.55 | 0.41 | 0.0 | 0.0 | 250.96 | 0.0 | 0.0 | 0.0 | 250.96 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 3.96 | 0.0 | 0.0 | 1003.96 | 150.0 | 150.0 | 0.0 | 853.96 | + 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 | + | 02 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Repayment | 150.0 | 148.5 | 1.5 | 0.0 | 0.0 | 851.5 | false | false | + | 03 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.5 | 0.0 | 1.5 | 0.0 | 0.0 | 0.0 | false | false | + When Admin sets the business date to "08 January 2024" + When Customer undo "1"th repayment on "03 January 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 5 | 06 January 2024 | | 750.64 | 249.36 | 1.64 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 2 | 5 | 11 January 2024 | | 501.04 | 249.6 | 1.4 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 3 | 5 | 16 January 2024 | | 250.86 | 250.18 | 0.82 | 0.0 | 0.0 | 251.0 | 0.0 | 0.0 | 0.0 | 251.0 | + | 4 | 5 | 21 January 2024 | | 0.0 | 250.86 | 0.41 | 0.0 | 0.0 | 251.27 | 0.0 | 0.0 | 0.0 | 251.27 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 1000.0 | 4.27 | 0.0 | 0.0 | 1004.27 | 0.0 | 0.0 | 0.0 | 1004.27 | + 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 | + | 02 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 03 January 2024 | Repayment | 150.0 | 148.5 | 1.5 | 0.0 | 0.0 | 851.5 | true | false | + | 03 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 04 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 05 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual | 0.3 | 0.0 | 0.3 | 0.0 | 0.0 | 0.0 | false | false | + | 06 January 2024 | Accrual Activity | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | false | true | + | 06 January 2024 | Accrual | 0.14 | 0.0 | 0.14 | 0.0 | 0.0 | 0.0 | false | false | + | 07 January 2024 | Accrual | 0.28 | 0.0 | 0.28 | 0.0 | 0.0 | 0.0 | false | false | + + @TestRailId:C3268 + Scenario: Verify reversal of accruals when repayment got reversed + When Admin sets the business date to "22 April 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 | + | LP1_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL | 22 April 2024 | 400 | 0 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "22 April 2024" with "400" amount and expected disbursement date on "12 August 2024" + When Admin successfully disburse the loan on "22 April 2024" with "400" 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 | + | | | 22 April 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 22 May 2024 | | 333.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 2 | 31 | 22 June 2024 | | 266.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 3 | 30 | 22 July 2024 | | 199.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 4 | 31 | 22 August 2024 | | 132.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 5 | 31 | 22 September 2024| | 65.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 6 | 30 | 22 October 2024 | | 0.0 | 65.0 | 0.0 | 0.0 | 0.0 | 65.0 | 0.0 | 0.0 | 0.0 | 65.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | 0.0 | 0.0 | 0.0 | 400.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 22 April 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | false | false | + And Customer makes "AUTOPAY" repayment on "22 April 2024" with 600 EUR transaction amount + Then Loan status will be "OVERPAID" + When Admin adds "LOAN_NSF_FEE" due date charge with "22 April 2024" due date and 30 EUR transaction amount + When Admin runs inline COB job for Loan + 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 | 22 April 2024 | Flat | 30.0 | 30.0 | 0.0 | 0.0 | + 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 | + | | | 22 April 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 22 May 2024 | 22 April 2024 | 333.0 | 67.0 | 0.0 | 0.0 | 30.0 | 97.0 | 97.0 | 97.0 | 0.0 | 0.0 | + | 2 | 31 | 22 June 2024 | 22 April 2024 | 266.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 67.0 | 67.0 | 0.0 | 0.0 | + | 3 | 30 | 22 July 2024 | 22 April 2024 | 199.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 67.0 | 67.0 | 0.0 | 0.0 | + | 4 | 31 | 22 August 2024 | 22 April 2024 | 132.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 67.0 | 67.0 | 0.0 | 0.0 | + | 5 | 31 | 22 September 2024| 22 April 2024 | 65.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 67.0 | 67.0 | 0.0 | 0.0 | + | 6 | 30 | 22 October 2024 | 22 April 2024 | 0.0 | 65.0 | 0.0 | 0.0 | 0.0 | 65.0 | 65.0 | 65.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 | + | 400.0 | 0.0 | 0.0 | 30.0 | 430.0 | 430.0| 430.0 | 0.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 22 April 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | false | false | + | 22 April 2024 | Accrual | 30.0 | 0.0 | 0.0 | 0.0 | 30.0 | 0.0 | false | false | + | 22 April 2024 | Repayment | 600.0 | 400.0 | 0.0 | 0.0 | 30.0 | 0.0 | false | true | + When Admin sets the business date to "10 October 2024" + When Admin makes a charge adjustment for the last "LOAN_NSF_FEE" type charge which is due on "22 April 2024" with 15 EUR transaction amount and externalId "" + When Customer makes "GOODWILL_CREDIT" transaction with "AUTOPAY" payment type on "22 April 2024" with 15 EUR transaction amount and self-generated Idempotency key + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 22 April 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | false | false | + | 22 April 2024 | Accrual | 30.0 | 0.0 | 0.0 | 0.0 | 30.0 | 0.0 | false | false | + | 22 April 2024 | Repayment | 600.0 | 400.0 | 0.0 | 0.0 | 30.0 | 0.0 | false | true | + | 22 April 2024 | Goodwill Credit | 15.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + | 10 October 2024 | Charge Adjustment | 15.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + When Customer undo "1"th "Repayment" transaction made on "22 April 2024" + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 22 April 2024 | | 400.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 22 May 2024 | | 333.0 | 67.0 | 0.0 | 0.0 | 30.0 | 97.0 | 30.0 | 15.0 | 15.0 | 67.0 | + | 2 | 31 | 22 June 2024 | | 266.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 3 | 30 | 22 July 2024 | | 199.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 4 | 31 | 22 August 2024 | | 132.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 5 | 31 | 22 September 2024| | 65.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | 0.0 | 0.0 | 0.0 | 67.0 | + | 6 | 30 | 22 October 2024 | | 0.0 | 65.0 | 0.0 | 0.0 | 0.0 | 65.0 | 0.0 | 0.0 | 0.0 | 65.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 400.0 | 0.0 | 0.0 | 30.0 | 430.0 | 30.0 | 15.0 | 15.0 | 400.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 22 April 2024 | Disbursement | 400.0 | 0.0 | 0.0 | 0.0 | 0.0 | 400.0 | false | false | + | 22 April 2024 | Accrual | 30.0 | 0.0 | 0.0 | 0.0 | 30.0 | 0.0 | false | false | + | 22 April 2024 | Repayment | 600.0 | 400.0 | 0.0 | 0.0 | 30.0 | 0.0 | true | true | + | 22 April 2024 | Goodwill Credit | 15.0 | 0.0 | 0.0 | 0.0 | 15.0 | 400.0 | false | true | + | 10 October 2024 | Charge Adjustment | 15.0 | 0.0 | 0.0 | 0.0 | 15.0 | 400.0 | false | true | diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualTransaction.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualTransaction.feature index 93889a623d0..0c95d1a03ff 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualTransaction.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanAccrualTransaction.feature @@ -1,7 +1,7 @@ @LoanAccrualFeature Feature: LoanAccrualTransaction - + @TestRailId:C2647 Scenario: Verify that after COB job Accrual event is raised when loan has a fee-charge on disbursal date When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -16,7 +16,7 @@ Feature: LoanAccrualTransaction | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "01 January 2023" - + @TestRailId:C2648 Scenario: Verify that after COB job Accrual event is raised when loan has a fee-charge on disbursal date with partial repayment When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -32,7 +32,7 @@ Feature: LoanAccrualTransaction | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "01 January 2023" - + @TestRailId:C2649 Scenario: Verify that after COB job Accrual event is raised when loan has a fee-charge on disbursal date with full repayment and loan is closed When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -48,7 +48,7 @@ Feature: LoanAccrualTransaction | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2023" - + @TestRailId:C2650 Scenario: Verify that after COB job Accrual event is raised when loan has a fee-charge added with chargeback When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -72,7 +72,7 @@ Feature: LoanAccrualTransaction And Admin makes "REPAYMENT_ADJUSTMENT_CHARGEBACK" chargeback with 250 EUR transaction amount for Payment nr. 2 Then Loan has 250 outstanding amount - + @TestRailId:C2651 Scenario: Verify that after periodic accrual transaction job accrual event is raised when loan has a fee-charge added with waive charge and undo waive charge When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -97,10 +97,10 @@ Feature: LoanAccrualTransaction And Admin runs the Add Periodic Accrual Transactions job Then Loan Transactions tab has a transaction with date: "05 April 2023", and with the following data: | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | - | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | + | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "05 April 2023" - + @TestRailId:C2652 Scenario: Verify that after periodic accrual transaction job accrual event is raised when loan has a fee-charge added when loan is closed When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -117,7 +117,7 @@ Feature: LoanAccrualTransaction | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2023" - + @TestRailId:C2653 Scenario: Verify that after disbursement and COB job Accrual event is raised when loan has a interest recalculation When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -133,7 +133,7 @@ Feature: LoanAccrualTransaction | Accrual | 1.64 | 0.0 | 1.64 | 0.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2023" - + @TestRailId:C2654 Scenario: Verify that after loan is closed accrual event is raised when loan has a interest recalculation When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -150,7 +150,7 @@ Feature: LoanAccrualTransaction | Accrual | 10.19 | 0.0 | 10.19 | 0.0 | 0.0 | 0.0 | Then LoanAccrualTransactionCreatedBusinessEvent is raised on "02 January 2023" - + @TestRailId:C2683 Scenario: Verify that the final accrual is created when the loan goes to overpaid state When Admin sets the business date to "1 July 2023" When Admin creates a client with random data @@ -171,10 +171,10 @@ Feature: LoanAccrualTransaction Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | 01 July 2023 | Disbursement | 5000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5000.0 | - | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 06 July 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | + | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | - + @TestRailId:C2684 Scenario: Verify that the accrual transaction correctly created in case a CBR is applied on the loan When Admin sets the business date to "1 July 2023" When Admin creates a client with random data @@ -195,8 +195,8 @@ Feature: LoanAccrualTransaction Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | 01 July 2023 | Disbursement | 5000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5000.0 | - | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 06 July 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | + | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | When Admin makes Credit Balance Refund transaction on "06 July 2023" with 1 EUR transaction amount Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan Repayment schedule has 1 periods, with the following data for periods: @@ -209,11 +209,11 @@ Feature: LoanAccrualTransaction Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | 01 July 2023 | Disbursement | 5000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 5000.0 | - | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 06 July 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | + | 06 July 2023 | Repayment | 5011.0 | 5000.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 06 July 2023 | Credit Balance Refund | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | - + @TestRailId:C2685 Scenario: Verify that the accrual transaction correctly created (overpay, undo repayment, overpay) When Admin sets the business date to "1 July 2023" When Admin creates a client with random data @@ -259,7 +259,7 @@ Feature: LoanAccrualTransaction | 06 July 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 07 July 2023 | Repayment | 4011.0 | 4010.0 | 0.0 | 0.0 | 0.0 | 0.0 | - + @TestRailId:C2686 Scenario: Verify that the accrual transaction correctly created (overpay, undo repayment, add charge, overpay) When Admin sets the business date to "1 July 2023" When Admin creates a client with random data @@ -307,7 +307,7 @@ Feature: LoanAccrualTransaction | 07 July 2023 | Repayment | 4061.0 | 4060.0 | 0.0 | 0.0 | 0.0 | 0.0 | | 07 July 2023 | Accrual | 50.0 | 0.0 | 0.0 | 50.0 | 0.0 | 0.0 | - @Skip + @TestRailId:C2707 Scenario: Verify that the accrual transaction is not reversed when multi disbursement happens When Admin sets the business date to "26 April 2023" When Admin creates a client with random data @@ -339,7 +339,7 @@ Feature: LoanAccrualTransaction | 27 April 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 28 April 2023 | Disbursement | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1050.0 | - @Skip + @TestRailId:C2708 Scenario: Verify that the accrual is correct when it is on the installment start date When Admin sets the business date to "1 May 2023" When Admin creates a client with random data @@ -366,8 +366,21 @@ Feature: LoanAccrualTransaction | 01 May 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | | 08 May 2023 | Disbursement | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1020.0 | + @TestRailId:C2709 + Scenario:Verify that the accrual transaction is created for disbursement fee + When Admin sets the business date to "1 May 2023" + When Admin creates a client with random data + And Admin successfully creates a new customised Loan submitted on date: "1 May 2023", with Principal: "1000", a loanTermFrequency: 1 months, and numberOfRepayments: 1 + And Admin successfully approves the loan on "1 May 2023" with "1000" amount and expected disbursement date on "1 May 2023" + When Admin adds "LOAN_DISBURSEMENT_PERCENTAGE_FEE" charge with 1 % of transaction amount + And Admin successfully disburse the loan on "1 May 2023" with "1000" EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 01 May 2023 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 01 May 2023 | Repayment (at time of disbursement) | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 1000.0 | - @Specific + @TestRailId:C2710 @Specific Scenario: Verify global config charge-accrual-date function: single installment loan, charge-accrual-date = submitted-date, multiple charges with different submitted date When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -396,7 +409,7 @@ Feature: LoanAccrualTransaction | 1000 | 0 | 20 | 0 | 1020 | 0 | 0 | 0 | 1020 | When Global config "charge-accrual-date" value set to "due-date" - + @TestRailId:C2711 Scenario: Verify global config charge-accrual-date function: single installment loan, charge-accrual-date = due-date, multiple charges with different submitted date When Global config "charge-accrual-date" value set to "due-date" When Admin sets the business date to "01 February 2023" @@ -428,7 +441,7 @@ Feature: LoanAccrualTransaction | 1000 | 0 | 20 | 0 | 1020 | 0 | 0 | 0 | 1020 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2712 @Specific Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, multiple charges with different submitted date, due dates in same repayment period When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -461,7 +474,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 20 | 0 | 3020 | 0 | 0 | 0 | 3020 | When Global config "charge-accrual-date" value set to "due-date" - + @TestRailId:C2713 Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = due-date, multiple charges with different submitted date, due dates in same repayment period When Global config "charge-accrual-date" value set to "due-date" When Admin sets the business date to "01 February 2023" @@ -497,7 +510,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 20 | 0 | 3020 | 0 | 0 | 0 | 3020 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2714 @Specific Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, multiple charges with different submitted date, due dates in different repayment periods When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -531,7 +544,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 20 | 0 | 3020 | 0 | 0 | 0 | 3020 | When Global config "charge-accrual-date" value set to "due-date" - + @TestRailId:C2715 Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = due-date, multiple charges with different submitted date, due dates in different repayment periods When Global config "charge-accrual-date" value set to "due-date" When Admin sets the business date to "01 February 2023" @@ -567,7 +580,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 20 | 0 | 3020 | 0 | 0 | 0 | 3020 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2716 @Specific Scenario: Verify global config charge-accrual-date function: single installment loan, charge-accrual-date = submitted-date, multi disbursement When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -599,7 +612,7 @@ Feature: LoanAccrualTransaction | 1000 | 0 | 10 | 0 | 1010 | 0 | 0 | 0 | 1010 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2717 @Specific Scenario: Verify global config charge-accrual-date function: single installment loan, charge-accrual-date = submitted-date, repayment reversal When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -636,7 +649,7 @@ Feature: LoanAccrualTransaction | 1000 | 0 | 10 | 0 | 1010 | 0 | 0 | 0 | 1010 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2718 @Specific Scenario: Verify global config charge-accrual-date function: single installment loan, charge-accrual-date = submitted-date, waive charge, undo waive When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -673,7 +686,7 @@ Feature: LoanAccrualTransaction | 1000 | 0 | 10 | 0 | 1010 | 0 | 0 | 0 | 1010 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2719 @Specific Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, multi disbursement When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -709,7 +722,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 10 | 0 | 3010 | 0 | 0 | 0 | 3010 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2720 @Specific Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, repayment reversal When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -750,7 +763,7 @@ Feature: LoanAccrualTransaction | 3000 | 0 | 10 | 0 | 3010 | 0 | 0 | 0 | 3010 | When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2721 @Specific Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, waive charge, undo waive When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "01 February 2023" @@ -772,7 +785,7 @@ Feature: LoanAccrualTransaction When Admin sets the business date to "06 February 2023" When Admin runs inline COB job for Loan Then Loan Charges tab has the following data: - | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | + | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 06 March 2023 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | @@ -792,7 +805,7 @@ Feature: LoanAccrualTransaction When Global config "charge-accrual-date" value set to "due-date" - @Specific + @TestRailId:C2789 @Specific Scenario: Verify accrual transaction for new fee for loan with accrued snooze fee and schedule adjustment When Global config "charge-accrual-date" value set to "submitted-date" When Admin sets the business date to "19 May 2023" @@ -819,13 +832,116 @@ Feature: LoanAccrualTransaction When Admin runs inline COB job for Loan Then Loan Transactions tab has a transaction with date: "19 July 2023", and with the following data: | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | - | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | + | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | Then Loan Repayment schedule has 2 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 | - | | | 19 May 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 60 | 18 July 2023 | | 0.0 | 1000.0 | 0.0 | 10.0 | 0.0 | 1010.0 | 0.0 | 0.0 | 0.0 | 1010.0 | - | 2 | 1 | 19 July 2023 | | 0.0 | 0.0 | 0.0 | 0.0 | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 19 May 2023 | | 1000.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 60 | 18 July 2023 | | 0.0 | 1000.0 | 0.0 | 10.0 | 0.0 | 1010.0 | 0.0 | 0.0 | 0.0 | 1010.0 | + | 2 | 1 | 19 July 2023 | | 0.0 | 0.0 | 0.0 | 0.0 | 10.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 | | 1000 | 0 | 10 | 10 | 1020 | 0 | 0 | 0 | 1020 | When Global config "charge-accrual-date" value set to "due-date" + + @TestRailId:C3128 + Scenario: Verify that the final accrual calculation is correct when multiple Charges are added and waived + When Admin sets the business date to "17 April 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_DOWNPAYMENT_ADV_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL | 17 April 2024 | 750 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "17 April 2024" with "750" amount and expected disbursement date on "17 April 2024" + When Admin successfully disburse the loan on "17 April 2024" with "750" EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "17 April 2024" due date and 20 EUR transaction amount + When Admin sets the business date to "18 April 2024" + When Admin runs inline COB job for Loan + And Admin waives due date charge + When Admin sets the business date to "19 April 2024" + When Admin adds "LOAN_NSF_FEE" due date charge with "19 April 2024" due date and 55 EUR transaction amount + When Admin sets the business date to "20 April 2024" + When Admin runs inline COB job for Loan + And Customer makes "AUTOPAY" repayment on "20 April 2024" with 55 EUR transaction amount + When Admin adds "LOAN_NSF_FEE" due date charge with "20 April 2024" due date and 60 EUR transaction amount + And Customer makes "AUTOPAY" repayment on "20 April 2024" with 810 EUR transaction amount + Then Loan Charges tab has a given charge with the following data: + | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | + | NSF fee | true | Specified due date | 20 April 2024 | Flat | 60.0 | 60.0 | 0.0 | 0.0 | + | NSF fee | true | Specified due date | 19 April 2024 | Flat | 55.0 | 55.0 | 0.0 | 0.0 | + | NSF fee | true | Specified due date | 17 April 2024 | Flat | 20.0 | 0.0 | 20.0 | 0.0 | + Then Loan Repayment schedule has 4 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Waived | Outstanding | + | | | 17 April 2024 | | 750.0 | | | 0.0 | | 0.0 | 0.0 | | | | | + | 1 | 0 | 17 April 2024 | 20 April 2024 | 562.5 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 187.5 | 0.0 | 187.5 | 0.0 | 0.0 | + | 2 | 15 | 02 May 2024 | 20 April 2024 | 375.0 | 187.5 | 0.0 | 0.0 | 135.0 | 322.5 | 302.5 | 302.5 | 0.0 | 20.0 | 0.0 | + | 3 | 15 | 17 May 2024 | 20 April 2024 | 187.5 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 187.5 | 187.5 | 0.0 | 0.0 | 0.0 | + | 4 | 15 | 01 June 2024 | 20 April 2024 | 0.0 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 187.5 | 187.5 | 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 | Waived | Outstanding | + | 750.0 | 0.0 | 0.0 | 135.0 | 885.0 | 865.0 | 677.5 | 187.5 | 20.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 17 April 2024 | Disbursement | 750.0 | 0.0 | 0.0 | 0.0 | 0.0 | 750.0 | + | 17 April 2024 | Waive loan charges | 20.0 | 0.0 | 0.0 | 0.0 | 0.0 | 750.0 | + | 19 April 2024 | Accrual | 55.0 | 0.0 | 0.0 | 0.0 | 55.0 | 0.0 | + | 20 April 2024 | Repayment | 55.0 | 55.0 | 0.0 | 0.0 | 0.0 | 695.0 | + | 20 April 2024 | Repayment | 810.0 | 695.0 | 0.0 | 0.0 | 115.0 | 0.0 | + | 20 April 2024 | Accrual | 60.0 | 0.0 | 0.0 | 0.0 | 60.0 | 0.0 | + + @TestRailId:C3139 + Scenario: Verify global config charge-accrual-date function: multiple installment loan, charge-accrual-date = submitted-date, multi disbursement, periodic accrual + When Global config "charge-accrual-date" value set to "submitted-date" + When Admin sets the business date to "01 April 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 | + | LP1_INTEREST_DECLINING_BALANCE_SAR_RECALCULATION_SAME_AS_REPAYMENT_COMPOUNDING_NONE_MULTIDISB | 01 April 2024 | 1000 | 12 | DECLINING_BALANCE | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | + And Admin successfully approves the loan on "01 April 2024" with "1000" amount and expected disbursement date on "05 April 2024" + When Admin sets the business date to "05 April 2024" + When Admin successfully disburse the loan on "05 April 2024" 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 | + | | | 05 April 2024 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 20 April 2024 | | 334.47 | 165.53 | 2.47 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 | + | 2 | 15 | 05 May 2024 | | 168.12 | 166.35 | 1.65 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 | + | 3 | 15 | 20 May 2024 | | 0.0 | 168.12 | 0.83 | 0.0 | 0.0 | 168.95 | 0.0 | 0.0 | 0.0 | 168.95 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 500.0 | 4.95 | 0.0 | 0.0 | 504.95 | 0.0 | 0.0 | 0.0 | 504.95 | + When Admin sets the business date to "25 April 2024" + When Admin runs inline COB job for Loan + 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 | + | | | 05 April 2024 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 20 April 2024 | | 334.47 | 165.53 | 2.47 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 | + | 2 | 15 | 05 May 2024 | | 168.12 | 166.35 | 1.65 | 0.0 | 0.0 | 168.0 | 0.0 | 0.0 | 0.0 | 168.0 | + | 3 | 15 | 20 May 2024 | | 0.0 | 168.12 | 0.83 | 0.0 | 0.0 | 168.95 | 0.0 | 0.0 | 0.0 | 168.95 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 | + | 24 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 0.0 | 0.0 | 0.0 | + | 24 April 2024 | Accrual | 0.44 | 0.0 | 0.44 | 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 | + | 500.0 | 4.95 | 0.0 | 0.0 | 504.95 | 0.0 | 0.0 | 0.0 | 504.95 | + When Admin sets the business date to "26 April 2024" + And Admin successfully disburse the loan on "26 April 2024" 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 | + | | | 05 April 2024 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 15 | 20 April 2024 | | 165.47 | 334.53 | 2.47 | 0.0 | 0.0 | 337.0 | 0.0 | 0.0 | 0.0 | 337.0 | + | | | 26 April 2024 | | 500.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 2 | 15 | 05 May 2024 | | 332.42 | 333.05 | 3.95 | 0.0 | 0.0 | 337.0 | 0.0 | 0.0 | 0.0 | 337.0 | + | 3 | 15 | 20 May 2024 | | 0.0 | 332.42 | 1.64 | 0.0 | 0.0 | 334.06 | 0.0 | 0.0 | 0.0 | 334.06 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | + | 05 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 500.0 | + | 24 April 2024 | Accrual | 1.05 | 0.0 | 1.05 | 0.0 | 0.0 | 0.0 | + | 26 April 2024 | Disbursement | 500.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | + | 26 April 2024 | Accrual | 2.47 | 0.0 | 2.47 | 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 | + | 1000.0 | 8.06 | 0.0 | 0.0 | 1008.06 | 0.0 | 0.0 | 0.0 | 1008.06 | + When Global config "charge-accrual-date" value set to "due-date" diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanCBR.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanCBR.feature index 79788db516a..945d86ca2f3 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanCBR.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanCBR.feature @@ -1,7 +1,7 @@ @LoanCBR Feature: Credit Balance Refund - + @TestRailId:C2505 Scenario: Verify that Loan status goes from overpaid to active in case of CBR transaction (with replaying when CBR>new balance → clears overpaid, remaining increasing loan balance) When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -48,7 +48,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2511 Scenario: Verify that Loan status goes from overpaid to closed in case of CBR transaction when transaction amount equals overpaid amount When Admin sets the business date to "1 January 2023" When Admin creates a client with random data @@ -88,7 +88,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 200.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2515 Scenario: Single repayment reversal When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -122,7 +122,7 @@ Feature: Credit Balance Refund | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2516 Scenario: Multi repayment reversal When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -161,7 +161,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 200.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2517 Scenario: Overpaid paid portion When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -202,7 +202,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2518 Scenario: Repayment reversal When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -241,7 +241,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 1000.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 1000.0 | - + @TestRailId:C2519 Scenario: Refund reversal When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -280,7 +280,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 1000.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 1000.0 | - + @TestRailId:C2520 Scenario: Partial refund reversal When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -319,7 +319,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2521 Scenario: Chargeback after CBR When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -368,7 +368,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2522 Scenario: Refund after CBR scenario When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -422,7 +422,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2523 Scenario: Single repayment reversal (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -455,7 +455,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 200.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2524 Scenario: Multi repayment reversal (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -494,7 +494,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 200.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2525 Scenario: Overpaid paid portion (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -535,7 +535,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | - + @TestRailId:C2526 Scenario: Repayment reversal (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -574,7 +574,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 1000.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 1000.0 | - + @TestRailId:C2527 Scenario: Refund reversal (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -613,7 +613,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 1000.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 1000.0 | - + @TestRailId:C2528 Scenario: Partial refund reversal (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -652,7 +652,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2529 Scenario: Chargeback after CBR (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -701,7 +701,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2530 Scenario: Refund after CBR scenario (after maturity) When Admin sets the business date to "1 January 2023" And Admin creates a client with random data @@ -755,7 +755,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 500.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 500.0 | - + @TestRailId:C2841 Scenario: Verify that accruals created for charges after CBR post-maturity When Admin sets the business date to "01 July 2023" And Admin creates a client with random data @@ -804,7 +804,7 @@ Feature: Credit Balance Refund | 02 August 2023 | Credit Balance Refund | 200.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | | 03 August 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | - + @TestRailId:C2885 Scenario: Verify that Loan status goes from overpaid to active in case of CBR transaction (with replaying when CBR>new balance → clears overpaid, remaining increasing loan balance) - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -875,7 +875,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 100.0 | - + @TestRailId:C2886 Scenario: Verify that Loan status goes from overpaid to closed in case of CBR transaction when transaction amount equals overpaid amount - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -941,7 +941,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 100.0 | - + @TestRailId:C2887 Scenario: Verify that Loan status goes from overpaid to active in case of Refund transaction was reverted - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -1018,7 +1018,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 100.0 | - + @TestRailId:C2888 Scenario: Multi repayment reversal (after maturity) - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -1091,7 +1091,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 100.0 | - + @TestRailId:C2889 Scenario: Verify that Loan status goes from overpaid to active in case of CBR transaction (after maturity) - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -1170,7 +1170,7 @@ Feature: Credit Balance Refund | ASSET | 112601 | Loans Receivable | 100.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 100.0 | - + @TestRailId:C2890 Scenario: Verify that accruals created for charges after CBR post-maturity - LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION loan product When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -1240,7 +1240,7 @@ Feature: Credit Balance Refund | 18 October 2023 | Credit Balance Refund | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | | 19 October 2023 | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | - + @TestRailId:C2989 Scenario: Verify that CBR transaction date cannot be in the future When Admin sets the business date to "01 September 2023" When Admin creates a client with random data @@ -1258,7 +1258,7 @@ Feature: Credit Balance Refund When Admin sets the business date to "15 September 2023" Then Credit Balance Refund transaction on future date "20 September 2023" with 250 EUR transaction amount will result an error - + @TestRailId:C3020 Scenario: Verify that Charge-off and CBR transaction GL entries are correct in case of repayment reversal after CBR and Fraud flagged loan When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -1305,7 +1305,7 @@ Feature: Credit Balance Refund | EXPENSE | 744037 | Credit Loss/Bad Debt-Fraud | 250.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 250.0 | - + @TestRailId:C3021 Scenario: Verify that Charge-off and CBR transaction GL entries are correct in case of repayment reversal after CBR and Non-Fraud loan When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -1351,7 +1351,7 @@ Feature: Credit Balance Refund | EXPENSE | 744007 | Credit Loss/Bad Debt | 250.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 250.0 | - + @TestRailId:C3040 Scenario: Verify that Charge-off and CBR transaction GL entries are correct before and after a repayment reversal taken place after CBR - UC1 When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -1425,7 +1425,7 @@ Feature: Credit Balance Refund | LIABILITY | l1 | Overpayment account | 250.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 350.0 | - + @TestRailId:C3041 Scenario: Verify that Charge-off and CBR transaction GL entries are correct before and after a repayment reversal taken place after CBR - UC2 When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -1494,7 +1494,7 @@ Feature: Credit Balance Refund | EXPENSE | 744007 | Credit Loss/Bad Debt | 250.0 | | | LIABILITY | 145023 | Suspense/Clearing account | | 250.0 | - + @TestRailId:C3092 Scenario: Verify that overpayment portion calculated properly in case of CBR reverse-replay When Admin sets the business date to "25 January 2024" When Admin creates a client with random data @@ -1538,3 +1538,139 @@ Feature: Credit Balance Refund | 01 March 2024 | Credit Balance Refund | 124.83 | 36.99 | 0.0 | 0.0 | 0.0 | 36.99 | false | | 02 March 2024 | Merchant Issued Refund | 19.99 | 19.99 | 0.0 | 0.0 | 0.0 | 17.0 | false | | 02 March 2024 | Merchant Issued Refund | 19.99 | 17.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | + + @TestRailId:C3140 + Scenario: Verify that the journal entries are correct in case of merchant issued refund (chargeoff, backdated transaction, undo repayment, downpayment) + When Admin sets the business date to "24 May 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_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 24 May 2024 | 200 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "24 May 2024" with "200" amount and expected disbursement date on "24 May 2024" + When Admin successfully disburse the loan on "24 May 2024" with "200" EUR transaction amount + When Admin runs inline COB job for Loan + When Admin sets the business date to "25 May 2024" + When Customer undo "1"th "Down Payment" transaction made on "24 May 2024" + Then Loan Repayment schedule has 2 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 | + | | | 24 May 2024 | | 200.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 24 May 2024 | | 150.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | + | 2 | 30 | 23 June 2024 | | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 24 May 2024 | Disbursement | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + | 24 May 2024 | Down Payment | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 150.0 | true | false | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 200.0 | 0.0 | 0.0 | 0.0 | 200.0 | 0.0 | 0.0 | 0.0 | 200.0 | + When Admin runs inline COB job for Loan + When Admin sets the business date to "26 May 2024" + And Admin does charge-off the loan on "26 May 2024" + And Customer makes "AUTOPAY" repayment on "25 May 2024" with 10 EUR transaction amount + When Customer makes "MERCHANT_ISSUED_REFUND" transaction with "AUTOPAY" payment type on "26 May 2024" with 200 EUR transaction amount and system-generated Idempotency key + Then Loan Repayment schedule has 2 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 | + | | | 24 May 2024 | | 200.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 24 May 2024 | 26 May 2024 | 150.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | 50.0 | 0.0 | 50.0 | 0.0 | + | 2 | 30 | 23 June 2024 | 26 May 2024 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 150.0 | 150.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 | + | 200.0 | 0.0 | 0.0 | 0.0 | 200.0 | 200.0 | 150.0 | 50.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 24 May 2024 | Disbursement | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + | 24 May 2024 | Down Payment | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 150.0 | true | false | + | 25 May 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 190.0 | false | false | + | 26 May 2024 | Charge-off | 190.0 | 190.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | true | + | 26 May 2024 | Merchant Issued Refund | 200.0 | 190.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + When Admin runs inline COB job for Loan + Then Loan status will be "OVERPAID" + Then Loan has 0 outstanding amount + Then Loan has 10 overpaid amount + When Admin sets the business date to "27 May 2024" + When Admin makes Credit Balance Refund transaction on "27 May 2024" with 10 EUR transaction amount + Then Loan Repayment schedule has 2 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 | + | | | 24 May 2024 | | 200.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 24 May 2024 | 26 May 2024 | 150.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | 50.0 | 0.0 | 50.0 | 0.0 | + | 2 | 30 | 23 June 2024 | 26 May 2024 | 0.0 | 150.0 | 0.0 | 0.0 | 0.0 | 150.0 | 150.0 | 150.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 | + | 200.0 | 0.0 | 0.0 | 0.0 | 200.0 | 200.0 | 150.0 | 50.0 | 0.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 24 May 2024 | Disbursement | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + | 24 May 2024 | Down Payment | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 150.0 | true | false | + | 25 May 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 190.0 | false | false | + | 26 May 2024 | Charge-off | 190.0 | 190.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | true | + | 26 May 2024 | Merchant Issued Refund | 200.0 | 190.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + | 27 May 2024 | Credit Balance Refund | 10.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | false | + When Customer undo "1"th "Repayment" transaction made on "25 May 2024" + Then Loan Repayment schedule has 2 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 | + | | | 24 May 2024 | | 200.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 0 | 24 May 2024 | 26 May 2024 | 150.0 | 50.0 | 0.0 | 0.0 | 0.0 | 50.0 | 50.0 | 0.0 | 50.0 | 0.0 | + | 2 | 30 | 23 June 2024 | | 0.0 | 160.0 | 0.0 | 0.0 | 0.0 | 160.0 | 150.0 | 150.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 | + | 210.0 | 0.0 | 0.0 | 0.0 | 210.0 | 200.0 | 150.0 | 50.0 | 10.0 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 24 May 2024 | Disbursement | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | 200.0 | false | false | + | 24 May 2024 | Down Payment | 50.0 | 50.0 | 0.0 | 0.0 | 0.0 | 150.0 | true | false | + | 25 May 2024 | Repayment | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 190.0 | true | false | + | 26 May 2024 | Charge-off | 200.0 | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | true | + | 26 May 2024 | Merchant Issued Refund | 200.0 | 200.0 | 0.0 | 0.0 | 0.0 | 0.0 | false | true | + | 27 May 2024 | Credit Balance Refund | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | false | true | + Then Loan Transactions tab has a "DISBURSEMENT" transaction with date "24 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | ASSET | 112601 | Loans Receivable | 200.0 | | + | LIABILITY | 145023 | Suspense/Clearing account | | 200.0 | + Then Loan Transactions tab has a "DOWN_PAYMENT" transaction with date "24 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | ASSET | 112601 | Loans Receivable | | 50.0 | + | LIABILITY | 145023 | Suspense/Clearing account | 50.0 | | + | ASSET | 112601 | Loans Receivable | 50.0 | | + | LIABILITY | 145023 | Suspense/Clearing account | | 50.0 | + Then Loan Transactions tab has a "REPAYMENT" transaction with date "25 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | ASSET | 112601 | Loans Receivable | | 10.0 | + | LIABILITY | 145023 | Suspense/Clearing account | 10.0 | | + | ASSET | 112601 | Loans Receivable | 10.0 | | + | LIABILITY | 145023 | Suspense/Clearing account | | 10.0 | + Then Loan Transactions tab has a "CHARGE_OFF" transaction with date "26 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | ASSET | 112601 | Loans Receivable | | 200.0 | + | EXPENSE | 744007 | Credit Loss/Bad Debt | 200.0 | | + Then Loan Transactions tab has a "MERCHANT_ISSUED_REFUND" transaction with date "26 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | EXPENSE | 744007 | Credit Loss/Bad Debt | | 200.0 | + | LIABILITY | 145023 | Suspense/Clearing account | 200.0 | | + Then Loan Transactions tab has a "CREDIT_BALANCE_REFUND" transaction with date "27 May 2024" which has the following Journal entries: + | Type | Account code | Account name | Debit | Credit | + | EXPENSE | 744007 | Credit Loss/Bad Debt | 10.0 | | + | LIABILITY | 145023 | Suspense/Clearing account | | 10.0 | + + @TestRailId:C3203 + Scenario: Verify that loan status is correct when CBR is reversed on an overpaid loan + When Admin sets the business date to "01 July 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_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 July 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 30 | DAYS | 30 | DAYS | 1 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 July 2024" with "1000" amount and expected disbursement date on "01 July 2024" + When Admin successfully disburse the loan on "01 July 2024" with "1000" EUR transaction amount + When Admin sets the business date to "10 July 2024" + And Customer makes "AUTOPAY" repayment on "10 July 2024" with 1000 EUR transaction amount + Then Loan status will be "OVERPAID" + Then Loan has 0 outstanding amount + Then Loan has 250 overpaid amount + When Admin sets the business date to "11 July 2024" + When Admin makes Credit Balance Refund transaction on "11 July 2024" with 250 EUR transaction amount + Then Loan status will be "CLOSED_OBLIGATIONS_MET" + Then Loan has 0 outstanding amount + When Admin sets the business date to "12 July 2024" + When Customer undo "1"th transaction made on "11 July 2024" + Then Loan status will be "OVERPAID" + Then Loan has 0 outstanding amount + Then Loan has 250 overpaid amount 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 89cf72b54d3..496753d5bab 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanCharge.feature @@ -1,7 +1,7 @@ @ChargeFeature Feature: LoanCharge - + @TestRailId:C50 Scenario: Charge creation functionality with locale EN When Admin creates a client with random data When Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "6000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 @@ -10,7 +10,7 @@ Feature: LoanCharge And Admin adds a 10 % Processing charge to the loan with "en" locale on date: "10 July 2022" Then Charge is successfully added to the loan with 600 EUR - + @TestRailId:C51 Scenario: Charge creation functionality with locale DE When Admin creates a client with random data When Admin successfully creates a new customised Loan submitted on date: "1 July 2022", with Principal: "6000", a loanTermFrequency: 24 months, and numberOfRepayments: 24 @@ -19,7 +19,7 @@ Feature: LoanCharge And Admin adds a 10 % Processing charge to the loan with "de_DE" locale on date: "10 Juli 2022" Then Charge is successfully added to the loan with 600 EUR - + @TestRailId:C2450 Scenario: Due date charge can be successfully applied when it is added on the loan account after the maturity date (NSF scenario of last installment) When Admin sets the business date to "1 January 2022" When Admin creates a client with random data @@ -39,7 +39,7 @@ Feature: LoanCharge Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount - + @TestRailId:C2451 Scenario: Due date charge can be successfully applied when it is added on the loan account which already has a N+1 scenario (by chargeback) When Admin sets the business date to "1 January 2022" When Admin creates a client with random data @@ -63,7 +63,7 @@ Feature: LoanCharge Then Loan status will be "CLOSED_OBLIGATIONS_MET" Then Loan has 0 outstanding amount - + @TestRailId:C2452 Scenario: Due date charge can be successfully applied, then waived when it is added on the loan account after the maturity date (NSF scenario of last installment) When Admin sets the business date to "1 January 2022" When Admin creates a client with random data @@ -88,8 +88,7 @@ Feature: LoanCharge Then Loan status will be "ACTIVE" Then Loan has 250 outstanding amount - - + @TestRailId:C2453 Scenario: Due date charge can be successfully applied, waived, then waive reversed when it is added on the loan account after the maturity date (NSF scenario of last installment) When Admin sets the business date to "1 January 2022" When Admin creates a client with random data @@ -112,7 +111,7 @@ Feature: LoanCharge Then Loan status will be "ACTIVE" Then Loan has 260 outstanding amount -# TODO clear, make it work properly + @TestRailId:C2472 Scenario: Charge adjustment works properly When Admin sets the business date to "22 October 2022" When Admin creates a client with random data @@ -954,6 +953,7 @@ Feature: LoanCharge | LIABILITY | l1 | Overpayment account | 2.0 | | | INCOME | 404007 | Fee Income | | 2.0 | + @TestRailId:C2532 Scenario: Verify that charge can be added to loan on disbursement date (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -967,7 +967,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 01 January 2023 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2533 Scenario: Verify that charge can be added to loan after disbursement date (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -982,7 +982,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 0.0 | 0.0 | 10.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2534 Scenario: Verify that charge can be added to loan after partial repayment (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -998,7 +998,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2535 Scenario: Verify that charge can be added to loan which is reopened by chargeback transaction after got overpaid by repayment (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1017,7 +1017,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2536 Scenario: Verify that charge can be added to loan which is reopened by payment undo transaction after got overpaid by repayment (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1038,7 +1038,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2537 Scenario: Verify that charge can be added to loan which is reopened by undo goodwill credit transaction after got overpaid by goodwill credit transaction (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1058,7 +1058,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2538 Scenario: Verify that charge can be added to loan which is reopened by undo repayment after got overpaid by goodwill credit transaction (loan status is 'active') When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1078,7 +1078,7 @@ Feature: LoanCharge | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | Then Loan's actualMaturityDate is "31 January 2023" - + @TestRailId:C2601 Scenario: Verify that loanChargePaidByList section has the correct data in loanDetails and in LoanTransactionMakeRepaymentPostBusinessEvent When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1096,7 +1096,7 @@ Feature: LoanCharge | 10.0 | Snooze fee | | 20.0 | NSF fee | - + @TestRailId:C2606 Scenario: Verify that after COB job Accrual entry is made when loan has a fee-charge on disbursal date When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1110,7 +1110,7 @@ Feature: LoanCharge | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | Accrual | 10.0 | 0.0 | 0.0 | 10.0 | 0.0 | 0.0 | - + @TestRailId:C2607 Scenario: Verify that after COB job Accrual entry is made when loan has a penalty-charge on disbursal date When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1124,7 +1124,7 @@ Feature: LoanCharge | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | Accrual | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | - + @TestRailId:C2635 Scenario: Verify that charge can be added to loan which is paid off and overpaid by refund When Admin sets the business date to "10 January 2023" When Admin creates a client with random data @@ -1142,7 +1142,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 10 January 2023 | Flat | 10.0 | 10.0 | 0.0 | 0.0 | - + @TestRailId:C2672 Scenario: FEE01 - Verify the loan creation with charge: disbursement percentage fee When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1152,8 +1152,8 @@ Feature: LoanCharge When Admin successfully disburse the loan on "01 January 2023" with "1000" EUR transaction amount Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | - | 01 January 2023 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | | 01 January 2023 | Repayment (at time of disbursement) | 15.0 | 0.0 | 0.0 | 15.0 | 0.0 | 1000.0 | + | 01 January 2023 | Disbursement | 1000.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1000.0 | Then Loan Charges tab has the following data: | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Disbursement percentage fee | false | Disbursement | | % Amount | 15.0 | 15.0 | 0.0 | 0.0 | @@ -1166,7 +1166,7 @@ Feature: LoanCharge | 1000 | 0 | 15 | 0 | 1015 | 15 | 0 | 0 | 1000 | - + @TestRailId:C2673 Scenario: FEE02 - Verify the loan creation with charge: flat fee When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1188,12 +1188,12 @@ Feature: LoanCharge | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1000 | 0 | 15 | 0 | 1015 | 0 | 0 | 0 | 1015 | - + @TestRailId:C2674 Scenario: FEE03 - Verify the loan creation with charge: installment percentage fee When Admin sets the business date to "01 January 2023" 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 | + | 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 | | LP1_INTEREST_FLAT | 1 January 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "01 January 2023" with "3000" amount and expected disbursement date on "10 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "3000" EUR transaction amount @@ -1214,12 +1214,12 @@ Feature: LoanCharge | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 3000 | 90 | 46.35 | 0 | 3136.35 | 0 | 0 | 0 | 3136.35 | - + @TestRailId:C2675 Scenario: FEE04 - Verify the loan creation with charge: overdue fee on principal When Admin sets the business date to "01 January 2023" 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 | + | 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 | | LP1_INTEREST_FLAT_OVERDUE_FROM_AMOUNT | 1 January 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "01 January 2023" with "3000" amount and expected disbursement date on "10 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "3000" EUR transaction amount @@ -1246,12 +1246,12 @@ Feature: LoanCharge | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 3000 | 90 | 0.0 | 45 | 3135.0 | 0 | 0 | 0 | 3135.0 | - + @TestRailId:C2676 Scenario: FEE05 - Verify the loan creation with charge: overdue fee on principal+interest When Admin sets the business date to "01 January 2023" 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 | + | 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 | | LP1_INTEREST_FLAT_OVERDUE_FROM_AMOUNT_INTEREST | 1 January 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "01 January 2023" with "3000" amount and expected disbursement date on "10 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "3000" EUR transaction amount @@ -1279,12 +1279,12 @@ Feature: LoanCharge | 3000 | 90 | 0.0 | 46.35 | 3136.35 | 0 | 0 | 0 | 3136.35 | # TODO Create loan product suitable for LOAN_TRANCHE_DISBURSEMENT_PERCENTAGE_FEE, replace, fix expected results - @Skip + @Skip @TestRailId:C2677 Scenario: FEE06 - Verify the loan creation with charge: tranche disbursement percentage fee, multi disbursement When Admin sets the business date to "01 January 2023" 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 | + | 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 | | LP1_INTEREST_DECLINING_BALANCE_SAR_RECALCULATION_SAME_AS_REPAYMENT_COMPOUNDING_NONE_MULTI_DISBURSEMENT | 1 January 2023 | 3000 | 12 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 3 | MONTHS | 1 | MONTHS | 3 | 0 | 0 | 0 | PENALTIES_FEES_INTEREST_PRINCIPAL_ORDER | And Admin successfully approves the loan on "01 January 2023" with "3000" amount and expected disbursement date on "01 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "1000" EUR transaction amount @@ -1308,7 +1308,7 @@ Feature: LoanCharge | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 1000 | 0 | 15 | 0 | 1015 | 15 | 0 | 0 | 1000 | - + @TestRailId:C2790 Scenario: Verify that partially waived installment fee applied correctly in reverse-replay logic When Admin sets the business date to "01 January 2023" When Admin creates a client with random data @@ -1339,7 +1339,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Installment percentage fee | false | Installment Fee | | % Loan Amount + Interest | 100.0 | 5.0 | 95.0 | 0.0 | - + @TestRailId:C2909 Scenario: Verify that adding charge on a closed loan after maturity date is creating an N+1 installment - LP1 product When Admin sets the business date to "01 October 2023" When Admin creates a client with random data @@ -1368,12 +1368,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 01 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2910 Scenario: Verify that adding charge on a closed loan after maturity date is creating an N+1 installment - LP2 auto payment enabled When Admin sets the business date to "01 October 2023" 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 | + | 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 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1409,12 +1409,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2911 Scenario: Verify that adding charge on a closed loan after maturity date is creating an N+1 installment - LP2 auto payment disabled When Admin sets the business date to "01 October 2023" 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 | + | 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 | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1451,12 +1451,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2912 @AdvancedPaymentAllocation Scenario: Verify that adding charge on a closed loan after maturity date is creating an N+1 installment - LP2 advanced payment allocation product When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1492,7 +1492,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2914 Scenario: Verify that adding charge on a active loan / partial repayment after maturity date is creating an N+1 installment - LP1 product When Admin sets the business date to "01 October 2023" When Admin creates a client with random data @@ -1521,12 +1521,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 01 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2915 Scenario: Verify that adding charge on a active loan / partial repayment after maturity date is creating an N+1 installment - LP2 auto payment enabled When Admin sets the business date to "01 October 2023" 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 | + | 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 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1562,12 +1562,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2916 Scenario: Verify that adding charge on a active loan / partial repayment after maturity date is creating an N+1 installment - LP2 auto payment disabled When Admin sets the business date to "01 October 2023" 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 | + | 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 | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1604,12 +1604,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2917 @AdvancedPaymentAllocation Scenario: Verify that adding charge on an active loan / partial repayment after maturity date is creating an N+1 installment - LP2 advanced payment allocation product When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1645,7 +1645,7 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2918 Scenario: Verify that adding charge on a active loan / no repayment made, after maturity date is creating an N+1 installment - LP1 product When Admin sets the business date to "01 October 2023" When Admin creates a client with random data @@ -1671,12 +1671,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 01 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2919 Scenario: Verify that adding charge on a active loan / no repayment made, after maturity date is creating an N+1 installment - LP2 auto payment enabled When Admin sets the business date to "01 October 2023" 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 | + | 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 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1703,12 +1703,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - + @TestRailId:C2920 Scenario: Verify that adding charge on a active loan / no repayment made, after maturity date is creating an N+1 installment - LP2 auto payment disabled When Admin sets the business date to "01 October 2023" 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 | + | 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 | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | DUE_PENALTY_INTEREST_PRINCIPAL_FEE_IN_ADVANCE_PENALTY_INTEREST_PRINCIPAL_FEE | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1734,12 +1734,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2921 @AdvancedPaymentAllocation Scenario: Verify that adding charge on an active loan / no repayment made, after maturity date is creating an N+1 installment - LP2 advanced payment allocation product When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1766,12 +1766,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 November 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2923 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC1 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1801,12 +1801,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 09 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2924 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC2 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1836,12 +1836,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 10 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2925 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC3 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1871,12 +1871,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 11 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2926 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC4 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1906,12 +1906,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2927 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC5 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1941,12 +1941,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 17 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2928 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC6 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -1973,12 +1973,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 10 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2929 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC7 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -2005,12 +2005,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2930 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC8 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -2037,12 +2037,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 17 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2931 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC9 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -2068,12 +2068,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 October 2023 | Flat | 20.0 | 0.0 | 0.0 | 20.0 | - @AdvancedPaymentAllocation + @TestRailId:C2932 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC10 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -2099,12 +2099,12 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 16 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - @AdvancedPaymentAllocation + @TestRailId:C2933 @AdvancedPaymentAllocation Scenario: Verify Loan charge reverse-replaying logic for LP2 advanced payment allocation product - UC11 When Admin sets the business date to "01 October 2023" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 October 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 October 2023" with "1000" amount and expected disbursement date on "01 October 2023" When Admin successfully disburse the loan on "01 October 2023" with "1000" EUR transaction amount @@ -2131,13 +2131,13 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | Snooze fee | false | Specified due date | 15 October 2023 | Flat | 20.0 | 20.0 | 0.0 | 0.0 | - + @TestRailId:C2993 Scenario: Waive charge on LP2 cumulative loan product When Admin sets the business date to "01 January 2023" When Admin creates a client with random data When Admin set "LP2_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | + | 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_ADVANCED_PAYMENT_ALLOCATION | 01 January 2023 | 750 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "750" amount and expected disbursement date on "01 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "750" EUR transaction amount @@ -2176,12 +2176,12 @@ Feature: LoanCharge | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Waived | Outstanding | | 750 | 0 | 0 | 10 | 760 | 688.0 | 0 | 500 | 10 | 62.0 | - + @TestRailId:C2994 Scenario: Waive charge on LP2 progressive loan When Admin sets the business date to "01 January 2023" 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 | + | 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 2023 | 750 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "750" amount and expected disbursement date on "01 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "750" EUR transaction amount @@ -2212,19 +2212,19 @@ Feature: LoanCharge | | | 01 January 2023 | | 750.0 | | | 0.0 | | 0.0 | 0.0 | | | | | | 1 | 0 | 01 January 2023 | 01 February 2023 | 562.5 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 187.5 | 0.0 | 187.5 | 0.0 | 0.0 | | 2 | 15 | 16 January 2023 | 01 March 2023 | 375.0 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 187.5 | 0.0 | 187.5 | 0.0 | 0.0 | - | 3 | 15 | 31 January 2023 | | 187.5 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 125.0 | 0.0 | 125.0 | 0.0 | 62.5 | + | 3 | 15 | 31 January 2023 | | 187.5 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 125.0 | 0.0 | 125.0 | 0.0 | 62.5 | | 4 | 15 | 15 February 2023 | | 0.0 | 187.5 | 0.0 | 0.0 | 0.0 | 187.5 | 0.0 | 0.0 | 0.0 | 0.0 | 187.5 | | 5 | 49 | 05 April 2023 | 05 April 2023 | 0.0 | 0.0 | 0.0 | 0.0 | 10.0 | 10.0 | 0.0 | 0.0 | 0.0 | 10.0 | 0.0 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Waived | Outstanding | | 750 | 0 | 0 | 10 | 760 | 500 | 0 | 500 | 10 | 250 | - + @TestRailId:C2995 Scenario: Verify that when a charge added after maturity had been waived the added N+1 installment will be paid with a paid by date (obligations met date) of the transaction date of the waive charge transaction When Admin sets the business date to "01 January 2023" 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 | + | 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 2023 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | And Admin successfully approves the loan on "01 January 2023" with "1000" amount and expected disbursement date on "01 January 2023" When Admin successfully disburse the loan on "01 January 2023" with "1000" EUR transaction amount @@ -2252,7 +2252,8 @@ Feature: LoanCharge | Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding | | NSF fee | true | Specified due date | 22 February 2023 | Flat | 100.0 | 0.0 | 100.0 | 0.0 | - Scenario: Verify that there are no payable interest after charge adjustment made on the same date for progressive loan with custom payment allocation order + @TestRailId:C3260 + Scenario: Verify that there are no payable interest and fee after charge adjustment made on the same date for progressive loan with custom payment allocation order When Admin sets the business date to "27 September 2024" When Admin creates a client with random data When Admin creates a fully customized loan with the following data: @@ -2261,12 +2262,12 @@ Feature: LoanCharge And Admin successfully approves the loan on "27 September 2024" with "40" amount and expected disbursement date on "27 September 2024" When Admin successfully disburse the loan on "27 September 2024" with "40" EUR transaction amount Then Loan Repayment schedule has 1 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 | - | | | 27 September 2024 | | 40.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 30 | 27 October 2024 | | 0.0 | 40.0 | 0.33 | 0.0 | 0.0 | 40.33 | 0.0 | 0.0 | 0.0 | 40.33 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 27 September 2024 | | 40.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 27 October 2024 | | 0.0 | 40.0 | 0.33 | 0.0 | 0.0 | 40.33 | 0.0 | 0.0 | 0.0 | 40.33 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | - | 40.0 | 0.33 | 0.0 | 0.0 | 40.33 | 0.0 | 0.0 | 0.0 | 40.33 | + | 40.0 | 0.33 | 0.0 | 0.0 | 40.33 | 0.0 | 0.0 | 0.0 | 40.33 | Then Loan Transactions tab has the following data: | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | | 27 September 2024 | Disbursement | 40.0 | 0.0 | 0.0 | 0.0 | 0.0 | 40.0 | @@ -2274,9 +2275,9 @@ Feature: LoanCharge When Admin makes a charge adjustment for the last "LOAN_NSF_FEE" type charge which is due on "27 September 2024" with 1 EUR transaction amount and externalId "" Then Loan has 40.32 outstanding amount Then Loan Repayment schedule has 1 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 | - | | | 27 September 2024 | | 40.0 | | | 0.0 | | 0.0 | 0.0 | | | | - | 1 | 30 | 27 October 2024 | | 0.0 | 40.0 | 0.32 | 0.0 | 1.0 | 41.32 | 1.0 | 1.0 | 0.0 | 40.32 | + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 27 September 2024 | | 40.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 30 | 27 October 2024 | | 0.0 | 40.0 | 0.32 | 0.0 | 1.0 | 41.32 | 1.0 | 1.0 | 0.0 | 40.32 | Then Loan Repayment schedule has the following data in Total row: | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | | 40.0 | 0.32 | 0.0 | 1.0 | 41.32 | 1.0 | 1.0 | 0.0 | 40.32 |