Prevention of Payments to Fraudulent Bank Accounts
In the present business world, hackers can choose any path to get funds illegally. There are always people seeking to use illegal means to obtain funds and assets from businesses. One of the ways the financial compromises happen is by hackers seeking payments by providing fraudulent bank accounts posing as valid bank accounts of vendors or customers through email communication.
I’m herewith explaining the customized solution in SAP to catch the fraudulent bank accounts.
Steps to build a control to prevent making payments to fraudulent bank accounts:
Create a custom table to add the bank accounts that were suspected and confirmed as fraud bank accounts. Custom table to enter the fraudulent bank account can have the following columns:
- Country Code
- Bank Number
- Bank Account Number
- Bank Name
- IBAN Number
- Created by (User id who created the record in this table)
- Created on
Step – 2:
Add fraudulent bank accounts that were found by the business to the table created in Step # 1.
Step – 3:
Build a custom User Exit through a Function Class in ABAP program and add it to the vendor or customer account ‘Save’ function. If the bank account of this vendor or customer matches with the bank account in the custom table in step # 1 above, the save function returns an error message.
Then that vendor or customer account will be blocked under all company codes with central block.
Step – 4:
Create a custom program to verify the bank accounts of vendors (and customers as well if required) and compare them with the bank accounts in custom table in step # 1 above.
Step – 5:
Custom program in step # 4 will be executed as a scheduled job. The program calls the custom function to send an email with list of vendors assigned with a fraudulent bank account. The program compares the bank accounts in the custom table created in step # 1 above with the records in table LFBK for bank account comparison and TIBAN for IBAN comparison. If it finds any matching record, it blocks the vendors with fraudulent bank numbers using XK05 in field LFA1-SPERR or FD05. Similarly, the program compares the bank accounts in the custom table created in step # 1 above with the records in table KNBK for bank account comparison. If it finds any matching record, it blocks the customers with fraudulent bank numbers using FD05 in field KNA1-SPERR.
Applying central posting block to a vendor:
The posting block to the vendor will be applied under all company codes in XK05.
Applying central posting block to a customer:
The posting block to the customer will be applied under all company codes in FD05.
Similar functionality can be applied in S4 as well.
Before adding or editing a bank account under vendor or customer account, business team who is responsible for updating bank accounts in vendor or customer accounts, need to reconfirm the information with the correct contact person of the relevant vendor or customer through an email or phone call. If they find that the bank account change is not initiated from the corresponding vendor or customer, that bank account needs to be added to the fraud bank account table. This prevents payments to this account anytime in the future.