Skip to main content

Salary Advance - V2 Configuration

Product Type: Digital Salary-Based Lending
Use Case: Emergency cash, short-term needs, payday advance
Typical Amount: ₦10,000 - ₦500,000
Typical Tenor: 1-6 months
Interest Rate: 5% - 15% per month (flat)


Overview

Salary Advance is a digital-first, mobile-optimized loan product for salaried employees with salary domiciliation. Designed for instant approval and quick disbursement, typically within 5 minutes.

Key Features

  • Instant Approval: Automated decisioning in < 5 minutes
  • Salary Domiciliation Required: Salary must be paid into bank account
  • Auto-Debit Repayment: Automatic deduction on salary payment date
  • Digital-First: Mobile app and USSD application
  • Minimal Documentation: Employment letter only
  • Flexible Amounts: 30%-75% of net monthly salary
  • Cooling-Off Period: Mandatory 30 days between loans

YAML Field Reference

Basic Information Section

Field NameData TypeRequiredDescriptionExample
productCodeString✅ YesUnique product code"SA-INSTANT-001"
productNameString✅ YesDisplay name"Instant Salary Advance"
descriptionStringNoProduct description"Quick cash for salaried staff"
isActiveBooleanNoProduct statustrue
loanProductTypeStringNoLoan type"SalaryAdvance"
lineOfBusinessEnumNoBusiness classification"Retail"

Loan Tenure Section

Field NameData TypeRequiredDescriptionExample
minimumMonthsInteger✅ YesMinimum tenor1
maximumMonthsInteger✅ YesMaximum tenor6
defaultMonthsIntegerNoDefault tenor1

Principal Range Section

Field NameData TypeRequiredDescriptionExample
minimumAmountDecimalNoMinimum loan amount10000
maximumAmountDecimalNoMaximum loan amount500000
defaultAmountDecimalNoDefault amount50000
salaryPercentage.minimumDecimalNoMin % of net salary30
salaryPercentage.maximumDecimalNoMax % of net salary75
salaryPercentage.defaultDecimalNoDefault % of net salary50

Salary Domiciliation Configuration

Field NameData TypeRequiredDescriptionExample
requireSalaryDomiciliationBoolean✅ YesMandatory salary paymenttrue
minimumSalaryMonthsInteger✅ YesMin months of salary history3
minimumNetSalaryDecimalNoMin monthly net salary50000
verificationMethodEnum✅ YesSalary verification method"BankStatement"
employmentTypes[]ArrayNoAccepted employment types["Permanent", "Contract"]
excludedEmployers[]ArrayNoBlacklisted employers[]

Verification Methods: BankStatement, EmployerConfirmation, PaySlip, TaxRemittance

Interest Configuration Section

Field NameData TypeRequiredDescriptionExample
isEnabledBoolean✅ YesWhether interest is chargedtrue
rate.defaultDecimal✅ YesDefault rate (% per month)5.0
rate.minimumDecimalNoMinimum rate3.0
rate.maximumDecimalNoMaximum rate15.0
calculationMethodEnum✅ YesCalculation method"FlatRate"
rateTermsEnumNoRate period"PerMonth"

Auto-Debit Configuration Section

Field NameData TypeRequiredDescriptionExample
enableAutoDebitBoolean✅ YesAutomatic repaymenttrue
debitAccountSourceEnum✅ YesWhich account to debit"SalaryAccount"
debitTimingEnum✅ YesWhen to debit"OnSalaryPayment"
debitDayOffsetIntegerNoDays after salary payment0
allowPartialDebitBooleanNoAllow partial if insufficientfalse
mandateRequiredBooleanNoRequire signed mandatetrue

Debit Timing Options: OnSalaryPayment, AfterSalaryPayment, FixedDate, CustomDate

Instant Approval Configuration Section

Field NameData TypeRequiredDescriptionExample
enableInstantApprovalBoolean✅ YesAutomated decisioningtrue
maxProcessingMinutesIntegerNoMax approval time5
scorecardModelStringNoCredit scoring model"SalaryAdvanceV2"
minimumCreditScoreIntegerNoMin score for auto-approval500
autoDeclineScoreIntegerNoScore for auto-decline300
manualReviewRangeObjectNoScore range for manual reviewSee sample

Eligibility Configuration Section

