{{ loanProduct.name }}
{{ 'labels.heading.Details' | translate }}
{{ 'labels.inputs.Short Name' | translate }}:
{{ loanProduct.shortName }}
@if (loanProduct.externalId) {
{{ 'labels.inputs.External Id' | translate }}:
{{ loanProduct.externalId }}
}
@if (loanProduct.fundId) {
{{ 'labels.inputs.Fund' | translate }}:
{{ loanProduct.fundName }}
}
{{ 'labels.inputs.Include in Customer Loan Counter' | translate }}:
{{ loanProduct.includeInBorrowerCycle | yesNo }}
@if (loanProduct.startDate) {
{{ 'labels.inputs.Start Date' | translate }}:
{{ loanProduct.startDate | dateFormat }}
}
@if (loanProduct.closeDate) {
{{ 'labels.inputs.Close Date' | translate }}:
{{ loanProduct.closeDate | dateFormat }}
}
@if (loanProduct.description) {
{{ 'labels.inputs.Description' | translate }}:
{{ loanProduct.description }}
}
{{ 'labels.inputs.Currency' | translate }}
{{ 'labels.inputs.Currency' | translate }}:
{{ loanProduct.currency.code }}
{{ 'labels.inputs.Currency' | translate }}:
{{ loanProduct.currency.displayLabel }}
{{ 'labels.inputs.Decimal Places' | translate }}:
{{ loanProduct.currency.decimalPlaces }}
{{ 'labels.inputs.Currency in multiples of' | translate }}:
{{ loanProduct.currency.inMultiplesOf }}
{{ 'labels.inputs.Installment in multiples of' | translate }}:
{{ loanProduct.installmentAmountInMultiplesOf }}
{{ 'labels.heading.Terms' | translate }}
{{ 'labels.inputs.Principal' | translate }}:
{{ loanProduct.principal | formatNumber }} (Min
{{ (loanProduct.minPrincipal ? loanProduct.minPrincipal : loanProduct.principal) | formatNumber }} : Max
{{ (loanProduct.maxPrincipal ? loanProduct.maxPrincipal : loanProduct.principal) | formatNumber }})
{{ 'labels.inputs.Allow Approved / Disbursed Amounts Over Applied' | translate }}:
{{ loanProduct.allowApprovedDisbursedAmountsOverApplied | yesNo }}
@if (loanProduct.allowApprovedDisbursedAmountsOverApplied) {
{{ 'labels.inputs.Over Amount' | translate }}:
@if (loanProduct.overAppliedCalculationType === 'percentage') {
{{ loanProduct.overAppliedNumber | formatNumber: 0 }} %
}
@if (loanProduct.overAppliedCalculationType === 'flat') {
{{ loanProduct.overAppliedNumber | formatNumber }} {{ loanProduct.currencyCode }}
}
}
{{ 'labels.inputs.Installment day calculation from' | translate }}:
{{ loanProduct.repaymentStartDateType?.value | translateKey: 'catalogs' }}
{{ 'labels.inputs.Number of Repayments' | translate }}:
{{
loanProduct.numberOfRepayments +
' (Min: ' +
(loanProduct.minNumberOfRepayments ? loanProduct.minNumberOfRepayments : loanProduct.numberOfRepayments) +
', Max: ' +
(loanProduct.maxNumberOfRepayments ? loanProduct.maxNumberOfRepayments : loanProduct.numberOfRepayments) +
')'
}}
{{ 'labels.inputs.Linked to floating interest rates' | translate }}:
{{ loanProduct.isLinkedToFloatingInterestRates | yesNo }}
@if (!loanProduct.isLinkedToFloatingInterestRates) {
{{ 'labels.inputs.Nominal interest rate' | translate }}:
{{
loanProduct.interestRatePerPeriod +
' (Min: ' +
(loanProduct.minInterestRatePerPeriod
? loanProduct.minInterestRatePerPeriod
: loanProduct.interestRatePerPeriod) +
', Max: ' +
(loanProduct.maxInterestRatePerPeriod
? loanProduct.maxInterestRatePerPeriod
: loanProduct.interestRatePerPeriod) +
')'
}}
{{ loanProduct.interestRateFrequencyType?.value | translateKey: 'catalogs' }}
}
@if (loanProduct.isLinkedToFloatingInterestRates) {
{{ 'labels.inputs.Floating Lending Interest Rate' | translate }}:
{{ loanProduct.floatingRateName }}
{{ 'labels.inputs.Interest Rate Differential' | translate }}:
{{ loanProduct.interestRateDifferential }}
{{ 'labels.inputs.Floating Interest Rate Calculation Allowed' | translate }}:
{{ loanProduct.isFloatingInterestRateCalculationAllowed | yesNo }}
{{ 'labels.inputs.Floating Interest Rate' | translate }}:
{{
loanProduct.defaultDifferentialLendingRate +
' (Min: ' +
(loanProduct.minDifferentialLendingRate
? loanProduct.minDifferentialLendingRate
: loanProduct.defaultDifferentialLendingRate) +
', Max: ' +
(loanProduct.maxDifferentialLendingRate
? loanProduct.maxDifferentialLendingRate
: loanProduct.defaultDifferentialLendingRate) +
')'
}}
}
{{ 'labels.inputs.Terms vary based on loan cycle' | translate }}:
{{ loanProduct.useBorrowerCycle | yesNo }}
@if (loanProduct.principalVariationsForBorrowerCycle?.length) {
{{ 'labels.inputs.Principal by loan cycle' | translate }}
| {{ 'labels.inputs.Condition' | translate }} |
{{ variation.valueConditionType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Loan Cycle' | translate }} |
{{ variation.borrowerCycleNumber }}
|
{{ 'labels.inputs.Minimum' | translate }} |
{{ variation.minValue | formatNumber }}
|
{{ 'labels.inputs.Default' | translate }} |
{{ variation.defaultValue | formatNumber }}
|
{{ 'labels.inputs.Maximum' | translate }} |
{{ variation.maxValue | formatNumber }}
|
}
@if (loanProduct.numberOfRepaymentVariationsForBorrowerCycle?.length) {
{{ 'labels.inputs.Number of Repayments by loan cycle' | translate }}
| {{ 'labels.inputs.Condition' | translate }} |
{{ variation.valueConditionType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Loan Cycle' | translate }} |
{{ variation.borrowerCycleNumber }}
|
{{ 'labels.inputs.Minimum' | translate }} |
{{ variation.minValue }}
|
{{ 'labels.inputs.Default' | translate }} |
{{ variation.defaultValue }}
|
{{ 'labels.inputs.Maximum' | translate }} |
{{ variation.maxValue }}
|
}
@if (loanProduct.interestRateVariationsForBorrowerCycle?.length) {
{{ 'labels.inputs.Nominal Interest Rate by loan cycle' | translate }}
| {{ 'labels.inputs.Condition' | translate }} |
{{ variation.valueConditionType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Loan Cycle' | translate }} |
{{ variation.borrowerCycleNumber }}
|
{{ 'labels.inputs.Minimum' | translate }} |
{{ variation.minValue }}
|
{{ 'labels.inputs.Default' | translate }} |
{{ variation.defaultValue }}
|
{{ 'labels.inputs.Maximum' | translate }} |
{{ variation.maxValue }}
|
}
{{ 'labels.inputs.Repay Every' | translate }}:
{{ loanProduct.repaymentEvery }}
{{ loanProduct.repaymentFrequencyType.value | translateKey: 'catalogs' }}
@if (loanProduct.fixedLength) {
{{ 'labels.inputs.Fixed Length' | translate }}:
{{ loanProduct.fixedLength }} {{ loanProduct.repaymentFrequencyType.value | translateKey: 'catalogs' }}
}
@if (loanProduct.minimumDaysBetweenDisbursalAndFirstRepayment) {
{{ 'labels.inputs.Minimum days between disbursal and first repayment date' | translate }}:
{{ loanProduct.minimumDaysBetweenDisbursalAndFirstRepayment | formatNumber }}
}
{{ 'labels.heading.Settings' | translate }}
@if (loanProduct.amortizationType?.value) {
{{ 'labels.inputs.Amortization' | translate }}:
{{ loanProduct.amortizationType.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Is Equal Amortization' | translate }}:
{{ loanProduct.isEqualAmortization | yesNo }}
{{ 'labels.inputs.Interest Method' | translate }}:
{{ loanProduct.interestType?.value | translateKey: 'catalogs' }}
{{ 'labels.inputs.Interest Calculation Period' | translate }}:
{{ loanProduct.interestCalculationPeriodType?.value | translateKey: 'catalogs' }}
{{ 'labels.inputs.Allow Partial Interest Calculation with same as repayment' | translate }}:
{{ loanProduct.allowPartialPeriodInterestCalculation | yesNo }}
{{ 'labels.inputs.Is interest recognition on disbursement date?' | translate }}:
{{ loanProduct.interestRecognitionOnDisbursementDate | yesNo }}
{{ 'labels.inputs.Loan Schedule' | translate }}
{{ 'labels.inputs.Loan Schedule Type' | translate }}:
{{ loanProduct.loanScheduleType.value | translateKey: 'catalogs' }}
{{ 'labels.inputs.Repayment Strategy' | translate }}:
{{
loanProduct.transactionProcessingStrategyName | translateKey: 'catalogs'
}}
@if (isAdvancedPaymentAllocation) {
{{ 'labels.inputs.Loan Schedule Processing Type' | translate }}:
{{ loanProduct.loanScheduleProcessingType.value }}
}
@if (isAdvancedPaymentAllocation) {
{{ 'labels.inputs.Advanced Payment Allocation Transactions' | translate }}:
@for (paymentAllocation of paymentAllocations; track paymentAllocation) {
}
}
@if (isAdvancedPaymentAllocation && creditAllocations.length > 0) {
{{ 'labels.inputs.Advanced Credit Allocation Transactions' | translate }}:
@for (creditAllocation of creditAllocations; track creditAllocation) {
}
}
@if (isAdvancedPaymentAllocation && supportedInterestRefundTypes?.length > 0) {
{{ 'labels.inputs.Supported Interest Refund Types' | translate }}:
{{ mapHumanReadableValueStringEnumOptionDataList(supportedInterestRefundTypes) }}
}
{{ 'labels.inputs.Down Payments' | translate }}
{{ 'labels.inputs.Enable Down Payments' | translate }}:
{{ loanProduct.enableDownPayment | yesNo }}
@if (loanProduct.enableDownPayment) {
{{ 'labels.inputs.Disbursed Amount Percentage Down Payment' | translate }} (%):
{{ loanProduct.disbursedAmountPercentageForDownPayment }} %
}
@if (loanProduct.enableDownPayment) {
{{ 'labels.inputs.Enable Auto Repayment for Down Payment' | translate }}:
{{ loanProduct.enableAutoRepaymentForDownPayment | yesNo }}
}
@if (isAdvancedPaymentAllocation) {
{{ 'labels.inputs.Loan Charge-off behaviour' | translate }}
{{ 'labels.inputs.Loan Charge-off behaviour' | translate }}:
{{ loanProduct.chargeOffBehaviour.value | translateKey: 'catalogs' }}
}
{{ 'labels.heading.Moratorium' | translate }}
@if (loanProduct.delinquencyBucket) {
{{ 'labels.inputs.Delinquency Bucket' | translate }}:
@if (loanProduct.delinquencyBucket.name) {
{{ loanProduct.delinquencyBucket.name }}
}
@if (!loanProduct.delinquencyBucket.name) {
{{ 'labels.inputs.Unassigned' | translate }}
}
}
@if (!loanProduct.delinquencyBucket) {
{{ 'labels.inputs.Delinquency Bucket' | translate }}:
{{ 'labels.inputs.Unassigned' | translate }}
}
@if (loanProduct.delinquencyBucket) {
{{ 'labels.inputs.Enable installment level Delinquency' | translate }}:
{{ loanProduct.enableInstallmentLevelDelinquency | yesNo }}
}
@if (loanProduct.graceOnPrincipalPayment) {
{{ 'labels.inputs.Grace on principal payment' | translate }}:
{{ loanProduct.graceOnPrincipalPayment }}
}
@if (loanProduct.graceOnInterestPayment) {
{{ 'labels.inputs.Grace on interest payment' | translate }}:
{{ loanProduct.graceOnInterestPayment }}
}
@if (loanProduct.graceOnInterestCharged) {
{{ 'labels.inputs.Interest free period' | translate }}:
{{ loanProduct.graceOnInterestCharged }}
}
@if (loanProduct.inArrearsTolerance) {
{{ 'labels.inputs.Arrears tolerance' | translate }}:
{{ loanProduct.inArrearsTolerance }}
}
{{ 'labels.inputs.Days in year' | translate }}:
{{ loanProduct.daysInYearType?.value | translateKey: 'catalogs' }}
@if (isAdvancedPaymentAllocation && loanProduct.daysInYearCustomStrategy) {
{{ 'labels.inputs.Days in year custom strategy' | translate }}:
{{ loanProduct.daysInYearCustomStrategy.value | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Days in month' | translate }}:
{{ loanProduct.daysInMonthType?.value | translateKey: 'catalogs' }}
{{ 'labels.inputs.Allow fixing of the installment amount' | translate }}:
{{ loanProduct.canDefineInstallmentAmount | yesNo }}
@if (loanProduct.graceOnArrearsAgeing) {
{{ 'labels.inputs.Number of days a loan may be overdue before moving into arrears' | translate }}:
{{ loanProduct.graceOnArrearsAgeing }}
}
@if (loanProduct.overdueDaysForNPA) {
{{
'labels.inputs.Maximum number of days a loan may be overdue before becoming a NPA (non performing asset)'
| translate
}}:
{{ loanProduct.overdueDaysForNPA }}
}
{{ 'labels.inputs.Account moves out of NPA only after all arrears have been cleared' | translate }}:
{{ loanProduct.accountMovesOutOfNPAOnlyOnArrearsCompletion | yesNo }}
@if (loanProduct.principalThresholdForLastInstallment) {
{{ 'labels.inputs.Principal Threshold (%) for Last Instalment' | translate }}:
{{ loanProduct.principalThresholdForLastInstallment }}
}
{{ 'labels.inputs.Variable Installments allowed' | translate }}:
{{ loanProduct.allowVariableInstallments | yesNo }}
@if (loanProduct.allowVariableInstallments) {
{{ 'labels.inputs.Variable Installments' | translate }}:
{{
'(Min: ' +
loanProduct.minimumGap +
', Max: ' +
(loanProduct.maximumGap ? loanProduct.maximumGap : loanProduct.minimumGap) +
')'
}}
}
{{ 'labels.inputs.Allowed to be used for providing Topup Loans' | translate }}:
{{ loanProduct.canUseForTopup | yesNo }}
{{ 'labels.heading.Interest Recalculation' | translate }}
{{ 'labels.inputs.Recalculate Interest' | translate }}:
{{ loanProduct.isInterestRecalculationEnabled | yesNo }}
@if (loanProduct.isInterestRecalculationEnabled) {
{{ 'labels.inputs.Pre-closure interest calculation rule' | translate }}:
{{
loanProduct.interestRecalculationData.preClosureInterestCalculationStrategy.value
}}
{{ 'labels.inputs.Advance payments adjustment type' | translate }}:
{{ loanProduct.interestRecalculationData.rescheduleStrategyType.value }}
{{ 'labels.inputs.Interest recalculation compounding on' | translate }}:
{{
loanProduct.interestRecalculationData.interestRecalculationCompoundingType.value
}}
@if (loanProduct.interestRecalculationData.interestRecalculationCompoundingType.id !== 0) {
{{ 'labels.inputs.Frequency for compounding' | translate }}:
{{ loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.value }}
@if (
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.id === 4 &&
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyNthDay
) {
{{
'on ' + loanProduct.interestRecalculationData.recalculationCompoundingFrequencyNthDay?.value
}}
}
@if (
(loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.id === 4 &&
!loanProduct.interestRecalculationData.recalculationCompoundingFrequencyOnDay) ||
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.id === 3
) {
{{
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyWeekday?.value
}}
}
@if (
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.id === 4 &&
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyOnDay
) {
{{
'on day ' + loanProduct.interestRecalculationData.recalculationCompoundingFrequencyOnDay
}}
}
@if (loanProduct.interestRecalculationData.recalculationCompoundingFrequencyType.id !== 1) {
{{ 'labels.inputs.Frequency Interval for compounding' | translate }}:
{{
loanProduct.interestRecalculationData.recalculationCompoundingFrequencyInterval
}}
}
}
{{ 'labels.inputs.Frequency for recalculate Outstanding Principal' | translate }}:
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyType.value }}
@if (
loanProduct.interestRecalculationData.recalculationRestFrequencyType.id === 4 &&
loanProduct.interestRecalculationData.recalculationRestFrequencyNthDay
) {
{{
'on ' + loanProduct.interestRecalculationData.recalculationRestFrequencyNthDay?.value
}}
}
@if (
(loanProduct.interestRecalculationData.recalculationRestFrequencyType.id === 4 &&
!loanProduct.interestRecalculationData.recalculationRestFrequencyOnDay) ||
loanProduct.interestRecalculationData.recalculationRestFrequencyType.id === 3
) {
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyWeekday?.value }}
}
@if (
loanProduct.interestRecalculationData.recalculationRestFrequencyType.id === 4 &&
loanProduct.interestRecalculationData.recalculationRestFrequencyOnDay
) {
{{
'on day ' + loanProduct.interestRecalculationData.recalculationRestFrequencyOnDay
}}
}
@if (loanProduct.interestRecalculationData.recalculationRestFrequencyType.id !== 1) {
{{ 'labels.inputs.Frequency Interval for recalculation' | translate }}:
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyInterval }}
@if (loanProduct.recalculationRestFrequencyDate) {
{{ 'labels.inputs.Rest Frequency Date' | translate }}:
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyDate }}
}
}
{{ 'labels.inputs.Is Arrears recognization based on original schedule' | translate }}:
{{
loanProduct.interestRecalculationData.isArrearsBasedOnOriginalSchedule | yesNo
}}
@if (loanProduct.loanScheduleType.code === 'PROGRESSIVE') {
{{ 'labels.inputs.Do not calculate interest on past due principal balances' | translate }}:
{{
loanProduct.interestRecalculationData.disallowInterestCalculationOnPastDue | yesNo
}}
}
}
{{ 'labels.heading.Guarantee Requirements' | translate }}
{{ 'labels.inputs.Place Guarantee Funds On-Hold' | translate }}:
{{ loanProduct.holdGuaranteeFunds | yesNo }}
@if (loanProduct.holdGuaranteeFunds) {
{{ 'labels.inputs.Mandatory Guarantee' | translate }} (%):
{{ loanProduct.productGuaranteeData.mandatoryGuarantee }}
@if (loanProduct.productGuaranteeData.minimumGuaranteeFromOwnFunds) {
{{ 'labels.inputs.Minimum Guarantee from Own Funds' | translate }} (%):
{{ loanProduct.productGuaranteeData.minimumGuaranteeFromOwnFunds }}
}
@if (loanProduct.productGuaranteeData.minimumGuaranteeFromGuarantor) {
{{ 'labels.inputs.Minimum Guarantee from Guarantor Funds' | translate }} (%):
{{ loanProduct.productGuaranteeData.minimumGuaranteeFromGuarantor }}
}
}
{{ 'labels.heading.Loan Tranche Details' | translate }}
{{ 'labels.inputs.Enable Multiple Disbursals' | translate }}:
{{ loanProduct.multiDisburseLoan | yesNo }}
@if (loanProduct.multiDisburseLoan) {
{{ 'labels.inputs.Maximum Tranche count' | translate }}:
{{ loanProduct.maxTrancheCount }}
@if (loanProduct.outstandingLoanBalance) {
{{ 'labels.inputs.Maximum allowed outstanding balance' | translate }}:
{{ loanProduct.outstandingLoanBalance }}
}
{{ 'labels.inputs.Disallow Expected Disbursements' | translate }}:
{{ loanProduct.disallowExpectedDisbursements | yesNo }}
@if (loanProduct.loanScheduleType && loanProduct.loanScheduleType.code === 'PROGRESSIVE') {
{{ 'labels.inputs.Allow full term for each tranche' | translate }}:
{{ loanProduct.allowFullTermForTranche | yesNo }}
}
}
{{ 'labels.heading.Event Settings' | translate }}
{{
'labels.inputs.Use the Global Configurations values to the Repayment Event (notifications)' | translate
}}:
{{ useDueForRepaymentsConfigurations | yesNo }}
@if (loanProduct.dueDaysForRepaymentEvent) {
{{ 'labels.inputs.Due days for repayment event' | translate }}:
{{ loanProduct.dueDaysForRepaymentEvent | number }}
}
@if (loanProduct.overDueDaysForRepaymentEvent) {
{{ 'labels.inputs.OverDue days for repayment event' | translate }}:
{{ loanProduct.overDueDaysForRepaymentEvent | number }}
}
{{ 'labels.inputs.Configurable Terms and Settings' | translate }}
{{ 'labels.inputs.Allow overriding select terms and settings in loan accounts' | translate }}:
{{ loanProduct.allowAttributeConfiguration | yesNo }}
@if (loanProduct.allowAttributeConfiguration) {
{{ 'labels.inputs.Amortization' | translate }}:
{{ loanProduct.allowAttributeOverrides.amortizationType | yesNo }}
{{ 'labels.inputs.Interest method' | translate }}:
{{ loanProduct.allowAttributeOverrides.interestType | yesNo }}
{{ 'labels.inputs.Repayment strategy' | translate }}:
{{
loanProduct.allowAttributeOverrides.transactionProcessingStrategyCode | yesNo
}}
{{ 'labels.inputs.Interest calculation period' | translate }}:
{{ loanProduct.allowAttributeOverrides.interestCalculationPeriodType | yesNo }}
{{ 'labels.inputs.Arrears tolerance' | translate }}:
{{ loanProduct.allowAttributeOverrides.inArrearsTolerance | yesNo }}
{{ 'labels.inputs.Repaid every' | translate }}:
{{ loanProduct.allowAttributeOverrides.repaymentEvery | yesNo }}
{{ 'labels.inputs.Moratorium' | translate }}:
{{
loanProduct.allowAttributeOverrides.graceOnPrincipalAndInterestPayment | yesNo
}}
{{ 'labels.inputs.Number of days a loan may be overdue before moving into arrears' | translate }}:
{{ loanProduct.allowAttributeOverrides.graceOnArrearsAgeing | yesNo }}
}
@if (loanProduct.charges.length) {
{{ 'labels.heading.Charges' | translate }}
| {{ 'labels.inputs.Name' | translate }} |
{{ charge.name + ', ' + charge.currency.displaySymbol }}
|
{{ 'labels.inputs.Charge Type' | translate }} |
{{ charge.chargeCalculationType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Amount' | translate }} |
{{ charge.amount | formatNumber }}
|
{{ 'labels.inputs.Collected On' | translate }} |
{{ charge.chargeTimeType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Overdue Charges' | translate }}
| {{ 'labels.inputs.Name' | translate }} |
{{ overdueCharge.name + ', ' + overdueCharge.currency.displaySymbol }}
|
{{ 'labels.inputs.Charge Type' | translate }} |
{{ overdueCharge.chargeCalculationType.value | translateKey: 'catalogs' }}
|
{{ 'labels.inputs.Amount' | translate }} |
{{ overdueCharge.amount | formatNumber }}
|
{{ 'labels.inputs.Collected On' | translate }} |
{{ overdueCharge.chargeTimeType.value | translateKey: 'catalogs' }}
|
}
@if (isAdvancedPaymentAllocation) {
{{ 'labels.inputs.Income capitalization' | translate }}
{{ 'labels.inputs.Enable income capitalization' | translate }}:
{{ loanProduct.enableIncomeCapitalization | yesNo }}
@if (loanProduct.enableIncomeCapitalization) {
{{ 'labels.inputs.Income capitalization calculation type' | translate }}:
{{
loanProduct.capitalizedIncomeCalculationType?.value | translateKey: 'catalogs'
}}
}
@if (loanProduct.enableIncomeCapitalization) {
{{ 'labels.inputs.Income capitalization strategy' | translate }}:
{{ loanProduct.capitalizedIncomeStrategy?.value | translateKey: 'catalogs' }}
}
@if (loanProduct.enableIncomeCapitalization) {
{{ 'labels.inputs.Income type' | translate }}:
{{ loanProduct.capitalizedIncomeType?.value | translateKey: 'catalogs' }}
}
}
@if (isAdvancedPaymentAllocation) {
{{ 'labels.inputs.Buy down fees' | translate }}
{{ 'labels.inputs.Enable Buy down fee' | translate }}:
{{ loanProduct.enableBuyDownFee | yesNo }}
@if (loanProduct.enableBuyDownFee) {
{{ 'labels.inputs.Buy down fee calculation type' | translate }}:
{{ loanProduct.buyDownFeeCalculationType?.value | translateKey: 'catalogs' }}
}
@if (loanProduct.enableBuyDownFee) {
{{ 'labels.inputs.Buy down fee strategy' | translate }}:
{{ loanProduct.buyDownFeeStrategy?.value | translateKey: 'catalogs' }}
}
@if (loanProduct.enableBuyDownFee) {
{{ 'labels.inputs.Buy down fee income type' | translate }}:
{{ loanProduct.buyDownFeeIncomeType?.value | translateKey: 'catalogs' }}
}
@if (loanProduct.enableBuyDownFee) {
{{ 'labels.inputs.Merchant Buy down fee' | translate }}:
{{ loanProduct.merchantBuyDownFee | yesNo }}
}
}
{{ 'labels.heading.Accounting' | translate }}
{{ 'labels.inputs.Type' | translate }}:
{{
'labels.accounting.' + getAccountingRuleName(accountingRuleData[accountingRule() - 1]) | translate
}}
@if (isAccountingAccrualBased) {
{{ 'labels.inputs.Enable Accrual Activity Posting on Installment Due Date' | translate }}:
{{ loanProduct.enableAccrualActivityPosting | yesNo }}
}
@if (isAccountingEnabled()) {
{{ 'labels.heading.Assets' | translate }} / {{ 'labels.heading.Liabilities' | translate }}
{{ 'labels.heading.Assets' | translate }}
@if (loanProduct.accountingRule.id === 3 || loanProduct.accountingRule.id === 4) {
}
{{ 'labels.heading.Income' | translate }}
@if (accountingMappings.incomeFromChargeOffInterestAccount) {
}
@if (accountingMappings.incomeFromChargeOffFeesAccount) {
}
@if (accountingMappings.incomeFromChargeOffPenaltyAccount) {
}
@if (accountingMappings.incomeFromCapitalizationAccount) {
}
@if (accountingMappings.incomeFromBuyDownAccount) {
}
{{ 'labels.heading.Expenses' | translate }}
@if (accountingMappings.chargeOffExpenseAccount) {
}
@if (accountingMappings.chargeOffFraudExpenseAccount) {
}
@if (accountingMappings.buyDownExpenseAccount) {
}
{{ 'labels.heading.Liabilities' | translate }}
@if (accountingMappings.deferredIncomeLiabilityAccount) {
}
@if (isAdvancedAccountingEnabled()) {
{{ 'labels.heading.Advanced Accounting Rules' | translate }}
@if (paymentChannelToFundSourceMappings?.length > 0) {
{{ 'labels.heading.Configure Fund Sources for Payment Channels' | translate }}
| {{ 'labels.heading.Payment Type' | translate }} |
{{ paymentFundSource.paymentType.name }}
|
{{ 'labels.inputs.Fund Source' | translate }} |
{{ paymentFundSource.fundSourceAccount.name }}
|
}
@if (feeToIncomeAccountMappings?.length > 0) {
{{ 'labels.heading.Map Fees to Specific Income Accounts' | translate }}
| {{ 'labels.catalogs.Fees' | translate }} |
{{ feesIncome.charge.name }}
|
{{ 'labels.inputs.Income Account' | translate }} |
@if (feesIncome.incomeAccount) {
{{ feesIncome.incomeAccount.name }}
}
|
}
@if (penaltyToIncomeAccountMappings?.length > 0) {
{{ 'labels.heading.Map Penalties to Specific Income Accounts' | translate }}
| {{ 'labels.inputs.Penalty' | translate }} |
{{ penaltyIncome.charge.name }}
|
{{ 'labels.inputs.Income Account' | translate }} |
{{ penaltyIncome.incomeAccount.name }}
|
}
@if (chargeOffReasonToExpenseAccountMappings?.length > 0) {
{{ 'labels.heading.Map Charge-off reasons to Expense accounts' | translate }}
| {{ 'labels.inputs.Charge-off reason' | translate }} |
{{ chargeOffReasonToExpenseAccountMapping.reasonCodeValue.name }}
|
{{ 'labels.inputs.Expense Account' | translate }} |
({{ chargeOffReasonToExpenseAccountMapping.expenseAccount.glCode }})
{{ chargeOffReasonToExpenseAccountMapping.expenseAccount.name }}
|
}
{{ 'labels.heading.Buydown Fee classifications to Income accounts' | translate }}
| {{ 'labels.inputs.Classification' | translate }} |
{{ classificationToIncomeAccountMapping.classificationCodeValue.name }}
|
{{ 'labels.inputs.Income Account' | translate }} |
({{ classificationToIncomeAccountMapping.incomeAccount.glCode }})
{{ classificationToIncomeAccountMapping.incomeAccount.name }}
|
@if (capitalizedIncomeClassificationToIncomeAccountMappings?.length > 0) {
{{ 'labels.heading.Capitalized Income classifications to Income accounts' | translate }}
| {{ 'labels.inputs.Classification' | translate }} |
{{ capitalizedIncomeClassificationToIncomeAccountMapping.classificationCodeValue.name }}
|
{{ 'labels.inputs.Income Account' | translate }} |
({{ capitalizedIncomeClassificationToIncomeAccountMapping.incomeAccount.glCode }})
{{ capitalizedIncomeClassificationToIncomeAccountMapping.incomeAccount.name }}
|
}
@if (writeOffReasonsToExpenseMappings?.length > 0) {
{{ 'labels.heading.WriteOff reasons to Expense accounts' | translate }}
| {{ 'labels.inputs.WriteOff Reason' | translate }} |
{{ writeOffReasonsToExpenseMapping.reasonCodeValue.name }}
|
{{ 'labels.inputs.Expense Account' | translate }} |
({{ writeOffReasonsToExpenseMapping.expenseAccount.glCode }})
{{ writeOffReasonsToExpenseMapping.expenseAccount.name }}
|
}
}
}
}