Skip to main content

Overdraft - V2 Configuration

Product Type: Revolving Credit Facility
Use Case: Short-term working capital, cash flow management
Typical Amount: ₦500,000 - ₦50,000,000
Typical Tenor: 12 months (revolving)
Interest Rate: 18% - 32% per annum (on utilized amount)


Overview

Overdraft is a revolving credit facility linked to a current account, allowing customers to withdraw beyond their account balance up to an approved limit. Interest is charged only on the utilized amount on a daily balance basis.

Key Features

  • Revolving Credit: Borrow, repay, and re-borrow up to limit
  • Daily Balance Interest: Only pay for what you use
  • Current Account Linked: Integrated with operating account
  • Commitment Fee: Fee on unutilized portion
  • Return-to-Zero: Periodic full repayment requirement
  • Collateral Based: Security typically required
  • Annual Review: Limit and terms reviewed yearly

YAML Field Reference

Basic Information Section

Field NameData TypeRequiredDescriptionExample
productCodeString✅ YesUnique product code"OD-SME-001"
productNameString✅ YesDisplay name"SME Overdraft Facility"
descriptionStringNoProduct description"Revolving credit for SMEs"
isActiveBooleanNoProduct statustrue
loanProductTypeStringNoLoan type"Overdraft"
lineOfBusinessEnumNoBusiness classification"Commercial"

Facility Limit Section

Field NameData TypeRequiredDescriptionExample
minimumLimitDecimalNoMinimum facility limit500000
maximumLimitDecimalNoMaximum facility limit50000000
defaultLimitDecimalNoDefault offered limit5000000
limitCalculationBasisEnumNoHow limit is determined"AverageMonthlyTurnover"
turnoverMultiplierDecimalNoMultiplier for turnover-based0.25

Limit Calculation Basis: AverageMonthlyTurnover, NetMonthlyIncome, Collateral Value, FixedAmount

Facility Tenor Section

Field NameData TypeRequiredDescriptionExample
minimumTenorIntegerNoMinimum months6
maximumTenorIntegerNoMaximum months12
defaultTenorIntegerNoDefault tenor12
autoRenewalBooleanNoAuto-renew at maturityfalse
reviewFrequencyEnumNoReview period"Annual"

Interest Configuration Section

Field NameData TypeRequiredDescriptionExample
isEnabledBoolean✅ YesWhether interest is chargedtrue
rate.defaultDecimal✅ YesDefault interest rate (%)24.0
rate.minimumDecimalNoMinimum rate (%)18.0
rate.maximumDecimalNoMaximum rate (%)32.0
calculationMethodEnum✅ YesCalculation method"DailyBalance"
rateTermsEnumNoRate period"PerYear"
compoundingFrequencyEnumNoInterest compounding"Monthly"

Daily Balance Interest Calculation

Field NameData TypeRequiredDescriptionExample
dailyBalanceMethodEnum✅ YesCalculation approach"AverageDailyBalance" or "DailyProduct"
yearBasisEnumNoDays in year"365" or "360"
interestApplicationFrequencyEnumNoWhen to post interest"Monthly"
minimumChargeAmountDecimalNoMin monthly interest1000

Daily Interest Formula:

Daily Interest = (Utilized Amount × Annual Rate) / Year Basis
Monthly Interest = Sum of all daily interests

Commitment Fee Configuration

Field NameData TypeRequiredDescriptionExample
chargeCommitmentFeeBooleanNoFee on unutilized portiontrue
commitmentFeeRateDecimalNoFee rate (% per quarter)1.0
commitmentFeeFrequencyEnumNoFee collection period"Quarterly"
feeOnUnutilizedOnlyBooleanNoOnly charge unutilizedtrue

Commitment Fee Formula:

Quarterly Fee = (Limit - Average Utilized) × Fee Rate

Return-to-Zero Requirements

Field NameData TypeRequiredDescriptionExample
requireReturnToZeroBooleanNoMandate full repaymenttrue
returnToZeroFrequencyEnumNoHow often"Quarterly"
returnToZeroDaysIntegerNoDays to maintain zero balance7
allowedRTZDeviationsIntegerNoPermitted missed periods1

