@if (loanProduct) {

{{ 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 }}
}
}
}
}