{{ CurrentProduct.name }}

{{ 'labels.inputs.Details' | translate }}

{{ 'labels.inputs.Short Name' | translate }}: {{ CurrentProduct.shortName }}
@if (CurrentProduct.description) {
{{ 'labels.inputs.Description' | translate }}: {{ CurrentProduct.description }}
} @if ( CurrentProduct.accountType || CurrentProduct.customerSegment || CurrentProduct.productCode || CurrentProduct.effectiveTo || CurrentProduct.introducerRequired !== undefined || CurrentProduct.shareLinkingEnabled !== undefined ) {

Product Classification

@if (CurrentProduct.accountType) {
Account Type: {{ CurrentProduct.accountType }}
} @if (CurrentProduct.customerSegment) {
Customer Segment: {{ CurrentProduct.customerSegment }}
} @if (CurrentProduct.productCode) {
Product Code: {{ CurrentProduct.productCode }}
} @if (CurrentProduct.effectiveTo) {
Effective To: {{ CurrentProduct.effectiveTo }}
} @if (CurrentProduct.endDate) {
End Date: {{ CurrentProduct.endDate }}
} @if (CurrentProduct.introducerRequired !== undefined) {
Introducer Required: {{ CurrentProduct.introducerRequired === true || CurrentProduct.introducerRequired === 'Yes' ? 'Yes' : 'No' }}
} @if (CurrentProduct.shareLinkingEnabled !== undefined) {
Share Linking Enabled: {{ CurrentProduct.shareLinkingEnabled | yesNo }}
} }

{{ 'labels.inputs.Currency' | translate }}

{{ 'labels.inputs.Currency' | translate }}: {{ CurrentProduct.currency?.name || CurrentProduct.currency?.displayLabel || (CurrentProduct.currencyCode | find: CurrentProductsTemplate?.currencyOptions : 'code' : 'name') || CurrentProduct.currencyCode || '-' }}
{{ 'labels.inputs.Decimal Places' | translate }}: {{ CurrentProduct.digitsAfterDecimal ?? CurrentProduct.currency?.decimalPlaces ?? 2 }}
@if (CurrentProduct.currency?.inMultiplesOf !== undefined && CurrentProduct.currency?.inMultiplesOf !== null) {
{{ 'labels.inputs.Currency in multiples of' | translate }}: {{ CurrentProduct.currency.inMultiplesOf }}
} @if (CurrentProduct.dormancyAlert !== undefined) {
Dormancy Alert: {{ CurrentProduct.dormancyAlert | yesNo }}
} @if (CurrentProduct.balanceSwapOption !== undefined) {
Balance Swap Option: {{ CurrentProduct.balanceSwapOption | yesNo }}
} @if (CurrentProduct.msme !== undefined) {
MSME: {{ CurrentProduct.msme | yesNo }}
} @if (CurrentProduct.nominationFacility !== undefined) {
Nomination Facility: {{ CurrentProduct.nominationFacility | yesNo }}
} @if (CurrentProduct.autoDebitFacility !== undefined) {
Auto Debit Facility: {{ CurrentProduct.autoDebitFacility | yesNo }}
}

Interest On OD

Interest Posting Frequency: {{ CurrentProduct.interestPostingPeriodType | find: CurrentProductsTemplate?.interestPostingPeriodTypeOptions : 'id' : 'value' | translateKey: 'catalogs' }}
Auto Interest Post: {{ CurrentProduct.autoPost | yesNo }}
@if ( CurrentProduct.frequencyFixDay !== undefined && CurrentProduct.frequencyFixDay !== null && CurrentProduct.frequencyFixDay !== '' ) {
Frequency (Fix Day): {{ CurrentProduct.frequencyFixDay }} Days
} @if (CurrentProduct.lastInterestDate) {
Last Interest Date: {{ CurrentProduct.lastInterestDate }}
}

{{ 'labels.inputs.Settings' | translate }}