Field NameData TypeRequiredDescriptionExample
minimumAgeIntegerNoMinimum age21
maximumAgeIntegerNoMaximum age60
employmentStatus[]Array✅ YesAccepted employment types["Salaried"]
minimumServiceYearsIntegerNoMin years with employer1
requiredDocuments[]Array✅ YesMandatory documents["EmploymentLetter", "BankStatement3Months"]
kycLevelEnumNoRequired KYC tier"Tier2"

Cooling-Off Period Configuration

Field NameData TypeRequiredDescriptionExample
enableCoolingOffPeriodBoolean✅ YesEnforce waiting periodtrue
coolingOffDaysInteger✅ YesDays between loans30
applyOnFullRepaymentBooleanNoStart after full repaymenttrue
allowOverrideBooleanNoManager can overridefalse

Fees Configuration Section

Field NameData TypeRequiredDescriptionExample
fees[].codeString✅ YesFee code"PROC_FEE"
fees[].nameString✅ YesFee name"Processing Fee"
fees[].feeTypeEnum✅ YesFee collection method"DeductedDisbursement"
fees[].calculationTypeEnum✅ YesHow to calculate"Flat"
fees[].valueDecimal✅ YesFee amount500
fees[].minimumDecimalNoMinimum fee500
fees[].maximumDecimalNoMaximum fee5000
fees[].glAccountIdInteger✅ YesGL account40001

Mobile/Digital Configuration Section

Field NameData TypeRequiredDescriptionExample
mobileEnabledBooleanNoEnable mobile apptrue
ussdEnabledBooleanNoEnable USSD codetrue
ussdCodeStringNoUSSD short code"*737*5*1#"
webEnabledBooleanNoEnable web portaltrue
biometricAuthBooleanNoFingerprint/FaceID logintrue

Notifications Configuration Section

Field NameData TypeRequiredDescriptionExample
sendApplicationConfirmationBooleanNoConfirm applicationtrue
sendApprovalNotificationBooleanNoNotify approvaltrue
sendDisbursementNotificationBooleanNoConfirm disbursementtrue
sendRepaymentRemindersBooleanNoRemind before debittrue
reminderDaysBeforeIntegerNoDays before debit2
channels.smsBooleanNoEnable SMStrue
channels.emailBooleanNoEnable emailtrue
channels.pushBooleanNoEnable pushtrue

Complete Sample YAML Configuration

basicInfo:
productCode: "SA-INSTANT-001"
productName: "Instant Salary Advance"
description: "Quick cash advance for salaried employees with instant approval"
isActive: true
loanProductType: "SalaryAdvance"
repaymentAllocationOrder: "FEES_PENALTY_INTEREST_PRINCIPAL"
lineOfBusiness: "Retail"
currencyCode: "NGN"

loanTenure:
minimumMonths: 1
maximumMonths: 6
defaultMonths: 1

principalRange:
minimumAmount: 10000
maximumAmount: 500000
defaultAmount: 50000
salaryPercentage:
minimum: 30
maximum: 75
default: 50

salaryDomiciliationConfig:
requireSalaryDomiciliation: true
minimumSalaryMonths: 3
minimumNetSalary: 50000
verificationMethod: "BankStatement"
employmentTypes:
- "Permanent"
- "Contract"
excludedEmployers: []

interestConfig:
isEnabled: true
rate:
default: 5.0 # 5% per month
minimum: 3.0
maximum: 15.0
calculationMethod: "FlatRate"
rateTerms: "PerMonth"

autoDebitConfig:
enableAutoDebit: true
debitAccountSource: "SalaryAccount"
debitTiming: "OnSalaryPayment"
debitDayOffset: 0
allowPartialDebit: false
mandateRequired: true

instantApprovalConfig:
enableInstantApproval: true
maxProcessingMinutes: 5
scorecardModel: "SalaryAdvanceV2"
minimumCreditScore: 500
autoDeclineScore: 300
manualReviewRange:
minimum: 300
maximum: 499

eligibilityConfig:
minimumAge: 21
maximumAge: 60
employmentStatus:
- "Salaried"
minimumServiceYears: 1
requiredDocuments:
- "EmploymentLetter"
- "BankStatement3Months"
- "ValidID"
kycLevel: "Tier2"

coolingOffConfig:
enableCoolingOffPeriod: true
coolingOffDays: 30
applyOnFullRepayment: true
allowOverride: false