Return-to-Zero Purpose: Ensures facility is truly short-term and prevents evergreen debt.

Collateral Configuration Section

Field NameData TypeRequiredDescriptionExample
isRequiredBoolean✅ YesCollateral mandatorytrue
types[]Array✅ YesAccepted collateral types["Property", "Shares", "CashDeposit"]
coverageRatioDecimal✅ YesRequired coverage (%)150
minimumCoverageRatioDecimalNoMinimum acceptable (%)120
acceptUnsecuredBooleanNoAllow without collateralfalse
unsecuredMaxLimitDecimalNoMax unsecured limit1000000

Eligibility Configuration Section

Field NameData TypeRequiredDescriptionExample
minimumAgeIntegerNoMinimum age25
maximumAgeIntegerNoMaximum age65
minimumMonthlyTurnoverDecimalNoMin business turnover2000000
minimumAccountAgeIntegerNoAccount age in months12
employmentStatus[]ArrayNoAccepted types["Business", "SelfEmployed"]
requiredDocuments[]Array✅ YesMandatory documentsSee below
kycLevelEnumNoRequired KYC tier"Tier3"

Required Documents:

requiredDocuments:
- "ValidID"
- "BankStatement12Months"
- "BusinessRegistration"
- "TaxClearance"
- "BoardResolution"
- "FinancialStatements"
- "CollateralDocuments"

Fees Configuration Section

Field NameData TypeRequiredDescriptionExample
fees[].codeString✅ YesFee code"MAN_FEE"
fees[].nameString✅ YesFee name"Management Fee"
fees[].feeTypeEnum✅ YesCollection method"Upfront"
fees[].calculationTypeEnum✅ YesCalculation type"PercentOfLimit"
fees[].valueDecimal✅ YesFee amount/percentage1.0
fees[].frequencyEnumNoRecurring frequency"Annual"
fees[].glAccountIdInteger✅ YesGL account40001

Utilization Configuration Section

Field NameData TypeRequiredDescriptionExample
allowFullUtilizationBooleanNoCan utilize 100% of limittrue
utilizationWarningThresholdDecimalNoAlert at % utilized80
restrictMultipleDrawdownsBooleanNoLimit number of withdrawalsfalse
minimumDrawdownAmountDecimalNoMin withdrawal amount10000

Monitoring Configuration Section

Field NameData TypeRequiredDescriptionExample
requirePeriodicReviewBooleanNoMandatory facility reviewtrue
reviewFrequencyEnumNoReview period"Annual"
requireFinancialStatementsBooleanNoAnnual financials requiredtrue
monitoConductAlertBooleanNoAlert on irregular conducttrue

Notifications Configuration Section

Field NameData TypeRequiredDescriptionExample
sendFacilityApprovalNotificationBooleanNoNotify approvaltrue
sendUtilizationAlertsBooleanNoAlert on usagetrue
sendReturnToZeroReminderBooleanNoRTZ remindertrue
sendRenewalReminderBooleanNoRenewal noticetrue
reminderDaysBeforeIntegerNoDays before event30
channels.smsBooleanNoEnable SMStrue
channels.emailBooleanNoEnable emailtrue

Complete Sample YAML Configuration

basicInfo:
productCode: "OD-SME-001"
productName: "SME Overdraft Facility"
description: "Revolving credit facility for small and medium enterprises"
isActive: true
loanProductType: "Overdraft"
repaymentAllocationOrder: "FEES_PENALTY_INTEREST_PRINCIPAL"
lineOfBusiness: "Commercial"
currencyCode: "NGN"

facilityLimitConfig:
minimumLimit: 500000
maximumLimit: 50000000
defaultLimit: 5000000
limitCalculationBasis: "AverageMonthlyTurnover"
turnoverMultiplier: 0.25

facilityTenorConfig:
minimumTenor: 6
maximumTenor: 12
defaultTenor: 12
autoRenewal: false
reviewFrequency: "Annual"

interestConfig:
isEnabled: true
rate:
default: 24.0
minimum: 18.0
maximum: 32.0
calculationMethod: "DailyBalance"
rateTerms: "PerYear"
compoundingFrequency: "Monthly"

