NUBAN Bank Suggestion Algorithm: Implementation and Recommendations
The Nigerian Uniform Bank Account Number (NUBAN) was introduced in 2010 to standardize the bank account numbering system for all Deposit Money Banks (DMBs) in Nigeria, addressing issues with electronic payments caused by incorrect beneficiary account numbers.
Before NUBAN, each DMB had different account numbering systems, leading to numerous errors during cheque presentations and settlements. The NUBAN system aimed to unify payment processes across all DMBs, significantly reducing these errors.
Despite these improvements, concerns about wrong transfers using NUBANs persist because NUBANs are not unique to specific banks, leading customers to mistakenly select the wrong bank during the transfer process.
Implementing a robust bank suggestion algorithm can help mitigate these issues by providing more accurate bank recommendations, ensuring that the correct bank is selected during electronic transactions, thus enhancing the accuracy and reliability of electronic payments in Nigeria.
Definitions
- NUBAN: The Nigerian Uniform Bank Account Number (NUBAN) is a unique 10-digit bank account number format used in all customer interactions with banks.
- Bank Code: The unique code assigned to banks in the Bankers Clearing System, such as First Bank (011) and Moniepoint (50515).
- Deposit Money Banks (DMBs): Financial institutions licensed by the CBN to accept public deposits and create credit, are known for their large asset bases and extensive branch networks.
Overview
This article explores different methods to implement a NUBAN bank suggestion algorithm by executing the pseudocode specified in the revised CBN NUBAN Standard, caching name lookup, or combining both approaches for optimal performance.
Bank Suggestion Algorithm
This approach involves implementing an algorithm based on the CBN specification. It is faster and more efficient for getting suggestions.
However, this method faces several challenges:
Inaccurate Suggestions: Bank account numbers are not unique to a single bank. As a result, the algorithm may suggest banks that do not own the NUBAN, sometimes excluding the expected bank. To mitigate this, limit the bank list to popular DMBs and OFIs to prevent suggestion overload.
Inconsistent Bank Code Format Across Payment Gateways: According to the CBN standard, DMBs have 3-digit codes, and OFIs have 5-digit codes. However, some payment gateways return alphanumeric codes to differentiate banks with the same code but different names e.g., Wema Bank (035) and Alat by Wema (035A).
To mitigate this, clean the bank code by removing all non-numeric characters before padding, as per the specification.
You can find the implementation of the NUBAN Bank Suggestion Algorithm in this GitHub Repository
Name Lookup Caching
This method involves caching the name lookup result on the initial try and returning the matching result to users in subsequent attempts. This approach guarantees precise and accurate suggestions. The primary challenge is that users do not receive suggestions on the first try.
Use an appropriate caching approach, considering that a NUBAN can be associated with multiple banks. For instance, Moniepoint, Opay, and PalmPay use a customer’s phone number as a bank account. VFD MFB and FCMB account numbers may sometimes match.
PS: Moniepoint allows you to change this behavior via the app settings.
Combining Both Approaches
There are two ways to combine both methods:
- Return suggestion results from the bank suggestion algorithm when no cache is found, then cache the results from name lookup for faster and more accurate subsequent calls.
- Use name lookup API to refine bank suggestion results from the bank suggestion algorithm and then cache the response.
To implement this approach, first, get bank suggestions using the bank suggestion algorithm. Then, perform a name lookup for each returned bank and cache the final result.
This approach will be slower on the initial try due to multiple API calls to get account details.
Paystack and Flutterwave offer free API for looking up bank accounts. However, note that they have different bank codes.
Consult their respective documentation for more details.
Conclusion
Implementing a robust NUBAN bank suggestion algorithm requires careful consideration of accuracy, performance, and user experience.
By combining the CBN-specified algorithm with name lookup caching and employing appropriate strategies for managing cached data, developers can balance speed and precision, ultimately enhancing usability.
I hope to see payment gateways provide APIs for bank suggestions to further streamline and improve the accuracy of electronic transactions. Such advancements will significantly contribute to reducing errors and ensuring the reliability of electronic payments in Nigeria.
Resources
- NUBAN Bank Suggestion Algorithm Implementation
- CBN NUBAN Proposal
- Revised Standards on NUBAN Scheme for Banks and Other Financial Institutions in Nigeria 2020
- Did We Score an Own Goal with NUBAN by 'Dewale Oto.
I hope you found this article educative, kindly share your thoughts.
Make sure to give a clap and share.