@if (CurrentProduct.minRequiredOpeningBalance) {
{{ 'labels.inputs.Minimum Opening Balance' | translate }}: {{ CurrentProduct.minRequiredOpeningBalance | formatNumber }}
} @if (CurrentProduct.lockinPeriodFrequency) {
{{ 'labels.inputs.Lock-in Period' | translate }}: {{ CurrentProduct.lockinPeriodFrequency + ' ' + (CurrentProduct.lockinPeriodFrequencyType | find: CurrentProductsTemplate?.lockinPeriodFrequencyTypeOptions : 'id' : 'value') | translateKey: 'catalogs' }}
}
{{ 'labels.inputs.Apply Withdrawal Fee for Transfers' | translate }}: {{ CurrentProduct.withdrawalFeeForTransfers | yesNo }}
@if (CurrentProduct.balanceFrequency) {
Balance Frequency: {{ CurrentProduct.balanceFrequency }}
}
Enable Lock-in Period: {{ CurrentProduct.enableLockinPeriod | yesNo }}
@if (CurrentProduct.enableLockinPeriod && CurrentProduct.lockinPeriodFrequency) {
Lock-in Period: {{ CurrentProduct.lockinPeriodFrequency }} {{ getLockinPeriodFrequencyTypeLabel(CurrentProduct.lockinPeriodFrequencyType) }}
} @if (CurrentProduct.minBalanceForInterestCalculation) {
{{ 'labels.inputs.Balance Required for Interest Calculation' | translate }}: {{ CurrentProduct.minBalanceForInterestCalculation | formatNumber }}
}
{{ 'labels.inputs.Enforce Minimum Balance' | translate }}: {{ CurrentProduct.enforceMinRequiredBalance | yesNo }}
@if (CurrentProduct.minRequiredBalance) {
{{ 'labels.inputs.Minimum Balance' | translate }}: {{ CurrentProduct.minRequiredBalance | formatNumber }}
}
{{ 'labels.inputs.Withhold Tax is Applicable' | translate }}: {{ CurrentProduct.withHoldTax | yesNo }}
@if (CurrentProduct.withHoldTax) {
{{ 'labels.inputs.Tax Group' | translate }}: {{ CurrentProduct.taxGroupId | find: CurrentProductsTemplate?.taxGroupOptions : 'id' : 'name' }}
}
Account Closed with Zero Balance in Day Closing: {{ CurrentProduct.accountClosedZeroBalanceInDayClosing | yesNo }}

Overdraft (OD) Facility

Is Overdraft Allowed: {{ CurrentProduct.allowOverdraft | yesNo }}
@if (CurrentProduct.allowOverdraft) { @if (CurrentProduct.avgBalanceCalcPeriod) {
Avg Balance Calculation Period: {{ CurrentProduct.avgBalanceCalcPeriod }}
} @if (CurrentProduct.validForPeriod) {
Valid for Period: {{ CurrentProduct.validForPeriod }}
} @if (CurrentProduct.overdraftLimit !== undefined && CurrentProduct.overdraftLimit !== '') {
OD Limit %: {{ CurrentProduct.overdraftLimit }}
} @if ( CurrentProduct.nominalAnnualInterestRateOverdraft !== undefined && CurrentProduct.nominalAnnualInterestRateOverdraft !== '' ) {
Interest on OD %: {{ CurrentProduct.nominalAnnualInterestRateOverdraft }}
}
OD Account Closed with Zero Balance in Day Closing: {{ CurrentProduct.odAccountClosedZeroBalanceInDayClosing | yesNo }}
}
{{ 'labels.inputs.Enable Dormancy Tracking' | translate }}: {{ CurrentProduct.isDormancyTrackingActive | yesNo }}
@if (CurrentProduct.isDormancyTrackingActive) {
{{ 'labels.inputs.Number of Days to Inactive sub-status' | translate }}: {{ CurrentProduct.daysToInactive }} {{ 'labels.inputs.Number of Days to Dormant sub-status' | translate }}: {{ CurrentProduct.daysToDormancy }} {{ 'labels.inputs.Number of Days to Escheat' | translate }}: {{ CurrentProduct.daysToEscheat }}
}

Account Facilities

