FINERACT-2326: added e2e auto tests for accrual reversal logic issue
This commit is contained in:
committed by
Arnold Gálovics
parent
469489d408
commit
a58db39a74
-10
@@ -78,16 +78,6 @@ public class GlobalConfigurationStepDef {
|
||||
assertThat(errorDetails.getSingleError().getDeveloperMessage()).isEqualTo(ErrorMessageHelper.setCurrencyEmptyValueFailure());
|
||||
}
|
||||
|
||||
@When("Update currency with incorrect null value outcomes with an error")
|
||||
public void updateCurrencyIncorrectNullValueFailure() throws IOException {
|
||||
var request = new CurrencyUpdateRequest();
|
||||
var currencyResponse = currencyApi.updateCurrencies(request.currencies(Collections.singletonList(null))).execute();
|
||||
final ErrorResponse errorDetails = ErrorResponse.from(currencyResponse);
|
||||
assertThat(errorDetails.getHttpStatusCode()).as(ErrorMessageHelper.setCurrencyIncorrectValueFailure("null")).isEqualTo(404);
|
||||
assertThat(errorDetails.getSingleError().getDeveloperMessage())
|
||||
.isEqualTo(ErrorMessageHelper.setCurrencyIncorrectValueFailure("null"));
|
||||
}
|
||||
|
||||
@When("Update currency as NULL value outcomes with an error")
|
||||
public void updateCurrencyNullValueFailure() throws IOException {
|
||||
var request = new CurrencyUpdateRequest();
|
||||
|
||||
+87
-36
@@ -60,6 +60,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.fineract.avro.loan.v1.LoanAccountDataV1;
|
||||
import org.apache.fineract.avro.loan.v1.LoanChargePaidByDataV1;
|
||||
import org.apache.fineract.avro.loan.v1.LoanStatusEnumDataV1;
|
||||
import org.apache.fineract.avro.loan.v1.LoanTransactionAdjustmentDataV1;
|
||||
import org.apache.fineract.avro.loan.v1.LoanTransactionDataV1;
|
||||
import org.apache.fineract.client.models.AdvancedPaymentData;
|
||||
import org.apache.fineract.client.models.AmortizationMappingData;
|
||||
@@ -2424,12 +2425,17 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
.as(ErrorMessageHelper.transactionHasNullResourceValue("", "external-id")).isTrue();
|
||||
}
|
||||
|
||||
@Then("Check required transaction for non-null eternal-id")
|
||||
public void loanTransactionHasNonNullExternalId() throws IOException {
|
||||
@Then("Check required {string}th transaction for non-null eternal-id")
|
||||
public void loanTransactionHasNonNullExternalId(String nThNumber) throws IOException {
|
||||
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
|
||||
long loanId = loanCreateResponse.body().getLoanId();
|
||||
|
||||
GetLoansLoanIdTransactions targetTransaction = testContext().get(TestContextKey.LOAN_TRANSACTION_RESPONSE);
|
||||
GetLoansLoanIdTransactions targetTransaction;
|
||||
if (nThNumber.equals("1")) {
|
||||
targetTransaction = testContext().get(TestContextKey.LOAN_TRANSACTION_RESPONSE);
|
||||
} else {
|
||||
targetTransaction = testContext().get(TestContextKey.LOAN_SECOND_TRANSACTION_RESPONSE);
|
||||
}
|
||||
Long targetTransactionId = targetTransaction.getId();
|
||||
|
||||
Response<GetLoansLoanIdTransactionsTransactionIdResponse> transactionResponse = loanTransactionsApi
|
||||
@@ -2890,11 +2896,11 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
|
||||
List<GetLoansLoanIdTransactions> transactions = loanDetailsResponse.body().getTransactions();
|
||||
|
||||
GetLoansLoanIdTransactions loadTransaction = transactions.stream()
|
||||
GetLoansLoanIdTransactions loanTransaction = transactions.stream()
|
||||
.filter(t -> date.equals(FORMATTER.format(t.getDate())) && "Charge Adjustment".equals(t.getType().getValue())).findFirst()
|
||||
.orElseThrow(() -> new IllegalStateException(String.format("No Charge Adjustment transaction found on %s", date)));
|
||||
|
||||
eventAssertion.assertEventRaised(LoanChargeAdjustmentPostBusinessEvent.class, loadTransaction.getId());
|
||||
eventAssertion.assertEventRaised(LoanChargeAdjustmentPostBusinessEvent.class, loanTransaction.getId());
|
||||
}
|
||||
|
||||
@Then("BulkBusinessEvent is not raised on {string}")
|
||||
@@ -2919,9 +2925,7 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
em -> FORMATTER.format(em.getBusinessDate()).equals(date));
|
||||
}
|
||||
|
||||
@Then("{string} transaction on {string} got reverse-replayed on {string}")
|
||||
public void checkLoanAdjustTransactionBusinessEvent(String transactionType, String transactionDate, String submittedOnDate)
|
||||
throws IOException {
|
||||
public GetLoansLoanIdTransactions getLoanTransactionIdByDate(String transactionType, String transactionDate) throws IOException {
|
||||
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
|
||||
long loanId = loanCreateResponse.body().getLoanId();
|
||||
|
||||
@@ -2930,41 +2934,96 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
|
||||
List<GetLoansLoanIdTransactions> transactions = loanDetailsResponse.body().getTransactions();
|
||||
|
||||
GetLoansLoanIdTransactions loadTransaction = transactions.stream()
|
||||
GetLoansLoanIdTransactions loanTransaction = transactions.stream()
|
||||
.filter(t -> transactionDate.equals(FORMATTER.format(t.getDate())) && transactionType.equals(t.getType().getValue()))
|
||||
.findFirst().orElseThrow(
|
||||
() -> new IllegalStateException(String.format("No %s transaction found on %s", transactionType, transactionDate)));
|
||||
return loanTransaction;
|
||||
}
|
||||
|
||||
Set<GetLoansLoanIdLoanTransactionRelation> transactionRelations = loadTransaction.getTransactionRelations();
|
||||
public GetLoansLoanIdTransactionsTransactionIdResponse getLoanTransactionIdById(Long transactionId) throws IOException {
|
||||
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
|
||||
long loanId = loanCreateResponse.body().getLoanId();
|
||||
|
||||
Response<GetLoansLoanIdTransactionsTransactionIdResponse> loanTransactionResponse = loanTransactionsApi
|
||||
.retrieveTransaction(loanId, transactionId, "").execute();
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse loanTransaction = loanTransactionResponse.body();
|
||||
return loanTransaction;
|
||||
}
|
||||
|
||||
@Then("{string} transaction on {string} got reverse-replayed on {string}")
|
||||
public void checkLoanAdjustTransactionBusinessEvent(String transactionType, String transactionDate, String submittedOnDate)
|
||||
throws IOException {
|
||||
GetLoansLoanIdTransactions loanTransaction = getLoanTransactionIdByDate(transactionType, transactionDate);
|
||||
|
||||
Set<GetLoansLoanIdLoanTransactionRelation> transactionRelations = loanTransaction.getTransactionRelations();
|
||||
Long originalTransactionId = transactionRelations.stream().map(GetLoansLoanIdLoanTransactionRelation::getToLoanTransaction)
|
||||
.filter(Objects::nonNull).findFirst()
|
||||
.orElseThrow(() -> new IllegalStateException("Transaction was reversed, but not replayed!"));
|
||||
|
||||
// Check whether reverse-replay event got occurred
|
||||
eventAssertion.assertEvent(LoanAdjustTransactionBusinessEvent.class, originalTransactionId).extractingData(
|
||||
e -> e.getNewTransactionDetail() != null && e.getNewTransactionDetail().getId().equals(loadTransaction.getId()));
|
||||
eventAssertion.assertEvent(LoanAdjustTransactionBusinessEvent.class, originalTransactionId)
|
||||
.extractingData(LoanTransactionAdjustmentDataV1::getNewTransactionDetail).isNotEqualTo(null)
|
||||
.extractingData(e -> e.getNewTransactionDetail().getId()).isEqualTo(loanTransaction.getId());
|
||||
// Check whether there was just ONE event related to this transaction
|
||||
eventAssertion.assertEventNotRaised(LoanAdjustTransactionBusinessEvent.class, originalTransactionId);
|
||||
assertThat(FORMATTER.format(loadTransaction.getSubmittedOnDate()))
|
||||
.as("Loan got replayed on %s", loadTransaction.getSubmittedOnDate()).isEqualTo(submittedOnDate);
|
||||
assertThat(FORMATTER.format(loanTransaction.getSubmittedOnDate()))
|
||||
.as("Loan got replayed on %s", loanTransaction.getSubmittedOnDate()).isEqualTo(submittedOnDate);
|
||||
}
|
||||
|
||||
@Then("Store {string} transaction created on {string} date as {string}th transaction")
|
||||
public void storeLoanTransactionId(String transactionType, String transactionDate, String nthTrnOrderNumber) throws IOException {
|
||||
GetLoansLoanIdTransactions loanTransaction = getLoanTransactionIdByDate(transactionType, transactionDate);
|
||||
if (nthTrnOrderNumber.equals("1")) {
|
||||
testContext().set(TestContextKey.LOAN_TRANSACTION_RESPONSE, loanTransaction);
|
||||
} else {
|
||||
testContext().set(TestContextKey.LOAN_SECOND_TRANSACTION_RESPONSE, loanTransaction);
|
||||
}
|
||||
}
|
||||
|
||||
@Then("LoanAdjustTransactionBusinessEvent is raised with transaction got reversed on {string}")
|
||||
public void checkLoanAdjustTransactionBusinessEventWithReversedTrn(String submittedOnDate) throws IOException {
|
||||
GetLoansLoanIdTransactions originalTransaction = testContext().get(TestContextKey.LOAN_TRANSACTION_RESPONSE);
|
||||
Long originalTransactionId = originalTransaction.getId();
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse loanTransaction = getLoanTransactionIdById(originalTransactionId);
|
||||
|
||||
// Check whether reversed event got occurred
|
||||
eventAssertion.assertEvent(LoanAdjustTransactionBusinessEvent.class, originalTransactionId)
|
||||
.extractingData(LoanTransactionAdjustmentDataV1::getNewTransactionDetail).isEqualTo(null)
|
||||
.extractingData(e -> e.getTransactionToAdjust().getId()).isEqualTo(originalTransactionId);
|
||||
// Check whether there was just ONE event related to this transaction
|
||||
eventAssertion.assertEventNotRaised(LoanAdjustTransactionBusinessEvent.class, originalTransactionId);
|
||||
assertThat(FORMATTER.format(loanTransaction.getReversedOnDate())).as("Loan got replayed on %s", loanTransaction.getReversedOnDate())
|
||||
.isEqualTo(submittedOnDate);
|
||||
}
|
||||
|
||||
@Then("LoanAdjustTransactionBusinessEvent is raised with transaction on {string} got reversed on {string}")
|
||||
public void checkLoanAdjustTransactionBusinessEventWithReversedTrn(String transactionDate, String submittedOnDate) throws IOException {
|
||||
Long originalTransactionId;
|
||||
GetLoansLoanIdTransactions loanTransaction1 = testContext().get(TestContextKey.LOAN_TRANSACTION_RESPONSE);
|
||||
GetLoansLoanIdTransactions loanTransaction2 = testContext().get(TestContextKey.LOAN_SECOND_TRANSACTION_RESPONSE);
|
||||
if (FORMATTER.format(loanTransaction1.getDate()).equals(transactionDate)) {
|
||||
originalTransactionId = loanTransaction1.getId();
|
||||
} else {
|
||||
originalTransactionId = loanTransaction2.getId();
|
||||
}
|
||||
GetLoansLoanIdTransactionsTransactionIdResponse loanTransaction = getLoanTransactionIdById(originalTransactionId);
|
||||
|
||||
// Check whether reversedevent got occurred
|
||||
eventAssertion.assertEvent(LoanAdjustTransactionBusinessEvent.class, originalTransactionId)
|
||||
.extractingData(e -> e.getTransactionToAdjust().getId()).isEqualTo(originalTransactionId)
|
||||
.extractingData(LoanTransactionAdjustmentDataV1::getNewTransactionDetail).isEqualTo(null);
|
||||
// Check whether there was just ONE event related to this transaction
|
||||
eventAssertion.assertEventNotRaised(LoanAdjustTransactionBusinessEvent.class, originalTransactionId);
|
||||
assertThat(FORMATTER.format(loanTransaction.getReversedOnDate())).as("Loan got replayed on %s", loanTransaction.getReversedOnDate())
|
||||
.isEqualTo(submittedOnDate);
|
||||
}
|
||||
|
||||
@When("Save external ID of {string} transaction made on {string} as {string}")
|
||||
public void saveExternalIdForTransaction(String transactionName, String transactionDate, String externalIdKey) throws IOException {
|
||||
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
|
||||
long loanId = loanCreateResponse.body().getLoanId();
|
||||
GetLoansLoanIdTransactions loanTransaction = getLoanTransactionIdByDate(transactionName, transactionDate);
|
||||
|
||||
Response<GetLoansLoanIdResponse> loanDetailsResponse = loansApi.retrieveLoan(loanId, false, "transactions", "", "").execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(loanDetailsResponse);
|
||||
|
||||
List<GetLoansLoanIdTransactions> transactions = loanDetailsResponse.body().getTransactions();
|
||||
|
||||
GetLoansLoanIdTransactions loadTransaction = transactions.stream()
|
||||
.filter(t -> transactionDate.equals(FORMATTER.format(t.getDate())) && transactionName.equals(t.getType().getValue()))
|
||||
.findFirst().orElseThrow(
|
||||
() -> new IllegalStateException(String.format("No %s transaction found on %s", transactionName, transactionDate)));
|
||||
|
||||
String externalId = loadTransaction.getExternalId();
|
||||
String externalId = loanTransaction.getExternalId();
|
||||
testContext().set(externalIdKey, externalId);
|
||||
log.debug("Transaction external ID: {} saved to testContext", externalId);
|
||||
}
|
||||
@@ -2975,15 +3034,7 @@ public class LoanStepDef extends AbstractStepDef {
|
||||
Response<PostLoansResponse> loanCreateResponse = testContext().get(TestContextKey.LOAN_CREATE_RESPONSE);
|
||||
long loanId = loanCreateResponse.body().getLoanId();
|
||||
|
||||
Response<GetLoansLoanIdResponse> loanDetailsResponse = loansApi.retrieveLoan(loanId, false, "transactions", "", "").execute();
|
||||
ErrorHelper.checkSuccessfulApiCall(loanDetailsResponse);
|
||||
|
||||
List<GetLoansLoanIdTransactions> transactions = loanDetailsResponse.body().getTransactions();
|
||||
|
||||
GetLoansLoanIdTransactions transactionDetails = transactions.stream()
|
||||
.filter(t -> transactionDate.equals(FORMATTER.format(t.getDate())) && transactionType.equals(t.getType().getValue()))
|
||||
.findFirst().orElseThrow(
|
||||
() -> new IllegalStateException(String.format("No %s transaction found on %s", transactionType, transactionDate)));
|
||||
GetLoansLoanIdTransactions transactionDetails = getLoanTransactionIdByDate(transactionType, transactionDate);
|
||||
|
||||
Set<GetLoansLoanIdLoanTransactionRelation> transactionRelations = transactionDetails.getTransactionRelations();
|
||||
Long originalTransactionId = transactionRelations.stream().map(GetLoansLoanIdLoanTransactionRelation::getToLoanTransaction)
|
||||
|
||||
+1
@@ -245,6 +245,7 @@ public abstract class TestContextKey {
|
||||
public static final String LOAN_WRITE_OFF_RESPONSE = "loanWriteOffResponse";
|
||||
public static final String LOAN_DELINQUENCY_ACTION_RESPONSE = "loanDelinquencyActionResponse";
|
||||
public static final String LOAN_TRANSACTION_RESPONSE = "loanTransactionResponse";
|
||||
public static final String LOAN_SECOND_TRANSACTION_RESPONSE = "loanSecondTransactionResponse";
|
||||
public static final String LOAN_CAPITALIZED_INCOME_RESPONSE = "loanCapitalizedIncomeResponse";
|
||||
public static final String LOAN_DISBURSEMENT_DETAIL_RESPONSE = "loanDisbursementDetailResponse";
|
||||
public static final String LOAN_CAPITALIZED_INCOME_AMORTIZATION_ID = "loanCapitalizedIncomeAmortizationId";
|
||||
|
||||
@@ -27,27 +27,23 @@ Feature: BusinessDate
|
||||
When Admin runs the Increase Business Date by 1 day job
|
||||
Then Admin checks that the business date is correctly set to "11 July 2022"
|
||||
|
||||
@TestRailId:C3953
|
||||
Scenario: Verify set incorrect business date with empty value handled correct with accordance error message - UC1
|
||||
When Set incorrect business date with empty value "null" outcomes with an error
|
||||
|
||||
@TestRailId:C3954
|
||||
Scenario: Verify set incorrect business date with null value handled correct with accordance error message - UC2
|
||||
When Set incorrect business date with empty value "" outcomes with an error
|
||||
Scenario Outline: Verify set incorrect business date with null or empty value handled correct with accordance error message - UC1
|
||||
When Set incorrect business date with empty value <empty_biz_date_value> outcomes with an error
|
||||
|
||||
@TestRailId:C3955
|
||||
Scenario: Verify set incorrect business date value handled correct with accordance error message - UC3
|
||||
When Set incorrect business date value "15" outcomes with an error
|
||||
|
||||
@TestRailId:C3956
|
||||
Scenario: Verify set incorrect business date value handled correct with accordance error message - UC4
|
||||
When Set incorrect business date value "11 15 2025" outcomes with an error
|
||||
|
||||
@TestRailId:C_3957
|
||||
Scenario: Verify set incorrect business date value handled correct with accordance error message - UC5
|
||||
When Set incorrect business date value "August 12 2025" outcomes with an error
|
||||
Examples:
|
||||
| empty_biz_date_value |
|
||||
| "" |
|
||||
| "null" |
|
||||
|
||||
@TestRailId:C3958
|
||||
Scenario: Verify set incorrect business date value handled correct with accordance error message - UC6
|
||||
When Set incorrect business date value "33 August 2025" outcomes with an error
|
||||
Scenario Outline: Verify set incorrect business date value handled correct with accordance error message - UC2
|
||||
When Set incorrect business date value "<incorrect_biz_date_value>" outcomes with an error
|
||||
|
||||
Examples:
|
||||
| incorrect_biz_date_value |
|
||||
| 33 August 2025 |
|
||||
| August 12 2025 |
|
||||
| 11 15 2025 |
|
||||
| 15 |
|
||||
|
||||
|
||||
@@ -5,14 +5,15 @@ Feature: Configuration
|
||||
Scenario: Verify update currency with empty value handled correct with accordance error message - UC1
|
||||
When Update currency with incorrect empty value outcomes with an error
|
||||
|
||||
@TestRailId:C3960
|
||||
Scenario: Verify update currency with null value handled correct with accordance error message - UC2
|
||||
When Update currency with incorrect null value outcomes with an error
|
||||
|
||||
@TestRailId:C3961
|
||||
Scenario: Verify update currency as NULL value handled correct with accordance error message - UC3
|
||||
Scenario: Verify update currency as NULL value handled correct with accordance error message - UC2
|
||||
When Update currency as NULL value outcomes with an error
|
||||
|
||||
@TestRailId:C3962
|
||||
Scenario: Verify update currency with incorrect value handled correct with accordance error message - UC4
|
||||
When Update currency as "string" value outcomes with an error
|
||||
Scenario Outline: Verify update currency with incorrect/null value handled correct with accordance error message - UC3
|
||||
When Update currency as <incorrect_config_value> value outcomes with an error
|
||||
|
||||
Examples:
|
||||
| incorrect_config_value |
|
||||
| "string" |
|
||||
| "null" |
|
||||
|
||||
@@ -3455,7 +3455,7 @@ Feature: LoanAccrualActivity
|
||||
| 16 January 2025 | Repayment | 10.0 | 0.32 | 0.0 | 0.0 | 0.0 | 0.0 | true | false |
|
||||
| 16 January 2025 | Accrual | 0.32 | 0.0 | 0.32 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
# --- check if 'Accrual Activity' is reversed and has non-null external-id
|
||||
Then Check required transaction for non-null eternal-id
|
||||
Then Check required "1"th transaction for non-null eternal-id
|
||||
Then In Loan Transactions all transactions have non-null external-id
|
||||
|
||||
@TestRailId:C3398
|
||||
@@ -5343,7 +5343,6 @@ Feature: LoanAccrualActivity
|
||||
| 01 July 2024 | Repayment | 340.17 | 336.11 | 1.96 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 July 2024 | Accrual Activity | 1.96 | 0.0 | 1.96 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
|
||||
@TestRailId:C3525
|
||||
Scenario: Verify accrual activity behavior in case of backdated repayment - UC1
|
||||
When Admin sets the business date to "01 January 2025"
|
||||
@@ -7785,7 +7784,7 @@ Feature: LoanAccrualActivity
|
||||
When Admin sets the business date to "13 June 2025"
|
||||
And Admin creates a client with random data
|
||||
And Admin creates a fully customized loan with the following data:
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_REFUND_INTEREST_RECALC_ACCRUAL_ACTIVITY | 13 June 2025 | 135.94 | 11.32 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
||||
And Admin successfully approves the loan on "13 June 2025" with "135.94" amount and expected disbursement date on "13 June 2025"
|
||||
And Admin successfully disburse the loan on "13 June 2025" with "135.94" EUR transaction amount
|
||||
@@ -8244,4 +8243,853 @@ Feature: LoanAccrualActivity
|
||||
| 18 July 2025 | Accrual Adjustment | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 July 2025 | Accrual | 0.02 | 0.0 | 0.02 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
@TestRailId:C3955
|
||||
Scenario: Verify accrual activity trn just reversed but nt replayed with backdated repayment that overpays loan - UC1
|
||||
When Admin sets the business date to "01 August 2025"
|
||||
And Admin creates a client with random data
|
||||
And Admin creates a fully customized loan with the following data:
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_REFUND_INTEREST_RECALC_ACCRUAL_ACTIVITY | 01 August 2025 | 135.94 | 11.32 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
||||
And Admin successfully approves the loan on "01 August 2025" with "135.94" amount and expected disbursement date on "01 August 2025"
|
||||
And Admin successfully disburse the loan on "01 August 2025" with "135.94" EUR transaction amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.61 | 33.82 | 0.97 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.47 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.47 | 0.33 | 0.0 | 0.0 | 34.8 | 0.0 | 0.0 | 0.0 | 34.8 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.23 | 0.0 | 0.0 | 139.17 | 0.0 | 0.0 | 0.0 | 139.17 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
When Admin sets the business date to "02 August 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
|
||||
When Admin sets the business date to "06 October 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.92 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.88 | 34.04 | 0.75 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.88 | 0.33 | 0.0 | 0.0 | 35.21 | 0.0 | 0.0 | 0.0 | 35.21 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.64 | 0.0 | 0.0 | 139.58 | 0.0 | 0.0 | 0.0 | 139.58 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 October 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 October 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
And Store "Accrual Activity" transaction created on "01 September 2025" date as "1"th transaction
|
||||
And Store "Accrual Activity" transaction created on "01 October 2025" date as "2"th transaction
|
||||
|
||||
# --- backdated repayment on 01 August 2025 ---
|
||||
And Admin makes "REPAYMENT" transaction with "AUTOPAY" payment type on "01 August 2025" with 140 EUR transaction amount
|
||||
And Loan status will be "OVERPAID"
|
||||
And Loan has 4.06 overpaid amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | 01 August 2025 | 101.15 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 2 | 30 | 01 October 2025 | 01 August 2025 | 66.36 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 3 | 31 | 01 November 2025 | 01 August 2025 | 31.57 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 4 | 30 | 01 December 2025 | 01 August 2025 | 0.0 | 31.57 | 0.0 | 0.0 | 0.0 | 31.57 | 31.57 | 31.57 | 0.0 | 0.0 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 0.0 | 0.0 | 0.0 | 135.94 | 135.94 | 135.94 | 0.0 | 0.0 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 01 August 2025 | Repayment | 140.0 | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 October 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 October 2025 | Accrual Adjustment | 2.73 | 0.0 | 2.73 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction on "01 September 2025" got reversed on "06 October 2025"
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction on "01 October 2025" got reversed on "06 October 2025"
|
||||
|
||||
And Check required "1"th transaction for non-null eternal-id
|
||||
And Check required "2"th transaction for non-null eternal-id
|
||||
And In Loan Transactions all transactions have non-null external-id
|
||||
|
||||
When Admin makes Credit Balance Refund transaction on "06 October 2025" with 4.06 EUR transaction amount
|
||||
Then Loan's all installments have obligations met
|
||||
|
||||
@TestRailId:C3956
|
||||
Scenario: Verify accrual activity trn just reversed but not replayed with backdated repayment that fully pays loan and charge - UC2
|
||||
When Admin sets the business date to "01 August 2025"
|
||||
And Admin creates a client with random data
|
||||
And Admin creates a fully customized loan with the following data:
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_REFUND_INTEREST_RECALC_ACCRUAL_ACTIVITY | 01 August 2025 | 135.94 | 11.32 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
||||
And Admin successfully approves the loan on "01 August 2025" with "135.94" amount and expected disbursement date on "01 August 2025"
|
||||
And Admin successfully disburse the loan on "01 August 2025" with "135.94" EUR transaction amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.61 | 33.82 | 0.97 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.47 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.47 | 0.33 | 0.0 | 0.0 | 34.8 | 0.0 | 0.0 | 0.0 | 34.8 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.23 | 0.0 | 0.0 | 139.17 | 0.0 | 0.0 | 0.0 | 139.17 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
When Admin sets the business date to "02 August 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
|
||||
When Admin sets the business date to "06 October 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.92 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.88 | 34.04 | 0.75 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.88 | 0.33 | 0.0 | 0.0 | 35.21 | 0.0 | 0.0 | 0.0 | 35.21 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.64 | 0.0 | 0.0 | 139.58 | 0.0 | 0.0 | 0.0 | 139.58 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 October 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 October 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
And Store "Accrual Activity" transaction created on "01 September 2025" date as "1"th transaction
|
||||
And Store "Accrual Activity" transaction created on "01 October 2025" date as "2"th transaction
|
||||
|
||||
When Admin adds "LOAN_NSF_FEE" due date charge with "06 October 2025" due date and 9.8 EUR transaction amount
|
||||
Then Loan Charges tab has the following data:
|
||||
| Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding |
|
||||
| NSF fee | true | Specified due date | 06 October 2025 | Flat | 9.8 | 0.0 | 0.0 | 9.8 |
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.92 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.88 | 34.04 | 0.75 | 0.0 | 9.8 | 44.59 | 0.0 | 0.0 | 0.0 | 44.59 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.88 | 0.33 | 0.0 | 0.0 | 35.21 | 0.0 | 0.0 | 0.0 | 35.21 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.64 | 0.0 | 9.8 | 149.38 | 0.0 | 0.0 | 0.0 | 149.38 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 October 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 October 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
When Admin sets the business date to "07 October 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
# --- backdated repayment on 01 August 2025 ---
|
||||
And Admin makes "REPAYMENT" transaction with "AUTOPAY" payment type on "01 August 2025" with 145.74 EUR transaction amount
|
||||
Then Loan status will be "CLOSED_OBLIGATIONS_MET"
|
||||
Then Loan has 0 outstanding amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | 01 August 2025 | 101.15 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 2 | 30 | 01 October 2025 | 01 August 2025 | 66.36 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 3 | 31 | 01 November 2025 | 01 August 2025 | 31.57 | 34.79 | 0.0 | 0.0 | 9.8 | 44.59 | 44.59 | 44.59 | 0.0 | 0.0 |
|
||||
| 4 | 30 | 01 December 2025 | 01 August 2025 | 0.0 | 31.57 | 0.0 | 0.0 | 0.0 | 31.57 | 31.57 | 31.57 | 0.0 | 0.0 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 0.0 | 0.0 | 9.8 | 145.74 | 145.74 | 145.74 | 0.0 | 0.0 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 01 August 2025 | Repayment | 145.74 | 135.94 | 0.0 | 0.0 | 9.8 | 0.0 | false | false |
|
||||
| 01 August 2025 | Accrual Activity | 9.8 | 0.0 | 0.0 | 0.0 | 9.8 | 0.0 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 October 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 October 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 October 2025 | Accrual | 9.84 | 0.0 | 0.04 | 0.0 | 9.8 | 0.0 | false | false |
|
||||
| 07 October 2025 | Accrual Adjustment | 2.77 | 0.0 | 2.77 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction on "01 September 2025" got reversed on "07 October 2025"
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction on "01 October 2025" got reversed on "07 October 2025"
|
||||
|
||||
And Check required "1"th transaction for non-null eternal-id
|
||||
And Check required "2"th transaction for non-null eternal-id
|
||||
And In Loan Transactions all transactions have non-null external-id
|
||||
|
||||
@TestRailId:C3957
|
||||
Scenario: Verify accrual activity trn just reversed but not replayed with backdated repayment that fully pays loan - UC3
|
||||
When Admin sets the business date to "01 August 2025"
|
||||
And Admin creates a client with random data
|
||||
And Admin creates a fully customized loan with the following data:
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_REFUND_INTEREST_RECALC_ACCRUAL_ACTIVITY | 01 August 2025 | 135.94 | 11.32 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
||||
And Admin successfully approves the loan on "01 August 2025" with "135.94" amount and expected disbursement date on "01 August 2025"
|
||||
And Admin successfully disburse the loan on "01 August 2025" with "135.94" EUR transaction amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.61 | 33.82 | 0.97 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.47 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.47 | 0.33 | 0.0 | 0.0 | 34.8 | 0.0 | 0.0 | 0.0 | 34.8 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.23 | 0.0 | 0.0 | 139.17 | 0.0 | 0.0 | 0.0 | 139.17 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
When Admin sets the business date to "02 August 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
|
||||
When Admin sets the business date to "06 September 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.66 | 33.77 | 1.02 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.52 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.52 | 0.33 | 0.0 | 0.0 | 34.85 | 0.0 | 0.0 | 0.0 | 34.85 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.28 | 0.0 | 0.0 | 139.22 | 0.0 | 0.0 | 0.0 | 139.22 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
And Store "Accrual Activity" transaction created on "01 September 2025" date as "1"th transaction
|
||||
|
||||
# --- backdated repayment on 01 August 2025 ---
|
||||
And Admin makes "REPAYMENT" transaction with "AUTOPAY" payment type on "01 August 2025" with 135.94 EUR transaction amount
|
||||
Then Loan status will be "CLOSED_OBLIGATIONS_MET"
|
||||
Then Loan has 0 outstanding amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | 01 August 2025 | 101.15 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 2 | 30 | 01 October 2025 | 01 August 2025 | 66.36 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 3 | 31 | 01 November 2025 | 01 August 2025 | 31.57 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79 | 34.79 | 0.0 | 0.0 |
|
||||
| 4 | 30 | 01 December 2025 | 01 August 2025 | 0.0 | 31.57 | 0.0 | 0.0 | 0.0 | 31.57 | 31.57 | 31.57 | 0.0 | 0.0 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 0.0 | 0.0 | 0.0 | 135.94 | 135.94 | 135.94 | 0.0 | 0.0 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 01 August 2025 | Repayment | 135.94 | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual Adjustment | 1.45 | 0.0 | 1.45 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction got reversed on "06 September 2025"
|
||||
And LoanAccrualAdjustmentTransactionBusinessEvent is raised on "06 September 2025"
|
||||
|
||||
And Check required "1"th transaction for non-null eternal-id
|
||||
And In Loan Transactions all transactions have non-null external-id
|
||||
|
||||
@TestRailId:C3953
|
||||
Scenario: Verify accrual activity trn just reversed but not replayed with backdated repayment that overpays loan and Snooze fee charge - UC4
|
||||
When Admin sets the business date to "01 August 2025"
|
||||
And Admin creates a client with random data
|
||||
And Admin creates a fully customized loan with the following data:
|
||||
| LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy |
|
||||
| LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_REFUND_INTEREST_RECALC_ACCRUAL_ACTIVITY | 01 August 2025 | 135.94 | 11.32 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 4 | MONTHS | 1 | MONTHS | 4 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION |
|
||||
And Admin successfully approves the loan on "01 August 2025" with "135.94" amount and expected disbursement date on "01 August 2025"
|
||||
And Admin successfully disburse the loan on "01 August 2025" with "135.94" EUR transaction amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.61 | 33.82 | 0.97 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.47 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.47 | 0.33 | 0.0 | 0.0 | 34.8 | 0.0 | 0.0 | 0.0 | 34.8 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.23 | 0.0 | 0.0 | 139.17 | 0.0 | 0.0 | 0.0 | 139.17 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
When Admin sets the business date to "02 August 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
|
||||
When Admin sets the business date to "06 September 2025"
|
||||
When Admin runs inline COB job for Loan
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.66 | 33.77 | 1.02 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.52 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.52 | 0.33 | 0.0 | 0.0 | 34.85 | 0.0 | 0.0 | 0.0 | 34.85 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.28 | 0.0 | 0.0 | 139.22 | 0.0 | 0.0 | 0.0 | 139.22 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
And Store "Accrual Activity" transaction created on "01 September 2025" date as "1"th transaction
|
||||
|
||||
# --- NSF fee charge on current date --- #
|
||||
And Admin adds "LOAN_SNOOZE_FEE" due date charge with "06 September 2025" due date and 10.15 EUR transaction amount
|
||||
Then Loan Charges tab has the following data:
|
||||
| Name | isPenalty | Payment due at | Due as of | Calculation type | Due | Paid | Waived | Outstanding |
|
||||
| Snooze fee | false | Specified due date | 06 September 2025 | Flat | 10.15 | 0.0 | 0.0 | 10.15 |
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | | 102.43 | 33.51 | 1.28 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 2 | 30 | 01 October 2025 | | 68.66 | 33.77 | 1.02 | 10.15| 0.0 | 44.94 | 0.0 | 0.0 | 0.0 | 44.94 |
|
||||
| 3 | 31 | 01 November 2025 | | 34.52 | 34.14 | 0.65 | 0.0 | 0.0 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 |
|
||||
| 4 | 30 | 01 December 2025 | | 0.0 | 34.52 | 0.33 | 0.0 | 0.0 | 34.85 | 0.0 | 0.0 | 0.0 | 34.85 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 3.28 | 10.15 | 0.0 | 149.37 | 0.0 | 0.0 | 0.0 | 149.37 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 01 September 2025 | Accrual Activity | 1.28 | 0.0 | 1.28 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
# --- backdated repayment on 01 August 2025 ---
|
||||
And Admin makes "REPAYMENT" transaction with "AUTOPAY" payment type on "01 August 2025" with 150 EUR transaction amount
|
||||
And Loan status will be "OVERPAID"
|
||||
And Loan has 3.91 overpaid amount
|
||||
Then Loan Repayment schedule has 4 periods, with the following data for periods:
|
||||
| Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| | | 01 August 2025 | | 135.94 | | | 0.0 | | 0.0 | 0.0 | | | |
|
||||
| 1 | 31 | 01 September 2025 | 01 August 2025 | 101.15 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79| 34.79 | 0.0 | 0.0 |
|
||||
| 2 | 30 | 01 October 2025 | 01 August 2025 | 66.36 | 34.79 | 0.0 | 10.15| 0.0 | 44.94 | 44.94| 44.94 | 0.0 | 0.0 |
|
||||
| 3 | 31 | 01 November 2025 | 01 August 2025 | 31.57 | 34.79 | 0.0 | 0.0 | 0.0 | 34.79 | 34.79| 34.79 | 0.0 | 0.0 |
|
||||
| 4 | 30 | 01 December 2025 | 01 August 2025 | 0.0 | 31.57 | 0.0 | 0.0 | 0.0 | 31.57 | 31.57| 31.57 | 0.0 | 0.0 |
|
||||
And Loan Repayment schedule has the following data in Total row:
|
||||
| Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding |
|
||||
| 135.94 | 0.0 | 10.15 | 0.0 | 146.09 | 146.09 | 146.09 | 0.0 | 0.0 |
|
||||
And Loan Transactions tab has the following data:
|
||||
| Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed |
|
||||
| 01 August 2025 | Disbursement | 135.94 | 0.0 | 0.0 | 0.0 | 0.0 | 135.94 | false | false |
|
||||
| 01 August 2025 | Repayment | 150.0 | 135.94 | 0.0 | 10.15| 0.0 | 0.0 | false | false |
|
||||
| 01 August 2025 | Accrual Activity | 10.15 | 0.0 | 0.0 | 10.15| 0.0 | 0.0 | false | false |
|
||||
| 02 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 07 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 08 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 09 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 10 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 11 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 12 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 13 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 14 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 15 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 16 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 17 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 18 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 19 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 20 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 21 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 22 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 23 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 24 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 25 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 26 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 27 August 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 28 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 29 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 30 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 31 August 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
| 01 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 02 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 03 September 2025 | Accrual | 0.05 | 0.0 | 0.05 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 04 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 05 September 2025 | Accrual | 0.04 | 0.0 | 0.04 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual | 10.15 | 0.0 | 0.0 | 10.15| 0.0 | 0.0 | false | false |
|
||||
| 06 September 2025 | Accrual Adjustment | 1.45 | 0.0 | 1.45 | 0.0 | 0.0 | 0.0 | false | false |
|
||||
|
||||
And LoanAdjustTransactionBusinessEvent is raised with transaction got reversed on "06 September 2025"
|
||||
And LoanAccrualAdjustmentTransactionBusinessEvent is raised on "06 September 2025"
|
||||
|
||||
And Check required "1"th transaction for non-null eternal-id
|
||||
And In Loan Transactions all transactions have non-null external-id
|
||||
|
||||
When Admin makes Credit Balance Refund transaction on "06 September 2025" with 3.91 EUR transaction amount
|
||||
Then Loan's all installments have obligations met
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user