@if (currency) {
}
{{ 'labels.heading.Term Options' | translate }}
{{ 'labels.inputs.Loan Term' | translate }}
@if (loansAccountTermsForm.controls.loanTermFrequency.hasError('required')) {
{{ 'labels.inputs.Loan Term' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
{{ 'labels.inputs.Frequency' | translate }}
@for (type of termFrequencyTypeData; track type) {
{{ type.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsForm.controls.loanTermFrequencyType.hasError('required')) {
{{ 'labels.inputs.Frequency' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
@if (hasFixedLength()) {
{{ 'labels.inputs.Fixed Length' | translate }}
}
@if (hasFixedLength()) {
{{
loansAccountTermsForm.value.loanTermFrequencyType | find: termFrequencyTypeData : 'id' : 'value'
}}
}
{{ 'labels.inputs.Repayments' | translate }}
{{ 'labels.inputs.Number of repayments' | translate }}
@if (loansAccountTermsForm.controls.numberOfRepayments.hasError('required')) {
{{ 'labels.inputs.Number of repayments' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
@if (loansAccountTermsData?.canDefineInstallmentAmount) {
{{ 'labels.inputs.Installment Amount' | translate }}
}
{{ 'labels.inputs.First repayment on' | translate }}
{{ 'labels.inputs.Interest charged from' | translate }}
{{ 'labels.heading.Repaid Every' | translate }}
{{ 'labels.inputs.Repaid every' | translate }}
@if (loansAccountTermsForm.controls.repaymentEvery.hasError('required')) {
{{ 'labels.inputs.Repaid every' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
{{ 'labels.inputs.Frequency' | translate }}
@for (repaymentFrequencyType of termFrequencyTypeData; track repaymentFrequencyType) {
{{ repaymentFrequencyType.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsForm.controls.repaymentFrequencyType.value === 2) {
{{ 'labels.inputs.Select On' | translate }}
@for (repaymentFrequencyNthDayType of repaymentFrequencyNthDayTypeData; track repaymentFrequencyNthDayType) {
{{ repaymentFrequencyNthDayType.value | translateKey: 'catalogs' }}
}
}
@if (loansAccountTermsForm.controls.repaymentFrequencyType.value === 2) {
{{ 'labels.inputs.Select Day' | translate }}
@for (
repaymentFrequencyDayOfWeekType of repaymentFrequencyDaysOfWeekTypeData;
track repaymentFrequencyDayOfWeekType
) {
{{ repaymentFrequencyDayOfWeekType.value | translateKey: 'catalogs' }}
}
}
@if (productEnableDownPayment) {
{{ 'labels.inputs.Enable Down Payment' | translate }}
}
{{ 'labels.inputs.Nominal interest rate' | translate }}
@if (!loansAccountTermsData?.isLoanProductLinkedToFloatingRate) {
{{ 'labels.inputs.Nominal interest rate' | translate }} %
{{ 'labels.inputs.Frequency' | translate }}
@for (interestRateFrequencyType of interestRateFrequencyTypeData; track interestRateFrequencyType) {
{{ interestRateFrequencyType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Nominal interest rate frequency' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
{{ 'labels.inputs.Interest method' | translate }}
@for (interestType of interestTypeData; track interestType) {
{{ interestType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Amortization' | translate }}
@for (amortizationType of amortizationTypeData; track amortizationType) {
{{ amortizationType.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsForm.controls.amortizationType.hasError('required')) {
{{ 'labels.inputs.Amortization Type' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
@if (isEqualPrincipalPayments()) {
{{ 'labels.inputs.Principal Percentage Per Installment' | translate }}
}
{{ 'labels.inputs.Is Equal Amortization' | translate }}
}
@if (loansAccountTermsData?.isLoanProductLinkedToFloatingRate) {
{{ 'labels.inputs.Interest Method' | translate }}
@for (interestType of interestTypeData; track interestType) {
{{ interestType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Amortization' | translate }}
@for (amortizationType of amortizationTypeData; track amortizationType) {
{{ amortizationType.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsForm.controls.amortizationType.hasError('required')) {
{{ 'labels.inputs.Amortization Type' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
{{ 'labels.inputs.Is Floating Rate' | translate }}?
}
{{ 'labels.inputs.Loan Schedule' | translate }}
@if (loanScheduleType) {
{{ 'labels.inputs.Loan Schedule Type' | translate }}
{{ loanScheduleType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Repayment Strategy' | translate }}
@for (
transactionProcessingStrategy of transactionProcessingStrategyOptions;
track transactionProcessingStrategy
) {
{{ transactionProcessingStrategy.name | translateKey: 'catalogs' }}
}
@if (loansAccountTermsForm.controls.transactionProcessingStrategyCode.hasError('required')) {
{{ 'labels.inputs.Repayment Strategy' | translate }} {{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
{{ 'labels.heading.Interest Calculations' | translate }}
{{ 'labels.inputs.Interest calculation period' | translate }}
@for (interestCalculationPeriodType of interestCalculationPeriodTypeData; track interestCalculationPeriodType) {
{{ interestCalculationPeriodType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Calculate interest for exact days in partial period' | translate }}
@if (isProgressive) {
{{ 'labels.inputs.Is interest recognition on disbursement date?' | translate }}
}
{{ 'labels.inputs.Arrears tolerance' | translate }}
{{ 'labels.inputs.Interest free period' | translate }}
{{ 'labels.heading.Moratorium' | translate }}
{{ 'labels.inputs.Grace on principal payment' | translate }}
{{ 'labels.inputs.Grace on interest payment' | translate }}
{{ 'labels.inputs.On arrears ageing' | translate }}
@if (isDelinquencyEnabled()) {
{{ 'labels.inputs.Delinquency Bucket' | translate }}
{{ loanProduct?.delinquencyBucket.name }}
}
@if (isDelinquencyEnabled()) {
{{ 'labels.inputs.Enable installment level Delinquency' | translate }}
}
@if (loansAccountTermsData?.isTopup) {
{{ 'labels.inputs.Is Topup Loan' | translate }}?
@if (loansAccountTermsForm.controls.isTopup.value) {
{{ 'labels.inputs.Loan closed with Topup' | translate }}
@for (clientActiveLoan of clientActiveLoanData; track clientActiveLoan) {
{{ clientActiveLoan.accountNo }}
}
}
}
{{ 'labels.inputs.Recalculate Interest' | translate }}
{{ loansAccountTermsData?.isInterestRecalculationEnabled | yesNo }}
@if (loansAccountTermsData?.isInterestRecalculationEnabled) {
{{ 'labels.inputs.Days in year' | translate }}
{{ loansAccountTermsData.daysInYearType.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsData?.isInterestRecalculationEnabled) {
{{ 'labels.inputs.Days in month' | translate }}
{{ loansAccountTermsData.daysInMonthType.value | translateKey: 'catalogs' }}
}
@if (loansAccountTermsData?.isInterestRecalculationEnabled) {
{{ 'labels.inputs.Advance payments adjustment type' | translate }}
{{ loansAccountTermsData.interestRecalculationData.rescheduleStrategyType.value }}
}
@if (loansAccountTermsData?.isInterestRecalculationEnabled) {
{{ 'labels.inputs.Interest recalculation compounding on' | translate }}
{{
loansAccountTermsData.interestRecalculationData.interestRecalculationCompoundingType.value
| translateKey: 'catalogs'
}}
{{ 'labels.inputs.Frequency Interval for recalculation' | translate }}
{{ loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyType.value }}
@if (
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyType.id === 3 &&
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyWeekday
) {
on {{ loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyWeekday.value }}
}
@if (
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyType.id === 4 &&
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyOnDay
) {
on day {{ loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyOnDay }}
}
@if (
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyType.id === 4 &&
!loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyOnDay &&
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyNthDay
) {
on
{{ loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyNthDay.value }}
{{ loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyWeekday.value }}
}
}
@if (
loansAccountTermsData?.isInterestRecalculationEnabled &&
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyType.id !== 1
) {
{{ 'labels.inputs.Frequency Interval for recalculation' | translate }}
{{
loansAccountTermsData.interestRecalculationData.recalculationRestFrequencyInterval
}}
}
{{ 'labels.inputs.Enable income capitalization' | translate }}
{{ enableIncomeCapitalization | yesNo }}
{{ 'labels.inputs.Enable Buy down fee' | translate }}
{{ enableBuyDownFee | yesNo }}
@if (multiDisburseLoan) {
@if (allowAddDisbursementDetails()) {
{{ 'labels.heading.Loan Tranche Details' | translate }}
}
@if (isFullTermTrancheEditable()) {
{{ 'labels.inputs.Allow full term for each tranche' | translate }}
}
{{ 'labels.inputs.Maximum allowed outstanding balance' | translate }}
@if (loansAccountTermsForm.controls.maxOutstandingLoanBalance.hasError('required')) {
{{ 'labels.inputs.Maximum allowed outstanding balance' | translate }}
{{ 'labels.commons.is' | translate }}
{{ 'labels.commons.required' | translate }}
}
@if (!allowAddDisbursementDetails()) {
{{ 'labels.heading.Loan Tranche Details are not allowed for this Loan Product' | translate }}
}
| {{ 'labels.inputs.Expected Disbursement Date' | translate }} |
{{ row.expectedDisbursementDate | dateFormat }}
|
{{ 'labels.inputs.Principal' | translate }} |
{{ row.principal }}
|
{{ 'labels.inputs.Actions' | translate }} |
|
}
@if (
loansAccountTermsData?.isInterestRecalculationEnabled &&
loansAccountTermsData.interestRecalculationData.interestRecalculationCompoundingType.id !== 0
) {
{{ 'labels.inputs.Frequency for compounding' | translate }}
{{ loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyType.value }}
@if (
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyType.id === 3 &&
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyWeekday
) {
on {{ loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyWeekday.value }}
}
@if (
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyType.id === 4 &&
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyOnDay
) {
on day
{{ loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyOnDay }}
}
@if (
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyType.id === 4 &&
!loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyOnDay &&
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyNthDay
) {
on
{{ loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyNthDay.value }}
{{ loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyWeekday.value }}
}
}
@if (
loansAccountTermsData?.isInterestRecalculationEnabled &&
loansAccountTermsData.interestRecalculationData.interestRecalculationCompoundingType.id !== 0 &&
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyType.id !== 1
) {
{{ 'labels.inputs.Frequency Interval for compounding' | translate }}
{{
loansAccountTermsData.interestRecalculationData.recalculationCompoundingFrequencyInterval
}}
}
{{ 'labels.heading.Collaterals Data' | translate }}
| {{ 'labels.inputs.name' | translate }} |
{{ ele.type.name }} |
{{ 'labels.inputs.Quantity' | translate }} |
{{ ele.value }} |
{{ 'labels.inputs.Total Value' | translate }} |
{{ ele.type.basePrice * ele.value }} |
{{ 'labels.inputs.Total Collateral Value' | translate }} |
{{ (ele.type.pctToBase * ele.type.basePrice * ele.value) / 100 }} |
{{ 'labels.inputs.Actions' | translate }} |
|