fees:
- code: "PROC_FEE"
name: "Processing Fee"
feeType: "DeductedDisbursement"
calculationType: "Flat"
value: 500
minimum: 500
maximum: 5000
glAccountId: 40001

mobileConfig:
mobileEnabled: true
ussdEnabled: true
ussdCode: "*737*5*1#"
webEnabled: true
biometricAuth: true

notificationsConfig:
sendApplicationConfirmation: true
sendApprovalNotification: true
sendDisbursementNotification: true
sendRepaymentReminders: true
reminderDaysBefore: 2
channels:
sms: true
email: true
push: true

penaltyConfig:
isEnabled: true
tolerancePeriod: 0
calculationMethod: "OverduePrincipal_DaysLate_Rate"
rate:
default: 10.0 # 10% per month on overdue
minimum: 5.0
maximum: 20.0

Use Cases & Examples

Example 1: Emergency Medical Expense

Scenario: Employee needs ₦50,000 for medical emergency.

Employee Profile:

  • Net Monthly Salary: ₦150,000
  • Employment: 2 years (permanent)
  • Salary History: 6 months in bank
  • Credit Score: 650

Application Flow:

1. Customer opens mobile app
2. Requests ₦50,000 (33% of salary ✅)
3. Automated decisioning:
- Salary verification ✅
- Credit score 650 > 500 ✅
- Cooling-off check ✅
4. Instant approval (3 minutes)
5. Disbursement to account (2 minutes)

Repayment Calculation:

Principal: ₦50,000
Tenor: 1 month
Interest Rate: 5% flat
Processing Fee: ₦500

Interest: ₦50,000 × 5% = ₦2,500
Total Repayment: ₦50,000 + ₦2,500 = ₦52,500
Net Disbursement: ₦50,000 - ₦500 = ₦49,500

Auto-debit on next salary date: ₦52,500

Example 2: Multi-Month Salary Advance

Scenario: Employee needs ₦200,000 for home repairs over 3 months.

Employee Profile:

  • Net Monthly Salary: ₦300,000
  • Employment: 5 years
  • Credit Score: 750

Configuration:

principalRange:
requestedAmount: 200000 # 67% of salary

loanTenure:
months: 3

interestConfig:
rate: 4.0 # Lower rate for higher credit score

Repayment Schedule:

Principal: ₦200,000
Tenor: 3 months
Interest Rate: 4% per month (flat)
Processing Fee: ₦500

Monthly Interest: ₦200,000 × 4% = ₦8,000
Total Interest: ₦8,000 × 3 = ₦24,000
Total Repayment: ₦224,000
Monthly Deduction: ₦224,000 / 3 = ₦74,667

Month 1: ₦74,667 (auto-debit on salary date)
Month 2: ₦74,667
Month 3: ₦74,666

Example 3: USSD Application

Scenario: Employee uses USSD for quick loan.

USSD Flow:

Customer: *737*5*1#
Bank: Welcome to Salary Advance
1. Apply for loan
2. Check eligibility
3. Loan balance

Customer: 1
Bank: Enter amount (₦10,000 - ₦500,000):

Customer: 100000
Bank: Tenor (1-6 months):

Customer: 1
Bank: Checking eligibility...
✅ Eligible for ₦100,000
Interest: ₦5,000
Repayment: ₦105,000
Debit date: Next salary
Reply 1 to confirm

Customer: 1
Bank: ✅ Approved!
₦99,500 credited to your account
Ref: SA20260102001

Instant Approval Decision Tree

instantApprovalConfig:
scorecardModel: "SalaryAdvanceV2"
minimumCreditScore: 500
autoDeclineScore: 300

Decisioning Logic:

Step 1: Credit Score Check
Score ≥ 500 → AUTO-APPROVE
300 ≤ Score < 500 → MANUAL REVIEW
Score < 300 → AUTO-DECLINE

Step 2: Salary Verification (if not declined)
Salary history < 3 months → DECLINE
Net salary < ₦50,000 → DECLINE
Requested > 75% of salary → DECLINE

Step 3: Cooling-Off Check
Last loan < 30 days ago → DECLINE
Outstanding loan exists → DECLINE

Step 4: Document Verification
Employment letter missing → DECLINE
Bank statement missing → DECLINE

Result:
All checks passed → INSTANT APPROVAL (< 5 minutes)
Any check failed → DECLINE or MANUAL REVIEW

