diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
index d6e4ddc07..48caed1c6 100644
--- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
+++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
@@ -440,7 +440,7 @@
}
@if (loanProduct.inArrearsTolerance) {
- {{ 'labels.inputs.Arrears tolerance' | translate }}:
+ Allowed pending EMI amount:
{{ loanProduct.inArrearsTolerance }}
}
@@ -720,7 +720,7 @@
{{ loanProduct.allowAttributeOverrides.interestCalculationPeriodType | yesNo }}
- {{ 'labels.inputs.Arrears tolerance' | translate }}:
+ Allowed pending EMI amount:
{{ loanProduct.allowAttributeOverrides.inArrearsTolerance | yesNo }}
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-accounting-step/loan-product-accounting-step.component.ts b/src/app/products/loan-products/loan-product-stepper/loan-product-accounting-step/loan-product-accounting-step.component.ts
index 0c3861aa0..4b3880fd6 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-accounting-step/loan-product-accounting-step.component.ts
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-accounting-step/loan-product-accounting-step.component.ts
@@ -203,7 +203,14 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
incomeFromGoodwillCreditPenaltyAccountId: accountingMappings.incomeFromGoodwillCreditPenaltyAccount?.id || '',
receivableInterestAccountId: accountingMappings.receivableInterestAccount?.id || '',
receivableFeeAccountId: accountingMappings.receivableFeeAccount?.id || '',
- receivablePenaltyAccountId: accountingMappings.receivablePenaltyAccount?.id || ''
+ receivablePenaltyAccountId: accountingMappings.receivablePenaltyAccount?.id || '',
+ intReceivablesGlAccountId: accountingMappings.intReceivablesGlAccount?.id || '',
+ intPayableGlAccountId: accountingMappings.intPayableGlAccount?.id || '',
+ deafIntPayableGlAccountId: accountingMappings.deafIntPayableGlAccount?.id || '',
+ intOverdueReserveAccountId: accountingMappings.intOverdueReserveAccount?.id || '',
+ undebitedInterestAccountId: accountingMappings.undebitedInterestAccount?.id || '',
+ penalIntCrGlAccountId: accountingMappings.penalIntCrGlAccount?.id || '',
+ rdMaturedGlAccountId: accountingMappings.rdMaturedGlAccount?.id || ''
});
if (this.loanProductsTemplate.paymentChannelToFundSourceMappings) {
@@ -271,7 +278,14 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
'incomeFromGoodwillCreditPenaltyAccountId',
'receivableInterestAccountId',
'receivableFeeAccountId',
- 'receivablePenaltyAccountId'
+ 'receivablePenaltyAccountId',
+ 'intReceivablesGlAccountId',
+ 'intPayableGlAccountId',
+ 'deafIntPayableGlAccountId',
+ 'intOverdueReserveAccountId',
+ 'undebitedInterestAccountId',
+ 'penalIntCrGlAccountId',
+ 'rdMaturedGlAccountId'
];
commonFields.forEach((field) => {
if (!this.loanProductAccountingForm.contains(field)) {
@@ -690,6 +704,38 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
options: this.assetAccountData,
required: true,
accrualOnly: true
+ },
+ {
+ key: 'intReceivablesGlAccountId',
+ label: 'Int. Receivables GL A/c',
+ inputLabel: 'Int. Receivables GL A/c',
+ controlName: 'intReceivablesGlAccountId',
+ options: this.assetAccountData,
+ required: false
+ },
+ {
+ key: 'deafIntPayableGlAccountId',
+ label: 'Deaf Int. Payble GL A/c',
+ inputLabel: 'Deaf Int. Payble GL A/c',
+ controlName: 'deafIntPayableGlAccountId',
+ options: this.assetAccountData,
+ required: false
+ },
+ {
+ key: 'intOverdueReserveAccountId',
+ label: 'Int. Overdue Reserve A/c (AS)',
+ inputLabel: 'Int. Overdue Reserve A/c',
+ controlName: 'intOverdueReserveAccountId',
+ options: this.assetAccountData,
+ required: false
+ },
+ {
+ key: 'rdMaturedGlAccountId',
+ label: 'RD Matured GL A/c',
+ inputLabel: 'RD Matured GL A/c',
+ controlName: 'rdMaturedGlAccountId',
+ options: this.assetAccountData,
+ required: false
}
],
otherMappingsControlName: 'assetsOtherGlMappings',
@@ -798,6 +844,14 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
options: this.incomeAccountData,
required: true,
deferredBuyDownOnly: true
+ },
+ {
+ key: 'penalIntCrGlAccountId',
+ label: 'Penal Int. Cr. GL A/c',
+ inputLabel: 'Penal Int. Cr. GL A/c',
+ controlName: 'penalIntCrGlAccountId',
+ options: this.incomeAccountData,
+ required: false
}
],
otherMappingsControlName: 'incomeOtherGlMappings',
@@ -876,6 +930,22 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
options: this.liabilityAccountData,
required: true,
deferredOnly: true
+ },
+ {
+ key: 'intPayableGlAccountId',
+ label: 'Int. Payable GL A/c',
+ inputLabel: 'Int. Payable GL A/c',
+ controlName: 'intPayableGlAccountId',
+ options: this.liabilityAccountData,
+ required: false
+ },
+ {
+ key: 'undebitedInterestAccountId',
+ label: 'UnDebited Interest A/c (LI)',
+ inputLabel: 'UnDebited Interest A/c',
+ controlName: 'undebitedInterestAccountId',
+ options: this.liabilityAccountData,
+ required: false
}
],
otherMappingsControlName: 'liabilitiesOtherGlMappings',
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-details-step/loan-product-details-step.component.html b/src/app/products/loan-products/loan-product-stepper/loan-product-details-step/loan-product-details-step.component.html
index 434640cec..49df9f6d2 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-details-step/loan-product-details-step.component.html
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-details-step/loan-product-details-step.component.html
@@ -91,6 +91,67 @@
+
+
+
+
+
+ Debit Int. Calculation
+
+ @for (opt of yesNoOptions; track opt.value) {
+ {{ opt.label }}
+ }
+
+
+
+
+ Separate Penal Int.
+
+ @for (opt of yesNoOptions; track opt.value) {
+ {{ opt.label }}
+ }
+
+
+
+
+ Credit Int. Calculation
+
+ @for (opt of yesNoOptions; track opt.value) {
+ {{ opt.label }}
+ }
+
+
+
+
+ Sub A/c Type Balance
+
+ @for (opt of yesNoOptions; track opt.value) {
+ {{ opt.label }}
+ }
+
+
+
+
+ Final Int. Rounding
+
+ @for (opt of yesNoOptions; track opt.value) {
+ {{ opt.label }}
+ }
+
+
+
+ @if (loanProductDetailsForm.get('finalIntRounding')?.value) {
+
+ Rounding UpTo
+
+
+ }
+
+
+
+
+
+
+
+
+
+ Debit Balance Allow
+
+ YES
+ NO
+
+
+
+
+ Allow Debit Trans After Due Date
+
+ YES
+ NO
+
+
+
+
+ Branch Level A/c Type
+
+ YES
+ NO
+
+
+
+
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-terms-step/loan-product-terms-step.component.ts b/src/app/products/loan-products/loan-product-stepper/loan-product-terms-step/loan-product-terms-step.component.ts
index b2b0cd069..9e457b6d8 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-terms-step/loan-product-terms-step.component.ts
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-terms-step/loan-product-terms-step.component.ts
@@ -108,7 +108,10 @@ export class LoanProductTermsStepComponent implements OnInit, OnChanges {
repaymentFrequencyType: this.loanProductsTemplate.repaymentFrequencyType.id,
minimumDaysBetweenDisbursalAndFirstRepayment:
this.loanProductsTemplate.minimumDaysBetweenDisbursalAndFirstRepayment,
- repaymentStartDateType: this.loanProductsTemplate.repaymentStartDateType.id || 1
+ repaymentStartDateType: this.loanProductsTemplate.repaymentStartDateType.id || 1,
+ debitBalanceAllow: this.loanProductsTemplate.debitBalanceAllow ?? false,
+ allowDebitTransAfterDueDate: this.loanProductsTemplate.allowDebitTransAfterDueDate ?? false,
+ branchLevelAccountType: this.loanProductsTemplate.branchLevelAccountType ?? false
});
if (this.loanProductsTemplate.allowApprovedDisbursedAmountsOverApplied) {
@@ -207,7 +210,10 @@ export class LoanProductTermsStepComponent implements OnInit, OnChanges {
[]
],
repaymentStartDateType: [1],
- fixedLength: [null]
+ fixedLength: [null],
+ debitBalanceAllow: [false],
+ allowDebitTransAfterDueDate: [false],
+ branchLevelAccountType: [false]
});
}