Cheque Transactions Overview
Process cheque-based transactions including deposits and withdrawals through the BPMCore V2 architecture.
What are Cheque Transactions?
Cheque Transactions represent the primary transaction commands for processing cheque-based operations in BankLingo. Unlike cheque operations (registration, clearing requests, retrieval), these commands initiate actual financial transactions that impact account balances.
Available Commands
| Command | Purpose | Target Account Types |
|---|---|---|
InitiateChequeDepositCommand | Deposit cheque to account | Deposit Accounts |
InitiateChequeWithdrawalCommand | Issue/withdraw cheque from account | Deposit Accounts |
Key Characteristics
Asymmetric Processing
Cheque Deposits (wait for clearing):
- ✅
UnclearedChequeAmountincreases immediately - ❌ Balance unchanged until clearing
- 📅 Typical T+2 clearing period
- 🔄 Requires
InitiateClearChequeCommandto credit balance
Cheque Withdrawals (immediate deduction):
- ✅ Balance deducted immediately
- ✅ Prevents overdrawing
- 💡 Risk mitigation strategy
- 🔄 Can be bounced to restore funds
State Management
All cheque transactions follow a two-level state system:
-
Transaction Approval State (Optional):
APPROVAL_PENDING→PENDING(ifrequireApproval: true)- Direct to
PENDING(ifrequireApproval: false- default)
-
Cheque Clearing State (Managed by clearing commands):
PENDING→CLEARED/SETTLED(viaInitiateClearCheque)PENDING→BOUNCED(viaInitiateBounceCheque)PENDING→CANCELLED(viaInitiateCancelChequeCommand)
Transaction Workflow
Approval Workflow Support
Overview
Cheque transactions support an optional approval workflow layer before entering the standard clearing cycle. This provides governance control for high-value or sensitive transactions.
When to use requireApproval: true:
- High-value deposits or withdrawals (configurable threshold)
- Third-party cheques (deposits from non-account holder)
- Post-dated cheques requiring verification
- Foreign cheques requiring additional validation
- Policy-mandated approval requirements
Approval Flow Behavior
Without Approval (requireApproval: false - default)
With Approval (requireApproval: true)
Approval State Impact
Deposits with Approval:
- ⏳
APPROVAL_PENDING: UnclearedAmount NOT increased, balance unchanged - ✅ After approval → Enters
PENDING, UnclearedAmount increases - ✅ After clearing → Balance credited
Withdrawals with Approval:
- ⏳
APPROVAL_PENDING: Hold placed, balance NOT debited - ✅ After approval → Balance debited, enters
PENDING - ✅ Cheque issued and can be presented
Configuration Recommendations
Approval Thresholds
| Transaction Type | Suggested Threshold | Rationale |
|---|---|---|
| Deposits | > ₦500,000 | High-value verification |
| Withdrawals | > ₦1,000,000 | Risk mitigation for large outflows |
| Third-Party Cheques | All amounts | Fraud prevention |
| Foreign Cheques | All amounts | Additional validation required |
| Post-Dated Cheques | All amounts | Date verification needed |
Clearing Timeline
| Cheque Type | Typical Clearing Period | Configuration |
|---|---|---|
| Local In-House | Same day (T+0) | Instant clearing if both accounts internal |
| Local Same Bank | 1 business day (T+1) | Standard intra-bank clearing |
| Local Inter-Bank | 2 business days (T+2) | NIBSS clearing cycle |
| Foreign Cheques | 14-21 business days | International clearing varies by country |
Related Operations
For cheque lifecycle management beyond transactions, see:
- Cheque Operations: Cheque registration, clearing requests, status retrieval
- Clear Cheque: Finalize pending deposits and withdrawals
- Bounce Cheque: Return dishonored cheques
- Cancel Cheque: Stop payment on pending cheques
Best Practices
Security
- Validate cheque numbers against duplicates before initiating
- Verify account status (not frozen/locked) before processing
- Implement approval workflow for high-value transactions
- Log all cheque operations for audit trail
Error Handling
- Handle clearing failures gracefully (bounce vs. retry)
- Notify customers of deposit delays or withdrawal issues
- Track uncleared amounts to prevent overdraft scenarios
- Monitor clearing timelines and alert on delays
Performance
- Batch process clearing operations during off-peak hours
- Cache till account information to reduce database hits
- Use reference IDs to track external clearing systems
- Index cheque numbers for fast duplicate detection