Fixed Deposit - V2 Configuration
Product Type: Term Deposit with Fixed Returns
Use Case: Guaranteed returns, capital preservation, investment
Minimum Amount: ₦100,000 - ₦1,000,000
Typical Tenor: 30 days - 5 years
Interest Rate: 6% - 14% per annum (tenor & amount based)
Overview
Fixed deposits (FD) are term deposit accounts offering guaranteed interest returns for a specified period. Funds are locked for the tenor with penalties for early liquidation. Ideal for risk-averse investors seeking predictable returns.
Key Features
- Guaranteed Returns: Fixed interest rate for entire tenor
- Tenor-Based Rates: Longer tenors earn higher rates
- Amount-Based Bonuses: Larger deposits get rate premiums
- Early Liquidation: Allowed with penalties
- Auto-Renewal Option: Rollover at maturity
- Loan Collateral: Can be used as loan security (90% LTV)
- No Transaction Fees: Set-and-forget investment
YAML Field Reference
Basic Information Section
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
productCode | String | ✅ Yes | Unique product code | "FD-STANDARD-001" |
productName | String | ✅ Yes | Display name | "Standard Fixed Deposit" |
description | String | No | Product description | "Term deposit with guaranteed returns" |
isActive | Boolean | No | Product status | true |
depositAccountType | String | ✅ Yes | Account type | "FixedDeposit" |
lineOfBusiness | Enum | No | Business classification | "Retail" or "Commercial" |
Deposit Amount Configuration
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
minimumAmount | Decimal | ✅ Yes | Minimum deposit | 100000 |
maximumAmount | Decimal | No | Maximum deposit (0 = unlimited) | 0 |
amountIncrements | Decimal | No | Deposit must be in multiples of | 50000 |
Tenor Configuration Section
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
minimumTenorDays | Integer | ✅ Yes | Minimum term | 30 |
maximumTenorDays | Integer | ✅ Yes | Maximum term | 1825 |
allowedTenors[] | Array | No | Specific allowed tenors (days) | [30, 60, 90, 180, 365, 730] |
tenorUnit | Enum | No | Display unit | "Days" or "Months" or "Years" |
Interest Rate Configuration
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
isEnabled | Boolean | ✅ Yes | Whether interest is paid | true |
calculationMethod | Enum | ✅ Yes | Calculation approach | "Simple" or "Compound" |
paymentFrequency | Enum | ✅ Yes | Interest payment schedule | "Maturity" or "Monthly" or "Quarterly" |
rateType | Enum | ✅ Yes | Rate structure | "Fixed" |
Tenor-Based Interest Rates
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
tenorRates[] | Array | ✅ Yes | Rates by tenor bands | See below |
tenorRates[].fromDays | Integer | ✅ Yes | Tenor start (days) | 30 |
tenorRates[].toDays | Integer | No | Tenor end (null = unlimited) | 89 |
tenorRates[].rate | Decimal | ✅ Yes | Interest rate (%) | 6.0 |
Example Tenor-Based Rates:
tenorRates:
- fromDays: 30
toDays: 89
rate: 6.0
- fromDays: 90
toDays: 179
rate: 8.0
- fromDays: 180
toDays: 364
rate: 10.0
- fromDays: 365
toDays: null
rate: 12.0
Amount-Based Rate Bonuses
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
amountBonuses[] | Array | No | Additional rates for larger amounts | See below |
amountBonuses[].fromAmount | Decimal | ✅ Yes | Amount threshold | 5000000 |
amountBonuses[].toAmount | Decimal | No | Amount ceiling | 10000000 |
amountBonuses[].bonusRate | Decimal | ✅ Yes | Additional rate (%) | 1.0 |
Example:
amountBonuses:
- fromAmount: 5000000
toAmount: 9999999
bonusRate: 1.0 # +1% for ₦5M-₦10M
- fromAmount: 10000000
toAmount: null
bonusRate: 1.5 # +1.5% for ₦10M+
Early Liquidation Configuration
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
allowEarlyLiquidation | Boolean | ✅ Yes | Permit premature withdrawal | true |
penaltyType | Enum | No | Penalty calculation method | "ReducedRate" or "PenaltyFee" |
reducedRatePercentage | Decimal | No | % of original rate if liquidated early | 50 |
penaltyFeePercentage | Decimal | No | % of interest as penalty | 30 |
minimumHoldingDays | Integer | No | Cannot liquidate before X days | 7 |
Auto-Renewal Configuration
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
allowAutoRenewal | Boolean | No | Enable automatic rollover | true |
autoRenewalDefault | Boolean | No | Auto-renew by default | false |
rolloverPrincipalOnly | Boolean | No | Exclude interest from rollover | false |
rolloverPrincipalAndInterest | Boolean | No | Include interest in new principal | true |
notifyBeforeMaturity | Boolean | No | Alert before maturity | true |
notificationDaysBefore | Integer | No | Days before maturity | 7 |
Loan Collateral Configuration
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
allowAsLoanCollateral | Boolean | No | Can secure loans | true |
collateralLTV | Decimal | No | Max loan-to-value (%) | 90 |
restrictAccessWhenPledged | Boolean | No | Cannot liquidate if pledged | true |
Fees Configuration Section
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
placementFee | Decimal | No | Fee to create FD | 0 |
earlyLiquidationFee | Decimal | No | Flat fee for early closure | 1000 |
certificateIssuanceFee | Decimal | No | FD certificate fee | 500 |
Eligibility Configuration Section
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
minimumAge | Integer | No | Minimum age | 18 |
allowCorporateDeposits | Boolean | No | Corporate FDs allowed | true |
allowIndividualDeposits | Boolean | No | Personal FDs allowed | true |
requiredDocuments[] | Array | ✅ Yes | Mandatory documents | ["ValidID", "BVN", "SourceOfFunds"] |
kycLevel | Enum | No | Required KYC tier | "Tier2" |
Notifications Configuration Section
| Field Name | Data Type | Required | Description | Example |
|---|---|---|---|---|
sendPlacementConfirmation | Boolean | No | Confirm FD creation | true |
sendMaturityReminder | Boolean | No | Maturity notification | true |
sendRenewalConfirmation | Boolean | No | Confirm auto-renewal | true |
channels.sms | Boolean | No | Enable SMS | true |
channels.email | Boolean | No | Enable email | true |
Complete Sample YAML Configuration
basicInfo:
productCode: "FD-STANDARD-001"
productName: "Standard Fixed Deposit"
description: "Term deposit with guaranteed returns - 30 days to 5 years"
isActive: true
depositAccountType: "FixedDeposit"
lineOfBusiness: "Retail"
currencyCode: "NGN"
depositAmountConfig:
minimumAmount: 100000
maximumAmount: 0 # Unlimited
amountIncrements: 50000
tenorConfig:
minimumTenorDays: 30
maximumTenorDays: 1825 # 5 years
allowedTenors:
- 30 # 1 month
- 60 # 2 months
- 90 # 3 months
- 180 # 6 months
- 365 # 1 year
- 730 # 2 years
- 1095 # 3 years
- 1825 # 5 years
tenorUnit: "Days"
interestConfig:
isEnabled: true
calculationMethod: "Simple"
paymentFrequency: "Maturity"
rateType: "Fixed"
tenorBasedRates:
- fromDays: 30
toDays: 89
rate: 6.0
- fromDays: 90
toDays: 179
rate: 8.0
- fromDays: 180
toDays: 364
rate: 10.0
- fromDays: 365
toDays: 729
rate: 12.0
- fromDays: 730
toDays: null
rate: 14.0
amountBasedBonuses:
- fromAmount: 5000000
toAmount: 9999999
bonusRate: 1.0
- fromAmount: 10000000
toAmount: null
bonusRate: 1.5
earlyLiquidationConfig:
allowEarlyLiquidation: true
penaltyType: "ReducedRate"
reducedRatePercentage: 50
minimumHoldingDays: 7
autoRenewalConfig:
allowAutoRenewal: true
autoRenewalDefault: false
rolloverPrincipalOnly: false
rolloverPrincipalAndInterest: true
notifyBeforeMaturity: true
notificationDaysBefore: 7
loanCollateralConfig:
allowAsLoanCollateral: true
collateralLTV: 90
restrictAccessWhenPledged: true
fees:
placementFee: 0
earlyLiquidationFee: 1000
certificateIssuanceFee: 500
eligibilityConfig:
minimumAge: 18
allowCorporateDeposits: true
allowIndividualDeposits: true
requiredDocuments:
- "ValidID"
- "BVN"
- "SourceOfFunds"
- "ProofOfAddress"
kycLevel: "Tier2"
notificationsConfig:
sendPlacementConfirmation: true
sendMaturityReminder: true
sendRenewalConfirmation: true
channels:
sms: true
email: true
push: true
Use Cases & Examples
Example 1: Standard 6-Month Fixed Deposit
Scenario: Individual wants to invest ₦1,000,000 for 6 months.
Configuration:
depositAmount: ₦1,000,000
tenor: 180 days
rate: 10% p.a.
Return Calculation:
Principal: ₦1,000,000
Rate: 10% per annum
Tenor: 180 days
Simple Interest = Principal × Rate × (Days / 365)
Interest = ₦1,000,000 × 10% × (180 / 365)
Interest = ₦49,315
Maturity Value: ₦1,049,315
Example 2: High-Value 1-Year Deposit with Bonus
Scenario: Corporate entity deposits ₦15,000,000 for 1 year.
Rate Calculation:
tenorBasedRates:
365 days: 12.0%
amountBasedBonuses:
₦10M+: +1.5%
Total Rate: 12.0% + 1.5% = 13.5%
Return Calculation:
Principal: ₦15,000,000
Rate: 13.5% p.a.
Tenor: 365 days
Interest = ₦15M × 13.5%
Interest = ₦2,025,000
Maturity Value: ₦17,025,000
Monthly Equivalent: ₦168,750/month
Example 3: Early Liquidation Scenario
Scenario: Customer needs funds after 90 days of 365-day FD.
Original Terms:
principal: ₦2,000,000
tenor: 365 days
rate: 12%
expectedInterest: ₦240,000
Early Liquidation (Reduced Rate Method):
penaltyType: "ReducedRate"
reducedRatePercentage: 50 # 50% of original rate
Calculation:
Original Rate: 12%
Reduced Rate: 12% × 50% = 6%
Held For: 90 days
Interest Earned: ₦2M × 6% × (90/365) = ₦29,589
Maturity Value: ₦2,029,589
Lost Interest: ₦240,000 - ₦29,589 = ₦210,411
Interest Calculation Methods
Simple Interest (Most Common for FD)
calculationMethod: "Simple"
Formula:
Interest = Principal × Rate × (Tenor / 365)
Example:
Principal: ₦5,000,000
Rate: 10%
Tenor: 180 days
Interest = ₦5M × 10% × (180 / 365)
Interest = ₦246,575
Compound Interest (Rare for FD)
calculationMethod: "Compound"
paymentFrequency: "Quarterly"
Formula:
A = P(1 + r/n)^(nt)
Where:
A = Maturity amount
P = Principal
r = Annual rate
n = Compounding frequency (4 for quarterly)
t = Time in years
Example:
Principal: ₦5,000,000
Rate: 10%
Tenor: 365 days (1 year)
Quarterly compounding
A = ₦5M × (1 + 0.10/4)^(4×1)
A = ₦5M × (1.025)^4
A = ₦5M × 1.10381
A = ₦5,519,050
Interest: ₦519,050 (vs ₦500,000 simple interest)
Tenor-Based Rate Structure
tenorBasedRates:
30-89 days: 6%
90-179 days: 8%
180-364 days: 10%
365-729 days: 12%
730+ days: 14%
Rate Progression Logic:
Longer Tenor = Higher Rate
- Bank has certainty of funds
- Can lend for longer periods
- Rewards customer for locking funds
Typical Increments:
Every 90 days: +1-2%
1 year milestone: +2-3%
2+ years: +1-2% additional
Example Rate Comparison:
₦1,000,000 Investment:
30 days (6%):
Interest = ₦4,932
Annual Equivalent = ₦60,000
180 days (10%):
Interest = ₦49,315
Annual Equivalent = ₦100,000
365 days (12%):
Interest = ₦120,000
Annual Equivalent = ₦120,000
730 days (14%):
Interest = ₦280,000 (2 years)
Annual Equivalent = ₦140,000
Observation: Diminishing returns for very long tenors
Amount-Based Rate Bonuses
amountBasedBonuses:
₦5M-₦10M: +1.0%
₦10M+: +1.5%
Combined Rate Example:
Customer: ₦12,000,000 for 365 days
Base Rate (365 days): 12.0%
Amount Bonus (₦10M+): +1.5%
Total Rate: 13.5%
Interest = ₦12M × 13.5%
Interest = ₦1,620,000
Without Bonus: ₦12M × 12% = ₦1,440,000
Bonus Value: ₦180,000 additional
Threshold Planning:
Customer has ₦9,500,000:
Current Rate: 12% (no bonus)
Interest: ₦1,140,000
Add ₦500,000 to reach ₦10M:
New Rate: 13.5% (+1.5% bonus)
Interest: ₦1,350,000
Benefit: ₦210,000 extra interest
ROI on additional ₦500k: 42%!
Early Liquidation Penalties
Reduced Rate Method
penaltyType: "ReducedRate"
reducedRatePercentage: 50
Example:
Original Terms:
Principal: ₦3,000,000
Tenor: 365 days
Rate: 12%
Expected Interest: ₦360,000
Liquidated After: 120 days
Penalty:
New Rate: 12% × 50% = 6%
Actual Interest: ₦3M × 6% × (120/365) = ₦59,178
Lost Interest: ₦360,000 - ₦59,178 = ₦300,822
Penalty Fee Method
penaltyType: "PenaltyFee"
penaltyFeePercentage: 30
Example:
Original Terms:
Principal: ₦3,000,000
Rate: 12%
Expected Interest: ₦360,000
Liquidated After: 120 days
Interest Earned (full rate): ₦3M × 12% × (120/365) = ₦118,356
Penalty: ₦118,356 × 30% = ₦35,507
Net Interest: ₦118,356 - ₦35,507 = ₦82,849
Plus Early Liquidation Fee: ₦1,000
Total Penalty: ₦36,507
Auto-Renewal Process
autoRenewalConfig:
allowAutoRenewal: true
rolloverPrincipalAndInterest: true
notificationDaysBefore: 7
Timeline:
Day -7 (Before Maturity):
SMS/Email: "Your FD of ₦1M matures in 7 days. Reply 'STOP' to prevent auto-renewal."
Day 0 (Maturity Date):
If no action:
Old FD: ₦1,000,000 principal + ₦120,000 interest = ₦1,120,000
New FD: ₦1,120,000 (principal + interest rolled over)
New Rate: Current market rate for same tenor
Confirmation: "Your FD auto-renewed at 12% for 365 days"
If customer opted out:
Maturity Value: ₦1,120,000 credited to savings account
Notification: "FD matured. ₦1,120,000 credited to your account"
Rollover Options:
# Option 1: Principal Only
rolloverPrincipalOnly: true
Old FD: ₦1M principal + ₦120k interest
New FD: ₦1M (interest credited to savings)
Savings: +₦120,000
# Option 2: Principal + Interest (Compound Growth)
rolloverPrincipalAndInterest: true
Old FD: ₦1M principal + ₦120k interest
New FD: ₦1,120,000 (compounding effect)
Year 1: ₦1,000,000 → ₦1,120,000
Year 2: ₦1,120,000 → ₦1,254,400
Year 3: ₦1,254,400 → ₦1,404,928
FD as Loan Collateral
loanCollateralConfig:
allowAsLoanCollateral: true
collateralLTV: 90
restrictAccessWhenPledged: true
Process:
1. Customer has FD:
Amount: ₦5,000,000
Tenor: 365 days
Rate: 12%
Maturity Value: ₦5,600,000
2. Loan Request:
Requested: ₦4,000,000
LTV: 90% of ₦5M = ₦4,500,000
Status: APPROVED ✅
3. FD Pledged:
FD Status: LIEN_MARKED
Cannot Liquidate: Yes
Loan Interest: 18% (lower because of collateral)
4. Loan Repayment:
Option A: Repay loan from other sources → FD lien released
Option B: Use FD maturity value to repay loan automatically
Benefits:
Without FD Collateral:
Personal Loan: 24% interest
Loan Amount: ₦4M
Annual Interest: ₦960,000
With FD Collateral:
Collateralized Loan: 18% interest
Loan Amount: ₦4M
Annual Interest: ₦720,000
FD Earning: 12% on ₦5M = ₦600,000
Net Cost: ₦720,000 - ₦600,000 = ₦120,000
Effective Rate: 3% (₦120k on ₦4M)
Validation Rules
Amount Validation
Implementation details removed for security.
Contact support for implementation guidance.
Tenor Validation
Implementation details removed for security.
Contact support for implementation guidance.
Early Liquidation Validation
Implementation details removed for security.
Contact support for implementation guidance.
Troubleshooting
Issue: "Rate lower than expected"
Cause: Shorter tenor or smaller amount.
Solutions:
Current:
Amount: ₦3,000,000
Tenor: 90 days
Rate: 8%
Interest: ₦59,178
Optimization 1: Increase Tenor
Tenor: 180 days
Rate: 10%
Interest: ₦147,945 (2.5× more)
Optimization 2: Increase Amount to ₦5M
Amount: ₦5,000,000
Tenor: 90 days
Rate: 8% + 1% = 9% (amount bonus)
Interest: ₦110,959
Optimization 3: Both
Amount: ₦5,000,000
Tenor: 180 days
Rate: 10% + 1% = 11%
Interest: ₦271,233
Issue: "Need funds before maturity"
Cause: Emergency or unexpected expense.
Solutions:
FD: ₦2,000,000 @ 12% for 365 days
Current Status: 180 days completed
Option 1: Early Liquidation
Interest earned: ₦2M × 6% × (180/365) = ₦59,178 (reduced rate)
Receive: ₦2,059,178
Lost: ₦180,822
Option 2: FD-Backed Loan
Loan: ₦1,800,000 (90% LTV)
Interest: 18% for 6 months = ₦162,000
Keep FD earning: ₦120,000
Net cost: ₦42,000
At maturity: Repay loan, net ₦200,000 - ₦42,000 = ₦158,000 ✅
Option 2 better by ₦98,822!
Issue: "Auto-renewal not desired"
Cause: Want to use funds at maturity.
Solutions:
Prevent Auto-Renewal:
Method 1: Opt-Out Before Maturity
Call/Email bank 7 days before
Confirm opt-out via SMS/email
Method 2: Disable at Creation
autoRenewalDefault: false
Method 3: Close Account
Request closure 1 day before maturity
Funds credited to linked account
Migration from V1
V1 Fixed Deposit Mapping
| V1 Field/Table | V2 YAML Path |
|---|---|
| MinimumDeposit | depositAmountConfig.minimumAmount |
| TenorDays | tenorConfig.allowedTenors[] |
| InterestRate | tenorBasedRates[].rate |
| EarlyWithdrawalPenalty | earlyLiquidationConfig.reducedRatePercentage |
| AutoRenew | autoRenewalConfig.allowAutoRenewal |
| CollateralLTV | loanCollateralConfig.collateralLTV |
Last Updated: January 2, 2026
API Version: V2 (BPMCore)
Product Category: Deposit Products
Complexity: âââ (Moderate - Tenor & Rate Management)