dailyBalanceConfig:
dailyBalanceMethod: "AverageDailyBalance"
yearBasis: "365"
interestApplicationFrequency: "Monthly"
minimumChargeAmount: 1000

commitmentFeeConfig:
chargeCommitmentFee: true
commitmentFeeRate: 1.0
commitmentFeeFrequency: "Quarterly"
feeOnUnutilizedOnly: true

returnToZeroConfig:
requireReturnToZero: true
returnToZeroFrequency: "Quarterly"
returnToZeroDays: 7
allowedRTZDeviations: 1

collateralConfig:
isRequired: true
types:
- "Property"
- "Shares"
- "CashDeposit"
- "Debenture"
coverageRatio: 150
minimumCoverageRatio: 120
acceptUnsecured: false
unsecuredMaxLimit: 0

eligibilityConfig:
minimumAge: 25
maximumAge: 65
minimumMonthlyTurnover: 2000000
minimumAccountAge: 12
employmentStatus:
- "Business"
- "SelfEmployed"
requiredDocuments:
- "ValidID"
- "BankStatement12Months"
- "BusinessRegistration"
- "TaxClearance"
- "BoardResolution"
- "FinancialStatements2Years"
- "CollateralDocuments"
kycLevel: "Tier3"

fees:
- code: "MAN_FEE"
name: "Management Fee"
feeType: "Upfront"
calculationType: "PercentOfLimit"
value: 1.0
frequency: "Annual"
glAccountId: 40001

- code: "PROC_FEE"
name: "Processing Fee"
feeType: "Upfront"
calculationType: "Flat"
value: 50000
glAccountId: 40002

utilizationConfig:
allowFullUtilization: true
utilizationWarningThreshold: 80
restrictMultipleDrawdowns: false
minimumDrawdownAmount: 10000

monitoringConfig:
requirePeriodicReview: true
reviewFrequency: "Annual"
requireFinancialStatements: true
monitorAccountConduct: true

notificationsConfig:
sendFacilityApprovalNotification: true
sendUtilizationAlerts: true
sendReturnToZeroReminder: true
sendRenewalReminder: true
reminderDaysBefore: 30
channels:
sms: true
email: true
push: false

penaltyConfig:
isEnabled: true
tolerancePeriod: 0
calculationMethod: "ExcessAmount_DaysLate_Rate"
rate:
default: 5.0
minimum: 3.0
maximum: 10.0

Use Cases & Examples

Example 1: SME Working Capital Overdraft

Scenario: Manufacturing business needs flexible working capital.

Business Profile:

  • Average Monthly Turnover: ₦20,000,000
  • Business Age: 5 years
  • Account Age: 3 years
  • Collateral: Property valued at ₦30M

Facility Limit Calculation:

limitCalculationBasis: "AverageMonthlyTurnover"
turnoverMultiplier: 0.25

Limit = ₦20M × 0.25 = ₦5,000,000

Collateral Verification:

Required Coverage: 150%
Required Collateral: ₦5M × 150% = ₦7.5M
Provided Collateral: ₦30M ✅

Coverage Ratio: ₦30M / ₦5M = 600% (Well covered)

Monthly Cost Example (Month 1):

Day 1-10:  Utilized ₦0 (No cost)
Day 11-20: Utilized ₦3M
Day 21-31: Utilized ₦5M

Daily Rate = 24% / 365 = 0.0657% per day

Interest Calculation:
Days 1-10: ₦0 × 0.0657% × 10 days = ₦0
Days 11-20: ₦3M × 0.0657% × 10 days = ₦19,710
Days 21-31: ₦5M × 0.0657% × 11 days = ₦36,135

Total Monthly Interest: ₦55,845

Average Utilization: (₦3M × 10 + ₦5M × 11) / 31 = ₦2.74M
Unutilized: ₦5M - ₦2.74M = ₦2.26M

Quarterly Commitment Fee: ₦2.26M × 1% = ₦22,600

Example 2: Return-to-Zero Requirement

Scenario: Quarterly RTZ requirement with 7-day zero balance.

