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)