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