Configuration:

returnToZeroConfig:
requireReturnToZero: true
returnToZeroFrequency: "Quarterly"
returnToZeroDays: 7

Timeline:

Q1: Jan-Mar
Jan: Utilized ₦2M-₦5M (fluctuating)
Feb: Utilized ₦3M-₦4M
Mar 25: Full repayment → ₦0 balance
Mar 25-31: Zero balance maintained (7 days) ✅

Q2: Apr-Jun
Apr 1: Can utilize facility again
Apr-May: Utilized ₦1M-₦4M
Jun 25: Full repayment → ₦0 balance
Jun 25-Jul 1: Zero balance (7 days) ✅

Purpose: Confirms facility is temporary working capital, not permanent debt

Non-Compliance:

Q3: Jul-Sep
Jul-Sep: Continuous utilization
Sep 30: Did NOT return to zero ❌

Consequences:
- Warning letter
- Penalty interest (additional 2-5%)
- Risk of facility suspension
- 2nd deviation: Facility cancellation

Example 3: Commitment Fee Calculation

Scenario: ₦10M facility with varying utilization.

Configuration:

commitmentFeeConfig:
chargeCommitmentFee: true
commitmentFeeRate: 1.0 # 1% per quarter
feeOnUnutilizedOnly: true

Q1 Calculation:

Facility Limit: ₦10,000,000

Monthly Average Utilization:
January: ₦2M
February: ₦3M
March: ₦4M
Average: ₦3M

Unutilized Portion: ₦10M - ₦3M = ₦7M

Commitment Fee: ₦7M × 1% = ₦70,000 (charged end of Q1)

Customer pays:
- Interest on ₦3M utilized (daily basis)
- Commitment fee on ₦7M unutilized (quarterly)

Daily Balance Interest Calculation

dailyBalanceConfig:
dailyBalanceMethod: "AverageDailyBalance"
yearBasis: "365"

Method 1: Average Daily Balance

Daily Balance × Number of Days × (Annual Rate / Year Basis)

Example (30-day month):
Days 1-15: ₦2,000,000
Days 16-30: ₦4,000,000

Interest Days 1-15: ₦2M × 15 × (24% / 365) = ₦19,726
Interest Days 16-30: ₦4M × 15 × (24% / 365) = ₦39,452

Total Monthly Interest: ₦59,178

Method 2: Daily Product (Exact)

Sum of (Daily Closing Balance × Daily Rate)

Example:
Day 1: ₦1M × 0.0657% = ₦657
Day 2: ₦1.5M × 0.0657% = ₦986
Day 3: ₦2M × 0.0657% = ₦1,315
...
Day 30: ₦3M × 0.0657% = ₦1,972

Sum all 30 days = Monthly Interest

Comparison to Fixed Loan:

Fixed Loan (₦5M, 24% p.a.):
Monthly Interest: ₦100,000 (always)

Overdraft (₦5M limit, 24% p.a.):
If utilized ₦5M full month: ₦100,000
If utilized ₦2.5M average: ₦50,000
If utilized ₦1M average: ₦20,000
If not utilized: ₦0 interest (only commitment fee)

Advantage: Pay only for what you use ✅

Facility Limit Determination

limitCalculationBasis: "AverageMonthlyTurnover"
turnoverMultiplier: 0.25

Common Calculation Methods:

1. Turnover-Based (Most Common for SMEs):

Limit = Average Monthly Turnover × Multiplier

Example:
Monthly Turnover: ₦20M
Multiplier: 0.25 (25%)
Limit: ₦5M

Rationale: 25% of turnover provides adequate working capital buffer

2. Income-Based (Salaried Individuals):

Limit = Net Monthly Income × Multiplier

Example:
Monthly Income: ₦500,000
Multiplier: 2.0 (200%)
Limit: ₦1M

3. Collateral-Based:

Limit = (Collateral Value / Required Coverage) × 100

Example:
Collateral: ₦30M property
Coverage Required: 150%
Limit: (₦30M / 150%) × 100 = ₦20M

4. Fixed Amount (Relationship-Based):

