Bank Account Validation by Country: Pakistan to the United States
This outlines the country specific bank account validation rules performed in Oracle Fusion Cash Management.
The following countries have country specific validations:
-
Pakistan
-
Palestine
-
Poland
-
Portugal
-
Qatar
-
Reunion
-
Romania
-
Saint Barthelemy
-
Saint Lucia
-
San Marino
-
Saint Martin
-
Saint Pierre and Miquelon
-
Saudi Arabia
-
Serbia
-
Serbia and Montenegro
-
Senegal
-
Seychelles
-
Singapore
-
Slovakia
-
Slovenia
-
Spain
-
Sweden
-
Switzerland
-
The Former Yugoslav Republic of Macedonia
-
Tunisia
-
Turkey
-
Ukraine
-
United Arab Emirates
-
United Kingdom
-
United States
When entering bank accounts, different countries can have certain rules governing the format and content of the following related fields:
-
Bank Code
-
Branch Number
-
Account Number
-
Check Digit
-
IBAN
Use the Disable Country Specific Bank Validations profile option to disable the country-specific validations pertaining to the bank code, branch number, account number, check digit, and IBAN. You can set this profile option at the site or user level. The profile is predefined with a default value of No at the site level. If the profile is set to Yes, these validations aren't performed. The checks for unique banks, branches, accounts, and the requirement of bank account number aren't affected by this profile.
Pakistan
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Palestine
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Poland
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Portugal
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Check Algorithm for Check Digit
-
A check digit's formed (CD1) from the Bank Code, Branch Number, and Account Number by concatenating the three numbers.
-
For example, using Bank Code 1234, Branch Number 5678, and Account Number 12345678901. Then CD1 is set as 1234567812345678901.
-
The Portuguese government provides the following factor table:
Digit |
Factor |
---|---|
1st |
73 |
2nd |
17 |
3rd |
89 |
4th |
38 |
5th |
62 |
6th |
45 |
7th |
53 |
8th |
15 |
9th |
50 |
10th |
5 |
11th |
49 |
12th |
34 |
13th |
81 |
14th |
76 |
15th |
27 |
16th |
90 |
17th |
9 |
18th |
30 |
19th |
3 |
The nineteen digits of the created check digit (CD1) are multiplied by the associated factor. The multiple sum is then calculated by summing the totals.
Example using the value for CD1:
Digit |
Value |
Factor |
Result |
---|---|---|---|
1st |
1 |
73 |
73 |
2nd |
2 |
17 |
34 |
3rd |
3 |
89 |
267 |
4th |
4 |
38 |
152 |
5th |
5 |
62 |
310 |
6th |
6 |
45 |
270 |
7th |
7 |
53 |
371 |
8th |
8 |
15 |
120 |
9th |
1 |
50 |
50 |
10th |
2 |
5 |
10 |
11th |
3 |
49 |
147 |
12th |
4 |
34 |
136 |
13th |
5 |
81 |
405 |
14th |
6 |
76 |
456 |
15th |
7 |
27 |
189 |
16th |
8 |
90 |
720 |
17th |
9 |
9 |
81 |
18th |
0 |
30 |
0 |
19th |
1 |
3 |
3 |
Total |
N/A |
N/A |
3794 |
-
Divide the result by 97. 3794 / 97 = 39
-
Derive the remainder. 3794 - (39 * 97) = 11
-
CD1 is then derived by subtracting the remainder from 97. 97 - 11 = 86. So for this example CD1 = 86
-
If the calculated value for CD1 isn't the same as the user entered check digit, then the check digit fails the validation. In the given example, unless the user entered check digit's 86, the validation will fail.
Qatar
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Reunion
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Romania
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Saint Barthelemy
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Saint Lucia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
San Marino
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Saint Martin (French Section)
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Saint Pierre and Miquelon
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Saudi Arabia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Senegal
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Serbia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Serbia and Montenegro
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Seychelles
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Singapore
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Slovakia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Slovenia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Spain
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Check Algorithm for Check Digit
Two check digits are calculated, CD1 from the Bank Code and Branch Number and CD2 from Account Number in the following manner; these are then used as the basis for the check digit validity test:
CD1
1. For the Bank Code, the Spanish government provides the following factor table:
Digit |
Factor |
---|---|
1st |
4 |
2nd |
8 |
3rd |
5 |
4th |
10 |
The four digits of the Bank Code are multiplied by the associated factor. The computed sum is then calculated by summing the totals.
Example using Bank Code '1234':
Multiply each digit with the given factor.
Digit Value Factor Result |
Digit Value Factor Result |
Digit Value Factor Result |
Digit Value Factor Result |
---|---|---|---|
1st |
1 |
4 |
4 |
2nd |
2 |
8 |
16 |
3rd |
3 |
5 |
15 |
4th |
4 |
10 |
40 |
Total |
N/A |
N/A |
75 |
So the computed sum for this example is 75.
2. For the Branch Number, the Spanish government provides the following factor table:
Digit |
Factor |
---|---|
1st |
9 |
2nd |
7 |
3rd |
3 |
4th |
6 |
The four digits of the Branch Number are multiplied by the associated factor. The computed sum is then calculated by summing the totals.
Example using Branch Number '5678':
Multiply each digit with the given factor.
Digit |
Value |
Factor |
Result |
---|---|---|---|
1st |
5 |
9 |
45 |
2nd |
6 |
7 |
42 |
3rd |
7 |
3 |
21 |
4th |
8 |
6 |
48 |
Total |
N/A |
N/A |
156 |
So the computed sum for this example is 156.
3. The computed sums from both the Bank Code and Branch Number calculations are then summed up. According to the example, it's 75 + 156 = 231.
4. Divide the result by 11.
231 / 11 = 21
5. Derive the remainder
231 - (11 * 21) = 0.
6.CD1 is then derived by subtracting the remainder from 11. If difference is 11, then CD1 is 0 and if difference is 10, then CD1 is 1 11 - 0 = 11. So for this example, CD1 = 11 = 0.
CD2
1. For the Account Number, the Spanish government provides the following factor table:
Digit |
Factor |
---|---|
1st |
1 |
2nd |
2 |
3rd |
4 |
4th |
8 |
5th |
5 |
6th |
10 |
7th |
9 |
8th |
7 |
9th |
3 |
10th |
6 |
The ten digits of the bank number are multiplied by the associated factor. The computed sum is then calculated by summing the totals.
Example using account number '1234567890':
Multiply each digit with the given factor.
Digit |
Value |
Factor |
Result |
---|---|---|---|
1st |
1 |
1 |
1 |
2nd |
2 |
2 |
4 |
3rd |
3 |
4 |
12 |
4th |
4 |
8 |
32 |
5th |
5 |
5 |
25 |
6th |
6 |
10 |
60 |
7th |
7 |
9 |
63 |
8th |
8 |
7 |
56 |
9th |
9 |
3 |
27 |
10th |
0 |
6 |
0 |
Total |
N/A |
N/A |
280 |
So the computed sum for this example is 280.
2. Divide the result by 11
280 / 11 = 25
3. Derive the remainder.
280 - (11 * 25) = 5
4. CD2 is then derived by subtracting the remainder from 11. 11 - 5 = 6. So for this example CD2 = 6.
Check Digit Validity Test
The value in the user entered check digit field is compared to the calculated CD1 and CD2 using the following checks, if both of the checks are true, then the validation is unsuccessful.
Check |
Description |
---|---|
1 |
CD1 is compared to the first digit of the entered check digit field. |
2 |
CD2 is compared to the second digit of the entered check digit field. |
Example of the test using the previously calculated CD1 and CD2:
Where CD1 = 0 and CD2 = 6 and suppose the user entered Check Digit Value is '05'. As CD2 does not match, the check digit's invalid.
Sweden
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Switzerland
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
Account Type |
|
IBAN |
|
The Former Yugoslav Republic of Macedonia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Tunisia
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Turkey
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Ukraine
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
United Arab Emirates
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
United Kingdom
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
Secondary Account Reference |
|
IBAN |
|
United States
Validation Rules
The fields are checked for validity by adopting the following rules:
Field |
Rule |
---|---|
Bank Code |
|
Branch Number |
|
Account Number |
|
Check Digit |
|
IBAN |
|
Check Algorithm for Routing Transit Number
-
The ninth digit of the Number field is used to represent the Check Digit.
-
A calculated Check Digit's computed from the remaining 8 digits using Modulus 10 algorithm.
-
Multiply each digit in the Routing Transit Number by a weighting factor. The weighting factors for each digit areas given in the following table:
Digit |
1st |
2nd |
3rd |
4th |
5th |
6th |
7th |
8th |
---|---|---|---|---|---|---|---|---|
Factor |
3 |
7 |
1 |
3 |
7 |
1 |
3 |
7 |
-
The digits of the Routing Transit Number are multiplied by the associated factor. The computed sum is then calculated by summing the totals.
-
Subtract the sum from the next highest multiple of 10. The result is the calculated Check Digit. This should be the same as the 9th digit of the Branch Number or Routing Transit Number; otherwise the Branch Number or Routing Transit Number is invalid.
For Example:
Routing Number |
0 |
7 |
6 |
4 |
0 |
1 |
2 |
5 |
Total |
---|---|---|---|---|---|---|---|---|---|
Multiply by |
3 |
7 |
1 |
3 |
7 |
1 |
3 |
7 |
N/A |
Sum |
0 |
49 |
6 |
12 |
0 |
1 |
6 |
35 |
= 109 |
So the Check Digit = 1 (110 minus 109).
In this example, the Routing Transit Number 076401251 passes validation.