Skip to main content

Deposit Products - V2 Configuration

Welcome to the BankLingo V2 Deposit Product Configuration Guide. In BankLingo V2, all product configurations are stored in YAML format within the ConfigData field, providing a flexible and comprehensive approach to managing deposit accounts.

What's New in V2?

Unified Configuration

  • Single Source of Truth: All product settings in one YAML configuration
  • Version Control: Track, compare, and rollback configurations
  • No Relationship Tables: V2 eliminates multiple V1 relationship tables
  • Backward Compatible: V1 products continue working seamlessly

V1 to V2 Transition

V1 Architecture (Legacy):

  • Multiple relationship tables: DepositProductInterestSetting, DepositSavingsSetting, DepositTermSetting, etc.
  • Configuration spread across 8+ database tables
  • Complex joins and includes

V2 Architecture (Current):

  • Single ConfigData field containing complete YAML
  • ProductConfigHelper provides V1 fallback
  • BPMCore handlers use ConfigData exclusively

Allowed V1 Fields (For Reference Only)

When working with V2, only these fields from the DepositProduct table are accessed:

FieldPurposeUsage in V2
KeyProduct identifierUsed directly
EncodedKeyEncoded identifierUsed directly
IsActiveProduct statusUsed directly
LineOfBusinessBusiness lineUsed directly
ProductNameProduct nameUsed directly
DepositProductDescriptionProduct descriptionUsed directly
ConfigDataV2 YAML configurationPrimary configuration source
CurrencyIdCurrency referenceUsed directly
DateCreatedCreation timestampUsed directly

All other V1 fields and relationship tables are NOT used in V2.

Available Deposit Products

BankLingo V2 supports the following deposit product types:

  1. Savings Account - Daily transaction savings accounts
  2. Current Account - Business transactional accounts
  3. Fixed Deposit - Term deposits with guaranteed returns
  4. Call Deposit - Notice-period withdrawal accounts
  5. Target Savings - Goal-based savings accounts

Common YAML Structure

All deposit products share this basic structure:

productCode: "SAV-001"
productName: "Savings Account"
isActive: true
depositAccountType: "Savings"
description: "Standard savings account with tiered interest"

automaticallySetAccountAsDormant: true
dormancyAfterXDays: 180

interestConfiguration:
enabled: true
calculationBasis: "DailyBalance"
paymentFrequency: "Monthly"
defaultRate: 5.0

minimumBalanceConfig:
initialDeposit: 1000
maintainBalance: 500
chargeIfBelow: true

transactionLimits:
deposits:
minAmountPerDeposit: 100
withdrawals:
maxAmountPerDay: 500000
maxTransactionsPerMonth: 10

# ... additional sections based on product type

Key Configuration Sections

Required Sections

Every deposit product must include:

  • productCode - Unique product identifier
  • productName - Display name
  • depositAccountType - Account type (Savings, Current, Fixed, etc.)
  • interestConfiguration - Interest rate settings

Optional Sections

Customize based on business needs:

  • minimumBalanceConfig - Balance requirements
  • transactionLimits - Deposit/withdrawal restrictions
  • fees - Account maintenance and transaction fees
  • withholdingTax - Tax deduction configuration
  • dormancyConfig - Inactivity settings
  • termSettings - For fixed/term deposits
  • tierRates - Balance-based interest tiers
  • accountingConfig - GL account mappings
  • eligibilityConfig - Customer eligibility criteria
  • notificationsConfig - Alert and notification settings

YAML Field Types

Data Types Used

  • String: Text values (e.g., "Savings Account")
  • Number: Numeric values (e.g., 5.0, 1000)
  • Boolean: True/false flags (e.g., true, false)
  • Array: Lists of items (e.g., fees, tier rates)
  • Object: Nested configurations (e.g., interestConfiguration)
  • Enum: Predefined options (e.g., "DailyBalance")

Common Enums

Deposit Account Type:

  • Savings - Savings accounts
  • Current - Current/checking accounts
  • FixedDeposit - Term deposits
  • CallDeposit - Notice-period accounts
  • RecurringDeposit - Regular deposit schemes

Interest Calculation Basis:

  • DailyBalance - Daily average balance
  • MinimumMonthlyBalance - Lowest balance in month
  • EndOfMonthBalance - Balance at month-end
  • TenorBased - Based on deposit term

Interest Payment Frequency:

  • Monthly, Quarterly, SemiAnnually, Annually, OnMaturity

Getting Started

For Product Managers

  1. Choose the product type closest to your needs
  2. Review the YAML field explanation table
  3. Copy the sample YAML configuration
  4. Customize values for your requirements
  5. Validate using the provided examples

For Developers

  1. Use ProductConfigHelper.GetDepositConfigOrDefault() to parse ConfigData
  2. Access configuration via the returned DepositProductConfig object
  3. All BPMCore handlers use this helper for consistency
  4. V1 fallback is automatic when ConfigData is null

Validation Rules

The YAML configuration includes built-in validation:

  • Required fields: Must be present (marked in field tables)
  • Range validation: Min/max checks on numeric values
  • Enum validation: Values must match predefined options
  • Cross-field validation: Logical consistency checks
  • Custom business rules: Product-specific validations

Product Comparison

FeatureSavingsCurrentFixed DepositCall DepositTarget Savings
LiquidityHighVery HighLockedMediumLocked
Interest Rate2-6.5%0-0.5%6-14%5-9.5%5-11%
Transaction Limit10/monthUnlimitedNoneNotice requiredNone until goal
Min Balance₦1k₦10k₦100k₦500k₦0
Best ForDaily useBusiness opsLump sumPlanned expensesSaving goals

Migration Path

Existing V1 Products

  • Continue working without changes
  • ProductConfigHelper provides automatic V1-to-V2 mapping
  • No immediate migration required

New V2 Products

  • Create ConfigData YAML from scratch
  • Use product templates as starting points
  • Test thoroughly before deployment

Gradual Migration

  • Migrate products one at a time
  • Compare V1 and V2 behavior
  • Update ConfigData as business rules evolve
  • Eventually retire V1 tables when all products migrated

Support & Resources

  • Field Reference: Each product page has detailed field tables
  • Sample Configurations: Complete working YAML examples
  • Use Cases: Common product configurations
  • Troubleshooting: Common issues and solutions
  • API Integration: Code examples for BPMCore handlers

Next Steps

Choose a deposit product type to explore its detailed configuration:


Last Updated: January 2, 2026
API Version: V2 (BPMCore)
Configuration Format: YAML