Product Information
How to deal with bank keys and bank account numbers
We’ve noticed that customers seem to have recurring issues with bank account numbers and bank keys when dealing with bank master data. To make your life easier, we’d like to share the following information with you:
Bank Key
First, it’s important to note that the bank key is a unique, country-dependent identifier. It is an SAP internal ID used to uniquely identify a bank. This ID, together with the country key, links to the other bank data in the system, such as name, bank number, and SWIFT code/BIC.
To make the data easier to use and more transparent, it’s possible to set up the bank key to match the bank number for your home country (bank key type 1) or to match the SWIFT code for foreign countries (bank key type 4).
If you set up the bank key to match the bank number, the key will have the same format rules as any other bank number. If you set up the bank key to match the SWIFT code, the key will be limited to 11 alphanumeric characters.
If you do not have explicit information about the length of the bank number for a country, you can enter the maximum value of 15 characters and restrict it later, once you have the exact data.
For more information, please refer to SAP note 1529550.
Bank Account
Just like the bank key, the bank account number is a country-dependent number that is related to a specific bank. It is linked to one currency at a time. If you enter an invalid account number, an error message is displayed. It may be, for example, that you entered a bank account number that is too long. Let’s say the country-specific limit for bank account numbers is 10 characters, but you entered a number with 23 characters. In that case, you’ll get an error message telling you that the data you entered has a different format than that defined in the country-specific checks. You will be asked to check your entries and correct your settings for the country-specific checks.
You can find out more about these formats by checking the “Set Country-Specific Checks” configuration step.
To do this, go into the Manage Your Solution app and select Configure Your Solution > Application Platform and Infrastructure > General Setting > Set Country-Specific Checks.
This “Set Country-Specific Checks” configuration step allows you to define checks for bank key length and rules for formal checks that are applied during master data maintenance. In the Overview, select the relevant country by double-clicking it. In this example we select DE – Germany.
On the next screen, we can see the length and checking rules that were set up for Germany. In our example, the bank account number is limited to 10 characters.
For more information regarding our recommended settings for certain countries, please refer to SAP note 1012293.
So far, so good. But how can you avoid such errors?
As a very simple approach, we propose that you use IBANs instead of bank account numbers, because IBANs are less error-prone. It is, of course, possible to enter both bank account number and IBAN. In this case, the IBAN always has the higher priority. This means that as soon as you maintain an IBAN, it will be used instead of the bank account number. Keep in mind that for SEPA transfers, you need to maintain an IBAN, because it is not possible to make such a transfer with only the bank account number.
We hope this makes your work with bank master data easier. If you have more questions, let us know!
The very useful document, Thank you!
Good one.. Thank you..
Thank you for sharing
Very useful, thanks for sharing.
Thanks for sharing
Thanks Viola, very helpful
Viola Kaiser thank you for this content!
Thanks for this information. Very recently only I dealt with issue related to them..
Thank you Viola, Informative Blog!
Thank you Viola , do you know if the set up of bank key to match bank number can be done via the data migration app as well? I mean if it is set up, does it overwrite the bank key specified in the template?
Hi Priyank Kumar Jain, thank you for your question! Data migration does not change the bank key. Instead it just copies the values from the original system to the target system. Therefore, it is essential to make sure that the records are consistent. If you have further questions, feel free to reach out.
Thanks for this useful sharing!
Thanks for the sharing. it good to learn
Thanks
Hello,
THanks for sharing this,I have a doubt in maintaining the bank routing control key in Bank keys.
Kindly advise.
Thanks
Naja
Thanks for sharing this, I have checked the recommended settings for certain countries, by referring the to SAP note 1012293. but For Countries SX-Sint Maarten, CW-Curaçao, BQ-Bonaire, Saba OY17 settings are not available, Please request to share the settings.
Regards,
Prasad
Hi Prasad,
the base source for the note 1012293 is the "IBAN Registry" document, the ISO for IBAN:
https://www.swift.com/de/node/301396
For the "(in)dependent" territories, like the British, French, Danish or Dutch ones, there are two variants:
1. The territory is mentioned in the ISO by the IBAN description for the "main" country. Then the same settings have to be applied
2. The territory is not mentioned there, then it is not using the IBAN
For countries not using the IBAN yet, we do not have any ISO based information. In case of some very "exotic" locations, where you will have to maintain a very few of bank details in the whole lifecycle of your SAP system, the recommended strategy is as follows:
1. Do not setup any restrictive settings and wait until there is enough data in system to recognize a pattern.
2. Then setup the validity checks so that it is respecting this pattern.
These rules applied to the countries mentioned by you do mean:
The Dutch oversee territories are not mentioned in the IBAN registry = do not use Dutch IBAN = different settings needed, settings for NL cannot be used.
When you get some real bank details, they will most probably consist of a BIC and an account number. The bank key type for these countries is then 4, the bank key length then up to 11 characters (SWIFT/BIC). No other settings needed.
Best regards
Mike
Thank you Michal for a detailed explanation. Regards, Prasad
Hi there and thank you for the explanation. How do I find the correct bank key length and check rule per country? I have tried with notes 1012293 & 1529550 but the information is insufficient. 1012293 is very good, I basically need the same nut for Bank Key rule. Thanks in advance.
Hi Teodora,
the Note 1012293 is based on the ISO information and there is less influence of custom specific needs. The bank key however is the complete opposite - the settings are strongly dependent to the custom specific needs.
Here are the basic recommendations for the bank key type:
1. Is the country using IBAN? When yes, then bank key type 1
2. Is the country your home country (is there a company code located), so you intend to do local payments in this country? When yes, then bank key type 1
3. Are there only international payments intended into this country? The bank key type 4.
And the checking rules for the bank key are obvious:
1. If the SWIFT/BIC is the bank key, the length is 11, the rule 1
2. If the bank number is the bank key, the length and rule for bank key have to match the same for bank number
Best regards
Mike
Hi Mike,
thank you for the detailed explanation. It helped a lot.
I have a last question, regarding the exact value of the bank key itself. For example, I have following data for bank in country FI:
Bank Name: SVENSKA HANDELSBANKEN
SWIFT: HANDFIHH
Bank Account: 52523001280779
IBAN: FI5831313001234567
SAP Setting:
Bank Key = 4 (assign externally)
Length of bank key = 11, Rule = 1
So in this example, how do I know which value to set as a bank key? Shall I use the SWIFT or the IBAN and which part of them exactly is extracted to become the exact bank key? Or maybe there is a source, which provides the exact bank key per each bank and country?
Thanks in advance for the great help
Greets
Teodora Petkova
Thanks for sharing,
Can someone guide me, i.e. I have a supplier from Country JO, I create as bank key the SWIFT, but when I sent payments using ACH, the Bank key is included as bank number and the file is rejected because the bank number should be a 4 digit numeric value, but where Can I get this bank number?
I found i.e. that for ARAB Bank the bank number is ARAB, and the file was accepted, but what happends IF I have different suppliers from JO but with different SWIFT codes? then I can not repeat ARAB as Bank key, because this is a unique value.
Regards
Hi Ramon,
you need to switch the bank key type from 1 to 4, via transaction oy17. The Bank Key and Bank Number will then get decoupled. After this you can maintain the bank(s) like this:
Country: JO
Bank Key: ARABJOAX100
Bank Name: ARAB BANK PLC
SWIFT/BIC: ARABJOAX100
Bank Number: ARAB
This will allow a smooth IBAN maintenance and correct content of the ACH files.
Best regards
Mike
Hi,
is it possible to make the SWIFT field mandatory in FI01 or FI02?
Hi Imtiaz,
no, the only one field mandatory is the Name of the bank. There are no other checks and also no possibilities to customize some checks regarding the SWIFT/BIC.
When you wish to restrict the users to create banks without SWIFT/BIC, you need to setup the SWIFT/BIC as a bank key - via transaction oy17, choosing the value 4 (assigned externally) in the parameter Key for the bank directory.
Best regards
Mike