{{ savingProduct.name }}
{{ 'labels.inputs.Details' | translate }}
{{ 'labels.inputs.Short Name' | translate }}:
{{ savingProduct.shortName }}
@if (savingProduct.description) {
{{ 'labels.inputs.Description' | translate }}:
{{ savingProduct.description }}
}
@if (
savingProduct.accountType ||
savingProduct.customerSegment ||
savingProduct.glAccountId ||
savingProduct.effectiveTo ||
savingProduct.introducerRequired !== undefined ||
savingProduct.shareLinkingEnabled !== undefined
) {
Product Classification
@if (savingProduct.accountType) {
Account Type:
{{ savingProduct.accountType }}
}
@if (savingProduct.customerSegment) {
Customer Segment:
{{ savingProduct.customerSegment }}
}
@if (savingProduct.glAccountId) {
GL Account (Liability):
{{ getGlAccountName(savingProduct.glAccountId) }}
}
@if (savingProduct.effectiveTo) {
Effective To:
{{ savingProduct.effectiveTo | dateFormat }}
}
@if (savingProduct.endDate) {
End Date:
{{ savingProduct.endDate | dateFormat }}
}
@if (savingProduct.introducerRequired !== undefined) {
Introducer Required:
{{
savingProduct.introducerRequired === true || savingProduct.introducerRequired === 'Yes' ? 'Yes' : 'No'
}}
}
@if (savingProduct.shareLinkingEnabled !== undefined) {
Share Linking Enabled:
{{ savingProduct.shareLinkingEnabled | yesNo }}
}
}
{{ 'labels.inputs.Currency' | translate }}
{{ 'labels.inputs.Currency' | translate }}:
{{
savingProduct.currency?.name ||
savingProduct.currency?.displayLabel ||
(savingProduct.currencyCode | find: savingProductsTemplate?.currencyOptions : 'code' : 'name') ||
savingProduct.currencyCode ||
'-'
}}
{{ 'labels.inputs.Decimal Places' | translate }}:
{{ savingProduct.digitsAfterDecimal ?? savingProduct.currency?.decimalPlaces ?? 2 }}
@if (savingProduct.currency?.inMultiplesOf !== undefined && savingProduct.currency?.inMultiplesOf !== null) {
{{ 'labels.inputs.Currency in multiples of' | translate }}:
{{ savingProduct.currency.inMultiplesOf }}
}
@if (savingProduct.dormancyAlert !== undefined) {
Dormancy Alert:
{{ savingProduct.dormancyAlert | yesNo }}
}
@if (savingProduct.nominationFacility !== undefined) {
Nomination Facility:
{{ savingProduct.nominationFacility | yesNo }}
}
{{ 'labels.inputs.Terms' | translate }}
{{ 'labels.inputs.Nominal Annual Interest' | translate }}:
{{ savingProduct.nominalAnnualInterestRate | formatNumber }} %
{{ 'labels.inputs.Interest Compounding Period' | translate }}:
{{
savingProduct.interestCompoundingPeriodType
| find: savingProductsTemplate?.interestCompoundingPeriodTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}
{{ 'labels.inputs.Interest Posting Period' | translate }}:
{{
savingProduct.interestPostingPeriodType
| find: savingProductsTemplate?.interestPostingPeriodTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}
{{ 'labels.inputs.Interest Calculation Type' | translate }}:
{{
savingProduct.interestCalculateSelector | find: interestCalculationTypeOptionData : 'id' : 'value'
}}
{{ 'labels.inputs.Days in Year' | translate }}:
{{
savingProduct.interestCalculationDaysInYearType
| find: savingProductsTemplate?.interestCalculationDaysInYearTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}
@if (savingProduct.effectiveDate) {
Effective Date:
{{ savingProduct.effectiveDate | dateFormat }}
}
Interest Calculate:
{{
savingProduct.interestCalculationType
| find: savingProductsTemplate?.interestCalculationTypeOptions : 'id' : 'value'
| translateKey: 'catalogs'
}}
@if (savingProduct.averagePeriod) {
Average Period:
{{ savingProduct.averagePeriod }}
}
Auto Interest Post:
{{ savingProduct.autoPost | yesNo }}
@if (
savingProduct.frequencyFixDay !== undefined &&
savingProduct.frequencyFixDay !== null &&
savingProduct.frequencyFixDay !== ''
) {
Frequency (Fix Day):
{{ savingProduct.frequencyFixDay }}
}
@if (savingProduct.lastInterestDate) {
Last Interest Date:
{{ savingProduct.lastInterestDate | dateFormat }}
}
{{ 'labels.inputs.Settings' | translate }}
@if (savingProduct.minRequiredOpeningBalance) {
{{ 'labels.inputs.Minimum Opening Balance' | translate }}:
{{ savingProduct.minRequiredOpeningBalance | formatNumber }}
}
@if (savingProduct.lockinPeriodFrequency) {
{{ 'labels.inputs.Lock-in Period' | translate }}:
{{
savingProduct.lockinPeriodFrequency +
' ' +
(savingProduct.lockinPeriodFrequencyType
| find: savingProductsTemplate?.lockinPeriodFrequencyTypeOptions : 'id' : 'value')
| translateKey: 'catalogs'
}}
}
{{ 'labels.inputs.Apply Withdrawal Fee for Transfers' | translate }}:
{{ savingProduct.withdrawalFeeForTransfers | yesNo }}
@if (savingProduct.balanceFrequency) {
Balance Frequency:
{{ savingProduct.balanceFrequency }}
}
Enable Lock-in Period:
{{ savingProduct.enableLockinPeriod | yesNo }}
@if (savingProduct.enableLockinPeriod && savingProduct.lockinPeriodFrequency) {
Lock-in Period:
{{ savingProduct.lockinPeriodFrequency }}
{{ getLockinPeriodFrequencyTypeLabel(savingProduct.lockinPeriodFrequencyType) }}
}
@if (savingProduct.minBalanceForInterestCalculation) {
{{ 'labels.inputs.Balance Required for Interest Calculation' | translate }}:
{{ savingProduct.minBalanceForInterestCalculation | formatNumber }}
}
{{ 'labels.inputs.Enforce Minimum Balance' | translate }}:
{{ savingProduct.enforceMinRequiredBalance | yesNo }}
@if (savingProduct.minRequiredBalance) {
{{ 'labels.inputs.Minimum Balance' | translate }}:
{{ savingProduct.minRequiredBalance | formatNumber }}
}
{{ 'labels.inputs.Withhold Tax is Applicable' | translate }}:
{{ savingProduct.withHoldTax | yesNo }}
@if (savingProduct.withHoldTax) {
{{ 'labels.inputs.Tax Group' | translate }}:
{{
savingProduct.taxGroupId | find: savingProductsTemplate?.taxGroupOptions : 'id' : 'name'
}}
}
{{ 'labels.inputs.Is Overdraft Allowed' | translate }}:
{{ savingProduct.allowOverdraft | yesNo }}
Account Closed with Zero Balance in Day Closing:
{{ savingProduct.accountClosedZeroBalanceInDayClosing | yesNo }}
@if (savingProduct.minOverdraftForInterestCalculation) {
{{ 'labels.inputs.Minimum Overdraft Required for Interest Calculation' | translate }}:
{{ savingProduct.minOverdraftForInterestCalculation | formatNumber }}
}
@if (savingProduct.nominalAnnualInterestRateOverdraft) {
{{ 'labels.inputs.Nominal Annual Interest for Overdraft' | translate }}:
{{ savingProduct.nominalAnnualInterestRateOverdraft | formatNumber }} %
}
@if (savingProduct.overdraftLimit) {
{{ 'labels.inputs.Maximum Overdraft Amount Limit' | translate }}:
{{ savingProduct.overdraftLimit | formatNumber }}
}
{{ 'labels.inputs.Enable Dormancy Tracking' | translate }}:
{{ savingProduct.isDormancyTrackingActive | yesNo }}
@if (savingProduct.isDormancyTrackingActive) {
{{ 'labels.inputs.Number of Days to Inactive sub-status' | translate }}:
{{ savingProduct.daysToInactive }}
{{ 'labels.inputs.Number of Days to Dormant sub-status' | translate }}:
{{ savingProduct.daysToDormancy }}
{{ 'labels.inputs.Number of Days to Escheat' | translate }}:
{{ savingProduct.daysToEscheat }}
}
Account Facilities
@if (savingProduct.accountFacilityConfig) {
@for (feature of accountFacilityFeatureItems; track feature.key) {
{{ feature.label }}:
{{ savingProduct.accountFacilityConfig[feature.key] | yesNo }}
}
}
@if (savingProduct.accountFacilityLimits?.length) {
Account Facility Limits
| Limit Type |
{{ row.limitType }} |
General Limit |
{{ row.generalLimit }} |
Minor Account Limit |
{{ row.minorAccountLimit }} |
Small Saving Limit |
{{ row.smallSavingLimit }} |
}
@if (savingProduct.depositLimitKyc) {
Deposit Limit (KYC)
General:
{{ savingProduct.depositLimitKyc.general.kycType }} - {{ savingProduct.depositLimitKyc.general.limit }}
Minor:
{{ savingProduct.depositLimitKyc.minor.kycType }} - {{ savingProduct.depositLimitKyc.minor.limit }}
Small Saving:
{{ savingProduct.depositLimitKyc.smallSaving.kycType }} -
{{ savingProduct.depositLimitKyc.smallSaving.limit }}
}
@if (savingProduct.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()) {
Assets
Savings reference account
{{
formatGlAccountById(
savingProduct.savingsReferenceAccountId,
savingProductsTemplate?.accountingMappingOptions.assetAccountOptions
)
}}
Overdraft portfolio control
{{
formatGlAccountById(
savingProduct.overdraftPortfolioControlId,
savingProductsTemplate?.accountingMappingOptions.assetAccountOptions
)
}}
Interest receivable account
{{
formatGlAccountById(
savingProduct.interestReceivableAccountId,
savingProductsTemplate?.accountingMappingOptions.assetAccountOptions
)
}}
Fees receivable account
{{
formatGlAccountById(
savingProduct.feesReceivableAccountId,
savingProductsTemplate?.accountingMappingOptions.assetAccountOptions
)
}}
Penalties receivable account
{{
formatGlAccountById(
savingProduct.penaltiesReceivableAccountId,
savingProductsTemplate?.accountingMappingOptions.assetAccountOptions
)
}}
Liabilities
Savings control account
{{
formatGlAccountById(
savingProduct.savingsControlAccountId,
savingProductsTemplate?.accountingMappingOptions.liabilityAccountOptions
)
}}
Transfers in suspense account
{{
formatGlAccountById(
savingProduct.transfersInSuspenseAccountId,
savingProductsTemplate?.accountingMappingOptions.liabilityAccountOptions
)
}}
Interest payable account
{{
formatGlAccountById(
savingProduct.interestPayableAccountId,
savingProductsTemplate?.accountingMappingOptions.liabilityAccountOptions
)
}}
@if (savingProduct.isDormancyTrackingActive) {
Escheat liability account
{{
formatGlAccountById(
savingProduct.escheatLiabilityId,
savingProductsTemplate?.accountingMappingOptions.liabilityAccountOptions
)
}}
}
Expenses
Interest on savings account
{{
formatGlAccountById(
savingProduct.interestOnSavingsAccountId,
savingProductsTemplate?.accountingMappingOptions.expenseAccountOptions
)
}}
Write off account
{{
formatGlAccountById(
savingProduct.writeOffAccountId,
savingProductsTemplate?.accountingMappingOptions.expenseAccountOptions
)
}}
Income
Income from fees
{{
formatGlAccountById(
savingProduct.incomeFromFeeAccountId,
savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions
)
}}
Income from penalties
{{
formatGlAccountById(
savingProduct.incomeFromPenaltyAccountId,
savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions
)
}}
Income from interest
{{
formatGlAccountById(
savingProduct.incomeFromInterestId,
savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions
)
}}
}
@if (savingProduct.otherGlMappings) {
@if (savingProduct.otherGlMappings.assets?.length) {
| Asset Account |
{{ row.accountName }} |
GL Account |
{{
formatGlAccountByCode(row.glCode, savingProductsTemplate?.accountingMappingOptions.assetAccountOptions)
}}
|
}
@if (savingProduct.otherGlMappings.liabilities?.length) {
| Liability Account |
{{ row.accountName }} |
GL Account |
{{
formatGlAccountByCode(
row.glCode,
savingProductsTemplate?.accountingMappingOptions.liabilityAccountOptions
)
}}
|
}
@if (savingProduct.otherGlMappings.expenses?.length) {
| Expense Account |
{{ row.accountName }} |
GL Account |
{{
formatGlAccountByCode(
row.glCode,
savingProductsTemplate?.accountingMappingOptions.expenseAccountOptions
)
}}
|
}
@if (savingProduct.otherGlMappings.income?.length) {
| Income Account |
{{ row.accountName }} |
GL Account |
{{
formatGlAccountByCode(row.glCode, savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions)
}}
|
}
}
@if (
savingProduct.advancedAccountingRules &&
(savingProduct.paymentChannelToFundSourceMappings?.length ||
savingProduct.feeToIncomeAccountMappings?.length ||
savingProduct.penaltyToIncomeAccountMappings?.length)
) {
{{ 'labels.heading.Advanced Accounting Rules' | translate }}
@if (savingProduct.paymentChannelToFundSourceMappings?.length) {
{{ 'labels.heading.Fund Sources for Payment Channels' | translate }}
| {{ 'labels.inputs.Payment Type' | translate }} |
{{ paymentFundSource.paymentTypeId | find: savingProductsTemplate.paymentTypeOptions : 'id' : 'name' }}
|
{{ 'labels.inputs.Fund Source' | translate }} |
{{
paymentFundSource.fundSourceAccountId
| find: savingProductsTemplate?.accountingMappingOptions.assetAccountOptions : 'id' : 'name'
}}
|
}
@if (savingProduct.feeToIncomeAccountMappings?.length) {
{{ 'labels.heading.Fees to Specific Income Accounts' | translate }}
| {{ 'labels.inputs.Fees' | translate }} |
{{ feesIncome.chargeId | find: savingProductsTemplate.chargeOptions : 'id' : 'name' }}
|
{{ 'labels.inputs.Income Account' | translate }} |
{{
feesIncome.incomeAccountId
| find: savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions : 'id' : 'name'
}}
|
}
@if (savingProduct.penaltyToIncomeAccountMappings?.length) {
{{ 'labels.heading.Penalties to Specific Income Accounts' | translate }}
| {{ 'labels.inputs.Penalty' | translate }} |
{{ penaltyIncome.chargeId | find: savingProductsTemplate.penaltyOptions : 'id' : 'name' }}
|
{{ 'labels.inputs.Income Account' | translate }} |
{{
penaltyIncome.incomeAccountId
| find: savingProductsTemplate?.accountingMappingOptions.incomeAccountOptions : 'id' : 'name'
}}
|
}
}