This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 09645e6afb FINERACT-2412: Full term tranche - downpayment handling
09645e6afb is described below

commit 09645e6afb9dd18d24fbd72be0476eb8ec1ffca1
Author: mariiaKraievska <[email protected]>
AuthorDate: Wed Dec 24 14:10:04 2025 +0200

    FINERACT-2412: Full term tranche - downpayment handling
---
 .../test/data/loanproduct/DefaultLoanProduct.java  |   2 +
 .../global/LoanProductGlobalInitializerStep.java   |  72 ++++++++
 .../fineract/test/support/TestContextKey.java      |   2 +
 .../features/LoanDelayedScheduleCaptures.feature   | 189 +++++++++++++++++++++
 4 files changed, 265 insertions(+)

diff --git 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java
 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java
index 992a0dae7e..f3df476b8f 100644
--- 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java
+++ 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/loanproduct/DefaultLoanProduct.java
@@ -183,6 +183,8 @@ public enum DefaultLoanProduct implements LoanProduct {
     
LP2_ADV_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_PRINCIPAL_FIRST, 
//
     LP2_ADV_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_360_30_USD, 
//
     
LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE,
 //
+    
LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT,
 //
+    
LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO,
 //
     ;
 
     @Override
diff --git 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java
 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java
index afe1063e47..63f471aa89 100644
--- 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java
+++ 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/initializer/global/LoanProductGlobalInitializerStep.java
@@ -4351,6 +4351,78 @@ public class LoanProductGlobalInitializerStep implements 
FineractGlobalInitializ
         TestContext.INSTANCE.set(
                 
TestContextKey.DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE,
                 
responseLoanProductsRequestLP2AdvancedpaymentInterestEmi36030InterestRecalcDailyMultiDisburseFullTermTranche);
+
+        // LP2 with progressive loan schedule + horizontal + interest 
recalculation daily EMI + 360/30 +
+        // multidisbursement with full term tranche enabled + Down Payment
+        // Frequency for recalculate Outstanding Principal: Daily, Frequency 
Interval for recalculation: 1
+        // 
(LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT)
+        final String name171 = 
DefaultLoanProduct.LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT
+                .getName();
+        final PostLoanProductsRequest 
loanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPayment
 = loanProductsRequestFactory
+                .defaultLoanProductsRequestLP2Emi()//
+                .name(name171)//
+                .daysInYearType(DaysInYearType.DAYS360.value)//
+                .daysInMonthType(DaysInMonthType.DAYS30.value)//
+                .isInterestRecalculationEnabled(true)//
+                .preClosureInterestCalculationStrategy(1)//
+                .rescheduleStrategyMethod(4)//
+                .interestRecalculationCompoundingMethod(0)//
+                .recalculationRestFrequencyType(2)//
+                .recalculationRestFrequencyInterval(1)//
+                .paymentAllocation(List.of(//
+                        createPaymentAllocation("DEFAULT", 
"NEXT_INSTALLMENT"), //
+                        createPaymentAllocation("GOODWILL_CREDIT", 
"LAST_INSTALLMENT"), //
+                        createPaymentAllocation("MERCHANT_ISSUED_REFUND", 
"REAMORTIZATION"), //
+                        createPaymentAllocation("PAYOUT_REFUND", 
"NEXT_INSTALLMENT")))//
+                .multiDisburseLoan(true)//
+                .disallowExpectedDisbursements(true)//
+                .allowFullTermForTranche(true)//
+                .enableDownPayment(true)//
+                .enableAutoRepaymentForDownPayment(false)//
+                .disbursedAmountPercentageForDownPayment(new BigDecimal(25))//
+                .maxTrancheCount(10)//
+                .outstandingLoanBalance(10000.0);//
+        final PostLoanProductsResponse 
responseLoanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPayment
 = createLoanProductIdempotent(
+                
loanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPayment);
+        TestContext.INSTANCE.set(
+                
TestContextKey.DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT,
+                
responseLoanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPayment);
+
+        // LP2 with progressive loan schedule + horizontal + interest 
recalculation daily EMI + 360/30 +
+        // multidisbursement with full term tranche enabled + Down Payment 
auto enabled
+        // Frequency for recalculate Outstanding Principal: Daily, Frequency 
Interval for recalculation: 1
+        // 
(LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO)
+        final String name172 = 
DefaultLoanProduct.LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO
+                .getName();
+        final PostLoanProductsRequest 
loanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPaymentAuto
 = loanProductsRequestFactory
+                .defaultLoanProductsRequestLP2Emi()//
+                .name(name172)//
+                .daysInYearType(DaysInYearType.DAYS360.value)//
+                .daysInMonthType(DaysInMonthType.DAYS30.value)//
+                .isInterestRecalculationEnabled(true)//
+                .preClosureInterestCalculationStrategy(1)//
+                .rescheduleStrategyMethod(4)//
+                .interestRecalculationCompoundingMethod(0)//
+                .recalculationRestFrequencyType(2)//
+                .recalculationRestFrequencyInterval(1)//
+                .paymentAllocation(List.of(//
+                        createPaymentAllocation("DEFAULT", 
"NEXT_INSTALLMENT"), //
+                        createPaymentAllocation("GOODWILL_CREDIT", 
"LAST_INSTALLMENT"), //
+                        createPaymentAllocation("MERCHANT_ISSUED_REFUND", 
"REAMORTIZATION"), //
+                        createPaymentAllocation("PAYOUT_REFUND", 
"NEXT_INSTALLMENT")))//
+                .multiDisburseLoan(true)//
+                .disallowExpectedDisbursements(true)//
+                .allowFullTermForTranche(true)//
+                .enableDownPayment(true)//
+                .enableAutoRepaymentForDownPayment(true)//
+                .disbursedAmountPercentageForDownPayment(new BigDecimal(25))//
+                .maxTrancheCount(10)//
+                .outstandingLoanBalance(10000.0);//
+        final PostLoanProductsResponse 
responseLoanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPaymentAuto
 = createLoanProductIdempotent(
+                
loanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPaymentAuto);
+        TestContext.INSTANCE.set(
+                
TestContextKey.DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO,
+                
responseLoanProductsRequestLP2AdvPymntIntEmi36030IntRecalcDailyMultiDisbFullTermTrancheDownPaymentAuto);
     }
 
     public static AdvancedPaymentData createPaymentAllocation(String 
transactionType, String futureInstallmentAllocationRule,
diff --git 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java
 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java
index f33a3b0908..a558de1327 100644
--- 
a/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java
+++ 
b/fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java
@@ -296,4 +296,6 @@ public abstract class TestContextKey {
     public static final String 
DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALC_DAILY_MULTIDISBURSE_FULL_TERM_TRANCHE
 = 
"loanProductCreateResponseLP2AdvancedPaymentInterestDailyEmi36030InterestRecalculationDailyMultidisburseFullTermTranche";
     public static final String 
DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_CUSTOM_PMT_ALLOC_PROGRESSIVE_LOAN_SCHEDULE_HORIZONTAL_360_30_USD
 = "loanProductCreateResponseLP2AdvancedPaymentHorizontal36030Usd";
     public static final String VERIFIED_LOAN_ACCRUALS = 
"VERIFIED_LOAN_ACCRUALS";
+    public static final String 
DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT
 = 
"loanProductCreateResponseLP2AdvancedPaymentInterestDailyEmi36030InterestRecalculationDailyMultidisburseFullTermTrancheDownPayment";
+    public static final String 
DEFAULT_LOAN_PRODUCT_CREATE_RESPONSE_LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO
 = 
"loanProductCreateResponseLP2AdvancedPaymentInterestDailyEmi36030InterestRecalculationDailyMultidisburseFullTermTrancheDownPaymentAuto";
 }
diff --git 
a/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature
 
b/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature
index df5451610d..59f325ad79 100644
--- 
a/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature
+++ 
b/fineract-e2e-tests-runner/src/test/resources/features/LoanDelayedScheduleCaptures.feature
@@ -512,3 +512,192 @@ Feature: Full Term Tranche - Schedule handling and 
Calculations
 
     When Loan Pay-off is made on "15 February 2024"
     Then Loan is closed with zero outstanding balance and it's all 
installments have obligations met
+
+  @TestRailId:С4487
+  Scenario: Verify full term tranche interest bearing progressive loan - 
DownPayment - UC6
+    When Admin sets the business date to "01 January 2024"
+    When Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
                     | submitted on date | with Principal | ANNUAL interest 
rate % | interest type     | interest calculation period | amortization type  | 
loanTermFrequency | loanTermFrequencyType | repaymentEvery | 
repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | 
graceOnInterestPayment | interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT
 | 01 January 2024   | 200            | 9.4822                 | 
DECLINING_BALANCE | DAILY                       | EQUAL_INSTALLMENTS | 5        
         | MONTHS                | 1              | MONTHS                 | 5  
                | 0                       | 0                      | 0          
          | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 January 2024" with "200" 
amount and expected disbursement date on "01 January 2024"
+    When Admin successfully disburse the loan on "01 January 2024" with "100" 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date | Balance of loan | Principal 
due | Interest | Fees | Penalties | Due   | Paid | In advance | Late | 
Outstanding |
+      |    |      | 01 January 2024  |           | 100.0           |           
    |          | 0.0  |           | 0.0   | 0.0  |            |      |          
   |
+      | 1  | 0    | 01 January 2024  |           | 75.0            | 25.0      
    | 0.0      | 0.0  | 0.0       | 25.0  | 0.0  | 0.0        | 0.0  | 25.0     
   |
+      | 2  | 31   | 01 February 2024 |           | 60.23           | 14.77     
    | 0.59     | 0.0  | 0.0       | 15.36 | 0.0  | 0.0        | 0.0  | 15.36    
   |
+      | 3  | 29   | 01 March 2024    |           | 45.35           | 14.88     
    | 0.48     | 0.0  | 0.0       | 15.36 | 0.0  | 0.0        | 0.0  | 15.36    
   |
+      | 4  | 31   | 01 April 2024    |           | 30.35           | 15.0      
    | 0.36     | 0.0  | 0.0       | 15.36 | 0.0  | 0.0        | 0.0  | 15.36    
   |
+      | 5  | 30   | 01 May 2024      |           | 15.23           | 15.12     
    | 0.24     | 0.0  | 0.0       | 15.36 | 0.0  | 0.0        | 0.0  | 15.36    
   |
+      | 6  | 31   | 01 June 2024     |           | 0.0             | 15.23     
    | 0.12     | 0.0  | 0.0       | 15.35 | 0.0  | 0.0        | 0.0  | 15.35    
   |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100.0         | 1.79     | 0.0  | 0.0       | 101.79 | 0.0  | 0.0      
  | 0.0  | 101.79      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+    And Customer makes "DOWN_PAYMENT" repayment on "01 January 2024" with 25 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 January 2024  |                 | 100.0           |     
          |          | 0.0  |           | 0.0    | 0.0  |            |      |   
          |
+      | 1  | 0    | 01 January 2024  | 01 January 2024 | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0 | 0.0        | 0.0  
| 0.0         |
+      | 2  | 31   | 01 February 2024 |                 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 3  | 29   | 01 March 2024    |                 | 45.35           | 
14.88         | 0.48     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 4  | 31   | 01 April 2024    |                 | 30.35           | 
15.0          | 0.36     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 5  | 30   | 01 May 2024      |                 | 15.23           | 
15.12         | 0.24     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 6  | 31   | 01 June 2024     |                 | 0.0             | 
15.23         | 0.12     | 0.0  | 0.0       | 15.35  | 0.0  | 0.0        | 0.0  
| 15.35       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100.0         | 1.79     | 0.0  | 0.0       | 101.79 | 25.0 | 0.0      
  | 0.0  | 76.79       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Repayment        | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+
+    When Admin sets the business date to "01 February 2024"
+    And Customer makes "AUTOPAY" repayment on "01 February 2024" with 15.36 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid  | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 1  | 0    | 01 January 2024  | 01 January 2024  | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 2  | 31   | 01 February 2024 | 01 February 2024 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 15.36 | 0.0        | 0.0 
 | 0.0         |
+      | 3  | 29   | 01 March 2024    |                  | 45.35           | 
14.88         | 0.48     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 4  | 31   | 01 April 2024    |                  | 30.35           | 
15.0          | 0.36     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 5  | 30   | 01 May 2024      |                  | 15.23           | 
15.12         | 0.24     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 6  | 31   | 01 June 2024     |                  | 0.0             | 
15.23         | 0.12     | 0.0  | 0.0       | 15.35  | 0.0   | 0.0        | 0.0 
 | 15.35       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
+      | 100.0         | 1.79     | 0.0  | 0.0       | 101.79 | 40.36 | 0.0     
   | 0.0  | 61.43       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Repayment        | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+      | 01 February 2024 | Repayment        | 15.36  | 14.77     | 0.59     | 
0.0  | 0.0       | 60.23        | false    | false    |
+
+#  --- 2nd disbursement on installment date ---
+    When Admin sets the business date to "01 February 2024"
+    When Admin successfully disburse the loan on "01 February 2024" with "100" 
EUR transaction amount
+    Then Loan Repayment schedule has 8 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid  | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 1  | 0    | 01 January 2024  | 01 January 2024  | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 2  | 31   | 01 February 2024 | 01 February 2024 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 15.36 | 0.0        | 0.0 
 | 0.0         |
+      |    |      | 01 February 2024 |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 3  | 0    | 01 February 2024 |                  | 135.23          | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 0.0   | 0.0        | 0.0 
 | 25.0        |
+      | 4  | 29   | 01 March 2024    |                  | 105.58          | 
29.65         | 1.07     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 5  | 31   | 01 April 2024    |                  | 75.69           | 
29.89         | 0.83     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 6  | 30   | 01 May 2024      |                  | 45.57           | 
30.12         | 0.6      | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 7  | 31   | 01 June 2024     |                  | 15.22           | 
30.35         | 0.36     | 0.0  | 0.0       | 30.71  | 0.0   | 0.0        | 0.0 
 | 30.71       |
+      | 8  | 30   | 01 July 2024     |                  | 0.0             | 
15.22         | 0.12     | 0.0  | 0.0       | 15.34  | 0.0   | 0.0        | 0.0 
 | 15.34       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
+      | 200.0         | 3.57     | 0.0  | 0.0       | 203.57 | 40.36 | 0.0     
   | 0.0  | 163.21      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Repayment        | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+      | 01 February 2024 | Repayment        | 15.36  | 14.77     | 0.59     | 
0.0  | 0.0       | 60.23        | false    | false    |
+      | 01 February 2024 | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 160.23       | false    | false    |
+
+    And Customer makes "DOWN_PAYMENT" repayment on "01 February 2024" with 25 
EUR transaction amount
+    Then Loan Repayment schedule has 8 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid  | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 1  | 0    | 01 January 2024  | 01 January 2024  | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 2  | 31   | 01 February 2024 | 01 February 2024 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 15.36 | 0.0        | 0.0 
 | 0.0         |
+      |    |      | 01 February 2024 |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 3  | 0    | 01 February 2024 | 01 February 2024 | 135.23          | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 4  | 29   | 01 March 2024    |                  | 105.58          | 
29.65         | 1.07     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 5  | 31   | 01 April 2024    |                  | 75.69           | 
29.89         | 0.83     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 6  | 30   | 01 May 2024      |                  | 45.57           | 
30.12         | 0.6      | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 7  | 31   | 01 June 2024     |                  | 15.22           | 
30.35         | 0.36     | 0.0  | 0.0       | 30.71  | 0.0   | 0.0        | 0.0 
 | 30.71       |
+      | 8  | 30   | 01 July 2024     |                  | 0.0             | 
15.22         | 0.12     | 0.0  | 0.0       | 15.34  | 0.0   | 0.0        | 0.0 
 | 15.34       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
+      | 200.0         | 3.57     | 0.0  | 0.0       | 203.57 | 65.36 | 0.0     
   | 0.0  | 138.21      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Repayment        | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+      | 01 February 2024 | Repayment        | 15.36  | 14.77     | 0.59     | 
0.0  | 0.0       | 60.23        | false    | false    |
+      | 01 February 2024 | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 160.23       | false    | false    |
+      | 01 February 2024 | Repayment        | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 135.23       | false    | false    |
+
+    When Loan Pay-off is made on "01 February 2024"
+    Then Loan is closed with zero outstanding balance and it's all 
installments have obligations met
+
+  @TestRailId:С4488
+  Scenario: Verify full term tranche interest bearing progressive loan - Auto 
DownPayment - UC6.1
+    When Admin sets the business date to "01 January 2024"
+    When Admin creates a client with random data
+    When Admin creates a fully customized loan with the following data:
+      | LoanProduct                                                            
                          | submitted on date | with Principal | ANNUAL 
interest rate % | interest type     | interest calculation period | 
amortization type  | loanTermFrequency | loanTermFrequencyType | repaymentEvery 
| repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | 
graceOnInterestPayment | interest free period | Payment strategy            |
+      | 
LP2_ADV_PYMNT_INT_DAILY_EMI_360_30_INT_RECALC_DAILY_MULTIDISB_FULL_TERM_TRANCHE_DOWNPAYMENT_AUTO
 | 01 January 2024   | 200            | 9.4822                 | 
DECLINING_BALANCE | DAILY                       | EQUAL_INSTALLMENTS | 5        
         | MONTHS                | 1              | MONTHS                 | 5  
                | 0                       | 0                      | 0          
          | ADVANCED_PAYMENT_ALLOCATION |
+    And Admin successfully approves the loan on "01 January 2024" with "200" 
amount and expected disbursement date on "01 January 2024"
+    When Admin successfully disburse the loan on "01 January 2024" with "100" 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date       | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid | In advance | Late 
| Outstanding |
+      |    |      | 01 January 2024  |                 | 100.0           |     
          |          | 0.0  |           | 0.0    | 0.0  |            |      |   
          |
+      | 1  | 0    | 01 January 2024  | 01 January 2024 | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0 | 0.0        | 0.0  
| 0.0         |
+      | 2  | 31   | 01 February 2024 |                 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 3  | 29   | 01 March 2024    |                 | 45.35           | 
14.88         | 0.48     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 4  | 31   | 01 April 2024    |                 | 30.35           | 
15.0          | 0.36     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 5  | 30   | 01 May 2024      |                 | 15.23           | 
15.12         | 0.24     | 0.0  | 0.0       | 15.36  | 0.0  | 0.0        | 0.0  
| 15.36       |
+      | 6  | 31   | 01 June 2024     |                 | 0.0             | 
15.23         | 0.12     | 0.0  | 0.0       | 15.35  | 0.0  | 0.0        | 0.0  
| 15.35       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid | In 
advance | Late | Outstanding |
+      | 100.0         | 1.79     | 0.0  | 0.0       | 101.79 | 25.0 | 0.0      
  | 0.0  | 76.79       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Down Payment     | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+
+    When Admin sets the business date to "01 February 2024"
+    And Customer makes "AUTOPAY" repayment on "01 February 2024" with 15.36 
EUR transaction amount
+    Then Loan Repayment schedule has 6 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid  | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 1  | 0    | 01 January 2024  | 01 January 2024  | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 2  | 31   | 01 February 2024 | 01 February 2024 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 15.36 | 0.0        | 0.0 
 | 0.0         |
+      | 3  | 29   | 01 March 2024    |                  | 45.35           | 
14.88         | 0.48     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 4  | 31   | 01 April 2024    |                  | 30.35           | 
15.0          | 0.36     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 5  | 30   | 01 May 2024      |                  | 15.23           | 
15.12         | 0.24     | 0.0  | 0.0       | 15.36  | 0.0   | 0.0        | 0.0 
 | 15.36       |
+      | 6  | 31   | 01 June 2024     |                  | 0.0             | 
15.23         | 0.12     | 0.0  | 0.0       | 15.35  | 0.0   | 0.0        | 0.0 
 | 15.35       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
+      | 100.0         | 1.79     | 0.0  | 0.0       | 101.79 | 40.36 | 0.0     
   | 0.0  | 61.43       |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Down Payment     | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+      | 01 February 2024 | Repayment        | 15.36  | 14.77     | 0.59     | 
0.0  | 0.0       | 60.23        | false    | false    |
+
+#  --- 2nd disbursement on installment date ---
+    When Admin sets the business date to "01 February 2024"
+    When Admin successfully disburse the loan on "01 February 2024" with "100" 
EUR transaction amount
+    Then Loan Repayment schedule has 8 periods, with the following data for 
periods:
+      | Nr | Days | Date             | Paid date        | Balance of loan | 
Principal due | Interest | Fees | Penalties | Due    | Paid  | In advance | 
Late | Outstanding |
+      |    |      | 01 January 2024  |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 1  | 0    | 01 January 2024  | 01 January 2024  | 75.0            | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 2  | 31   | 01 February 2024 | 01 February 2024 | 60.23           | 
14.77         | 0.59     | 0.0  | 0.0       | 15.36  | 15.36 | 0.0        | 0.0 
 | 0.0         |
+      |    |      | 01 February 2024 |                  | 100.0           |    
           |          | 0.0  |           | 0.0    | 0.0   |            |      | 
            |
+      | 3  | 0    | 01 February 2024 | 01 February 2024 | 135.23          | 
25.0          | 0.0      | 0.0  | 0.0       | 25.0   | 25.0  | 0.0        | 0.0 
 | 0.0         |
+      | 4  | 29   | 01 March 2024    |                  | 105.58          | 
29.65         | 1.07     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 5  | 31   | 01 April 2024    |                  | 75.69           | 
29.89         | 0.83     | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 6  | 30   | 01 May 2024      |                  | 45.57           | 
30.12         | 0.6      | 0.0  | 0.0       | 30.72  | 0.0   | 0.0        | 0.0 
 | 30.72       |
+      | 7  | 31   | 01 June 2024     |                  | 15.22           | 
30.35         | 0.36     | 0.0  | 0.0       | 30.71  | 0.0   | 0.0        | 0.0 
 | 30.71       |
+      | 8  | 30   | 01 July 2024     |                  | 0.0             | 
15.22         | 0.12     | 0.0  | 0.0       | 15.34  | 0.0   | 0.0        | 0.0 
 | 15.34       |
+    Then Loan Repayment schedule has the following data in Total row:
+      | Principal due | Interest | Fees | Penalties | Due    | Paid  | In 
advance | Late | Outstanding |
+      | 200.0         | 3.57     | 0.0  | 0.0       | 203.57 | 65.36 | 0.0     
   | 0.0  | 138.21      |
+    Then Loan Transactions tab has the following data:
+      | Transaction date | Transaction Type | Amount | Principal | Interest | 
Fees | Penalties | Loan Balance | Reverted | Replayed |
+      | 01 January 2024  | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 100.0        | false    | false    |
+      | 01 January 2024  | Down Payment     | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 75.0         | false    | false    |
+      | 01 February 2024 | Repayment        | 15.36  | 14.77     | 0.59     | 
0.0  | 0.0       | 60.23        | false    | false    |
+      | 01 February 2024 | Disbursement     | 100.0  | 0.0       | 0.0      | 
0.0  | 0.0       | 160.23       | false    | false    |
+      | 01 February 2024 | Down Payment     | 25.0   | 25.0      | 0.0      | 
0.0  | 0.0       | 135.23       | false    | false    |
+
+    When Loan Pay-off is made on "01 February 2024"
+    Then Loan is closed with zero outstanding balance and it's all 
installments have obligations met


Reply via email to