FINERACT-2070: E2E testcase migration - feature files - pt3

This commit is contained in:
Peter Kovacs
2024-11-10 14:38:04 +01:00
committed by Adam Saghy
parent 6770352da8
commit ab1a634d17
5 changed files with 2958 additions and 347 deletions
File diff suppressed because it is too large Load Diff
@@ -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"
@@ -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
@@ -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 |