Credit Scoring Factors:

  • Salary consistency (40%)
  • Repayment history (30%)
  • Account age (15%)
  • Transaction behavior (10%)
  • External credit bureau (5%)

Salary-Based Limit Calculation

principalRange:
salaryPercentage:
minimum: 30
maximum: 75

Calculation Examples:

Scenario 1: Conservative Limit

Net Monthly Salary: ₦100,000
Credit Score: 550 (Medium)
Employment: 1 year

Maximum Loan = ₦100,000 × 50% = ₦50,000

Scenario 2: Higher Limit

Net Monthly Salary: ₦200,000
Credit Score: 750 (Excellent)
Employment: 5 years
Perfect repayment history

Maximum Loan = ₦200,000 × 75% = ₦150,000

Scenario 3: First-Time Borrower

Net Monthly Salary: ₦150,000
Credit Score: 600
Employment: 2 years
No loan history

Maximum Loan = ₦150,000 × 30% = ₦45,000 (conservative)

Auto-Debit Process

autoDebitConfig:
enableAutoDebit: true
debitTiming: "OnSalaryPayment"
debitDayOffset: 0

Debit Flow:

1. Salary Credit Detected
├─> Bank system monitors salary account
├─> Detects credit matching salary pattern
└─> Triggers auto-debit process

2. Loan Identification
├─> Retrieves active salary advance loans
├─> Calculates total repayment due
└─> Checks signed mandate

3. Account Balance Check
├─> Verifies sufficient balance
├─> If insufficient: Send alert (no partial debit)
└─> If sufficient: Proceed to debit

4. Debit Execution
├─> Debit loan repayment amount
├─> Update loan status
├─> Send confirmation SMS/email
└─> If fully repaid: Start cooling-off period

5. Exception Handling
├─> Insufficient funds: Retry next day (3 attempts)
├─> Account closed: Manual intervention
└─> Mandate expired: Request renewal

Cooling-Off Period Enforcement

coolingOffConfig:
enableCoolingOffPeriod: true
coolingOffDays: 30
applyOnFullRepayment: true

Purpose: Prevent debt cycle and encourage responsible borrowing.

Example Timeline:

Jan 1: Loan disbursed (₦50,000)
Jan 15: Auto-debit repayment (₦52,500)
Jan 15 - Feb 14: Cooling-off period (30 days)
Feb 15: Eligible for new loan ✅

Timeline Visualization:
|---Loan Active---|---Cooling-Off---|---Can Borrow Again---|
Jan 1 Jan 15 Feb 14 Future
↓ ↓ ↓
Disburse Repaid Can reapply

Validation:

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.


Validation Rules

Salary Verification

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

Instant Approval Validation

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.


Troubleshooting

Issue: "Insufficient salary history"

Cause: Less than 3 months of salary credits in account.

Solutions:

  1. Wait until 3 salary credits are received
  2. Provide additional salary evidence (payslips, tax remittance)
  3. Apply through alternate product (Personal Loan with documentation)

Issue: "Cooling-off period active"

Cause: Less than 30 days since last loan repayment.

Solution:

Last Repayment: Jan 15
Next Eligible: Feb 14
Current Date: Jan 20
Days Remaining: 25 days

Wait until cooling-off period expires.
(No override allowed per config)

Issue: "Auto-debit failed"

Cause: Insufficient balance on salary payment date.

Solutions:

1. Automatic Retries:
- Day 1: Failed (insufficient funds)
- Day 2: Retry 1 (failed)
- Day 3: Retry 2 (failed)
- Day 4: Retry 3 → Final attempt

2. Customer Action:
- Fund account before retry
- Contact bank for manual payment
- Risk: Penalty interest accumulates

3. Bank Action:
- Send alerts after each failed attempt
- Escalate to collections after 3 failures
- Report to credit bureau after 30 days

Migration from V1

V1 Salary Advance Mapping

V1 Field/TableV2 YAML Path
SalaryAccountautoDebitConfig.debitAccountSource
SalaryThresholdsalaryDomiciliationConfig.minimumNetSalary
ApprovalTimeinstantApprovalConfig.maxProcessingMinutes
CoolingPeriodcoolingOffConfig.coolingOffDays
MaxSalaryPercentageprincipalRange.salaryPercentage.maximum
USSDCodemobileConfig.ussdCode

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: ⭐⭐⭐ (Moderate - Digital/Automated)