@if (CurrentProduct.accountFacilityConfig) {
@for (feature of accountFacilityFeatureItems; track feature.key) {
{{ feature.label }}: {{ CurrentProduct.accountFacilityConfig[feature.key] | yesNo }}
}
} @if (CurrentProduct.accountFacilityLimits?.length) {

Account Facility Limits

Limit Type {{ row.limitType }} General Limit {{ row.generalLimit }} Minor Account Limit {{ row.minorAccountLimit }} Small Saving Limit {{ row.smallSavingLimit }}
} @if (CurrentProduct.depositLimitKyc) {

Deposit Limit (KYC)

General: {{ CurrentProduct.depositLimitKyc.general.kycType }} - {{ CurrentProduct.depositLimitKyc.general.limit }}
Minor: {{ CurrentProduct.depositLimitKyc.minor.kycType }} - {{ CurrentProduct.depositLimitKyc.minor.limit }}
Small Saving: {{ CurrentProduct.depositLimitKyc.smallSaving.kycType }} - {{ CurrentProduct.depositLimitKyc.smallSaving.limit }}
} @if (CurrentProduct.charges.length) {

{{ 'labels.inputs.Charges' | translate }}

{{ 'labels.inputs.Name' | translate }} {{ charge.name + ', ' + charge.currency.displaySymbol }} {{ 'labels.inputs.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.heading.Accounting' | translate }}

@if (isCashOrAccrualAccounting()) {

GL Mapping

Assets
Savings reference account {{ formatGlAccountById( CurrentProduct.savingsReferenceAccountId, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions ) }}
Overdraft portfolio control {{ formatGlAccountById( CurrentProduct.overdraftPortfolioControlId, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions ) }}
Interest receivable account {{ formatGlAccountById( CurrentProduct.interestReceivableAccountId, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions ) }}
Fees receivable account {{ formatGlAccountById( CurrentProduct.feesReceivableAccountId, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions ) }}
Penalties receivable account {{ formatGlAccountById( CurrentProduct.penaltiesReceivableAccountId, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions ) }}
Liabilities
Savings control account {{ formatGlAccountById( CurrentProduct.savingsControlAccountId, CurrentProductsTemplate?.accountingMappingOptions.liabilityAccountOptions ) }}
Transfers in suspense account {{ formatGlAccountById( CurrentProduct.transfersInSuspenseAccountId, CurrentProductsTemplate?.accountingMappingOptions.liabilityAccountOptions ) }}
Interest payable account {{ formatGlAccountById( CurrentProduct.interestPayableAccountId, CurrentProductsTemplate?.accountingMappingOptions.liabilityAccountOptions ) }}
@if (CurrentProduct.isDormancyTrackingActive) {
Escheat liability account {{ formatGlAccountById( CurrentProduct.escheatLiabilityId, CurrentProductsTemplate?.accountingMappingOptions.liabilityAccountOptions ) }}
}
Expenses
Interest on savings account {{ formatGlAccountById( CurrentProduct.interestOnSavingsAccountId, CurrentProductsTemplate?.accountingMappingOptions.expenseAccountOptions ) }}
Write off account {{ formatGlAccountById( CurrentProduct.writeOffAccountId, CurrentProductsTemplate?.accountingMappingOptions.expenseAccountOptions ) }}
Income
Income from fees {{ formatGlAccountById( CurrentProduct.incomeFromFeeAccountId, CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions ) }}
Income from penalties {{ formatGlAccountById( CurrentProduct.incomeFromPenaltyAccountId, CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions ) }}
Income from interest {{ formatGlAccountById( CurrentProduct.incomeFromInterestId, CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions ) }}
} @if (CurrentProduct.otherGlMappings) {

Other GL Mappings

@if (CurrentProduct.otherGlMappings.assets?.length) {
Asset Account {{ row.accountName }} GL Account {{ formatGlAccountByCode(row.glCode, CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions) }}
} @if (CurrentProduct.otherGlMappings.liabilities?.length) {
Liability Account {{ row.accountName }} GL Account {{ formatGlAccountByCode( row.glCode, CurrentProductsTemplate?.accountingMappingOptions.liabilityAccountOptions ) }}
} @if (CurrentProduct.otherGlMappings.expenses?.length) {
Expense Account {{ row.accountName }} GL Account {{ formatGlAccountByCode( row.glCode, CurrentProductsTemplate?.accountingMappingOptions.expenseAccountOptions ) }}
} @if (CurrentProduct.otherGlMappings.income?.length) {
Income Account {{ row.accountName }} GL Account {{ formatGlAccountByCode( row.glCode, CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions ) }}
}
} @if ( CurrentProduct.advancedAccountingRules && (CurrentProduct.paymentChannelToFundSourceMappings?.length || CurrentProduct.feeToIncomeAccountMappings?.length || CurrentProduct.penaltyToIncomeAccountMappings?.length) ) {

{{ 'labels.heading.Advanced Accounting Rules' | translate }}

@if (CurrentProduct.paymentChannelToFundSourceMappings?.length) {

{{ 'labels.heading.Fund Sources for Payment Channels' | translate }}

{{ 'labels.inputs.Payment Type' | translate }} {{ paymentFundSource.paymentTypeId | find: CurrentProductsTemplate.paymentTypeOptions : 'id' : 'name' }} {{ 'labels.inputs.Fund Source' | translate }} {{ paymentFundSource.fundSourceAccountId | find: CurrentProductsTemplate?.accountingMappingOptions.assetAccountOptions : 'id' : 'name' }}
} @if (CurrentProduct.feeToIncomeAccountMappings?.length) {

{{ 'labels.heading.Fees to Specific Income Accounts' | translate }}

{{ 'labels.inputs.Fees' | translate }} {{ feesIncome.chargeId | find: CurrentProductsTemplate.chargeOptions : 'id' : 'name' }} {{ 'labels.inputs.Income Account' | translate }} {{ feesIncome.incomeAccountId | find: CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions : 'id' : 'name' }}
} @if (CurrentProduct.penaltyToIncomeAccountMappings?.length) {

{{ 'labels.heading.Penalties to Specific Income Accounts' | translate }}

{{ 'labels.inputs.Penalty' | translate }} {{ penaltyIncome.chargeId | find: CurrentProductsTemplate.penaltyOptions : 'id' : 'name' }} {{ 'labels.inputs.Income Account' | translate }} {{ penaltyIncome.incomeAccountId | find: CurrentProductsTemplate?.accountingMappingOptions.incomeAccountOptions : 'id' : 'name' }}
}
}