Limit determined by:
- Relationship history
- Banking conduct
- Credit bureau reports
- Management discretion

Return-to-Zero (RTZ) Enforcement

returnToZeroConfig:
requireReturnToZero: true
returnToZeroFrequency: "Quarterly"
returnToZeroDays: 7

Purpose:

  • Prevent facility from becoming term loan
  • Confirm business seasonality/cash flow
  • Reduce credit risk
  • Ensure facility is truly revolving

Monitoring:

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

Best Practices:

Quarter 1 (Jan-Mar):
✅ Plan RTZ for end of March
✅ Accumulate cash to clear balance
✅ Maintain zero for 7 days
✅ Resume utilization in April

Communication:
30 days before: Reminder notification
14 days before: Follow-up reminder
7 days before: Final reminder
Due date: Compliance check

Collateral Requirements

collateralConfig:
coverageRatio: 150
types:
- "Property"
- "Shares"
- "CashDeposit"

Coverage Levels by Limit Size:

Limit ≤ ₦5M:
Coverage: 120-150%
Accepted: Property, Shares, Cash

Limit ₦5M-₦20M:
Coverage: 150%
Preferred: Property, Debenture

Limit > ₦20M:
Coverage: 150-200%
Required: First-class collateral (property)

Example:

Facility: ₦10,000,000
Coverage Required: 150%
Minimum Collateral: ₦15,000,000

Provided Collateral:
- Property (₦20M professional valuation) ✅
- Shares (₦5M market value) ✅
Total: ₦25M (250% coverage) ✅✅

Why Higher Coverage?
- Overdraft is revolving (higher risk)
- No fixed repayment schedule
- Continuous exposure
- Market value fluctuation buffer

Validation Rules

Limit Validation

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

Collateral Coverage Validation

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

RTZ Compliance Check

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.


Troubleshooting

Issue: "Limit exceeds turnover-based calculation"

Cause: Requested limit is higher than allowed multiple of turnover.

Solution:

Average Monthly Turnover: ₦10M
Multiplier: 0.25
Maximum Limit: ₦2.5M

Requested: ₦5M ❌

Options:
1. Reduce limit to ₦2.5M
2. Provide evidence of higher turnover
3. Switch to collateral-based calculation
4. Combination approach (turnover + collateral)

Issue: "Return-to-Zero not met"

Cause: Failed to clear facility for required days.

Solutions:

Required: 7 consecutive days at zero balance
Actual: 4 days

Options:
1. Clear balance immediately and restart 7-day count
2. Request RTZ waiver (rare, management discretion)
3. Accept penalty interest
4. Risk facility suspension if repeated

Prevention:
- Plan RTZ 30 days in advance
- Build cash reserves
- Schedule supplier payments around RTZ
- Use alternative funding temporarily

Issue: "High commitment fee"

Cause: Low utilization resulting in high fee on unutilized portion.

Solutions:

Facility Limit: ₦10M
Average Utilization: ₦2M (20%)
Unutilized: ₦8M
Quarterly Fee: ₦80,000 (high relative to usage)

Option 1: Reduce Facility Limit
New Limit: ₦3M
Average Utilization: ₦2M (67%)
Unutilized: ₦1M
Quarterly Fee: ₦10,000 ✅

Option 2: Increase Utilization
Use facility more actively
Optimize working capital management

Option 3: Request Fee Waiver/Reduction
Negotiate with relationship manager
Based on overall relationship value

Migration from V1

V1 Overdraft Mapping

V1 Field/TableV2 YAML Path
OverdraftLimitfacilityLimitConfig.maximumLimit
DailyInterestRateinterestConfig.rate.default (converted)
CommitmentFeecommitmentFeeConfig.commitmentFeeRate
ReturnToZeroPeriodreturnToZeroConfig.returnToZeroFrequency
CollateralCoveragecollateralConfig.coverageRatio
ReviewFrequencyfacilityTenorConfig.reviewFrequency

Sample Migration Script

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.


Last Updated: January 2, 2026
API Version: V2 (BPMCore)
Product Category: Loan Products
Complexity: ⭐⭐⭐⭐ (Complex - Revolving Facility)