Loan Products - V2 Configuration
Welcome to the BankLingo V2 Loan Product Configuration Guide. In BankLingo V2, all product configurations are stored in YAML format within the ConfigData field, providing a flexible and version-controlled approach to product management.
What's New in V2?
Unified Configuration
- Single Source of Truth: All product settings are now in one YAML configuration
- Version Control: YAML configurations can be tracked, compared, and rolled back
- No Relationship Tables: V2 eliminates the need for multiple V1 relationship tables
- Backward Compatible: V1 products continue to work seamlessly
V1 to V2 Transition
V1 Architecture (Legacy):
- Multiple relationship tables:
LoanProductInterestSetting,RepaymentReschedulingSetting,LoanAmountSetting, etc. - Configuration spread across 10+ database tables
- Complex joins and includes
V2 Architecture (Current):
- Single
ConfigDatafield 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 LoanProduct table are accessed:
| Field | Purpose | Usage in V2 |
|---|---|---|
Key | Product identifier | Used directly |
EncodedKey | Encoded identifier | Used directly |
IsActive | Product status | Used directly |
LineOfBusiness | Business line | Used directly |
ProductName | Product name | Used directly |
ConfigData | V2 YAML configuration | Primary configuration source |
CurrencyId | Currency reference | Used directly |
DateCreated | Creation timestamp | Used directly |
All other V1 fields and relationship tables are NOT used in V2.
Available Loan Products
BankLingo V2 supports the following loan product types:
- Personal Loan - Unsecured general-purpose lending
- Business/SME Loan - Working capital and business expansion
- Salary Advance - Short-term salary-based lending
- Asset Finance - Equipment and vehicle financing
- Overdraft - Revolving credit facility
Common YAML Structure
All loan products share this basic structure:
basicInfo:
productCode: "..."
productName: "..."
description: "..."
isActive: true
loanProductType: "..."
repaymentAllocationOrder: "..."
loanTenure:
minimumMonths: 6
maximumMonths: 60
principalRange:
minimumAmount: 50000
maximumAmount: 5000000
defaultAmount: 500000
interestConfig:
isEnabled: true
rate:
default: 15.5
minimum: 12.0
maximum: 35.0
calculationMethod: "DecliningBalance"
repaymentConfig:
frequency: "Monthly"
allocationOrder: "FEES_PENALTY_INTEREST_PRINCIPAL"
# ... additional sections based on product type
Key Configuration Sections
Required Sections
Every loan product must include:
- basicInfo - Product identification and metadata
- loanTenure - Minimum and maximum loan duration
- interestConfig - Interest rate configuration
- repaymentConfig - Repayment schedule settings
Optional Sections
Customize based on business needs:
- principalRange - Loan amount limits
- fees - Product-specific fees
- collateralConfig - Collateral requirements
- penaltyConfig - Late payment penalties
- moratorium - Grace period settings
- accountingConfig - GL account mappings
- eligibilityConfig - Customer eligibility criteria
- notificationsConfig - Alert and notification settings
YAML Field Types
Data Types Used
- String: Text values (e.g.,
"Personal Loan") - Number: Numeric values (e.g.,
15.5,12) - Boolean: True/false flags (e.g.,
true,false) - Array: Lists of items (e.g., fees, collateral types)
- Object: Nested configurations (e.g., interestConfig)
- Enum: Predefined options (e.g.,
"DecliningBalance")
Common Enums
Loan Product Type:
FixedTermLoan- Standard fixed-term loansDynamicTermLoan- Flexible term loansRevolvingCredit- Overdraft-style productsTranchedLoan- Multi-disbursement loans
Interest Calculation Method:
DecliningBalance(Reducing Balance) - Interest on remaining principalFlat- Interest on original principalDecliningBalanceEqualInstallments- Equal monthly payments
Repayment Frequency:
Daily,Weekly,Biweekly,Monthly,Quarterly,Yearly
Getting Started
For Product Managers
- Choose the product type closest to your needs
- Review the YAML field explanation table
- Copy the sample YAML configuration
- Customize values for your requirements
- Validate using the provided examples
For Developers
- Use
ProductConfigHelper.GetLoanConfigOrDefault()to parse ConfigData - Access configuration via the returned
LoanProductConfigobject - All BPMCore handlers use this helper for consistency
- 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
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 loan product type to explore its detailed configuration:
- Personal Loan → - Start with the simplest product
- Business Loan → - Most comprehensive configuration
- Salary Advance → - Digital-first, mobile-optimized
- Asset Finance → - Secured lending with collateral
- Overdraft → - Revolving credit facility
Last Updated: January 2, 2026
API Version: V2 (BPMCore)
Configuration Format: YAML