01/02/12Algoritm de validare pentru IBAN

Codul IBAN (International Bank Account Number) este un standard international pentru numerotarea codurilor bancare. A fost adoptat pentru prima oara de catre Comitetul European pentru Standarde Bancare iar in prezent este cunoscut ca ISO 13616:2003.

IBAN-ul consista dintr-un cod de tara ISO 3166-1 de doua litere, urmat de doua cifre de control, si pana la 30 de caractere alfanumerice pentru codul contului bancar domestic (BBAN - Basic Bank Account Number).

Pentru Romania, primele patru caractere ale codului BBAN constituie codul national al bancii de care apartine contul respectiv. Lungimea codului BBAN este fixata de comitetul bancii nationale al fiecarei tari si trebuie sa fie aceeasi pentru toata tara.

In format electronic codul IBAN trebuie sa nu contina spatii sau alte caractere despartitoare, iar atunci cand este tiparit pe hartie este exprimat in grupuri de cate patru caractere, cu ultimul grup de lungime variabila.


|RO| |XX| |YYYY| |ZZZZZZZZZZZZZZZZ|

|RO| - codul de tara (2 caractere alfabetice, majuscule) - pentru Romania este RO.

|XX| - 2 caractere de verificare (numerice, de la 0 la 9).

|YYYY| - 4 caractere de identificare a institutiei (alfabetice, majuscule), reprezentand primele patru caractere ale codului BIC al institutiei.

|ZZZZZZZZZZZZZZZZ| - 16 caractere care identifica in mod unic unitatea teritoriala a institutiei si contul clientului deschis la respectiva unitate teritoriala (alfanumerice, majuscule).


Algoritmul de validare al unui cod IBAN

Pas Preliminar: In cazul în care codul IBAN este prezentat pe suport hartie, se converteste formatul acestuia la formatul electronic prin stergerea spatiilor de separare.

EXEMPLU: RO49 AAAA 1B31 0075 9384 0000 devine RO49AAAA1B31007593840000

Pas 1: Se muta primele patru caractere (simbolizând codul de tara si caracterele de verificare) la dreapta codului IBAN.

EXEMPLU: RO49AAAA1B31007593840000 devine AAAA1B31007593840000RO49

Pas 2: Se face conversia literelor în numere, conform listei urmatoare:

A = 10 B = 11 C = 12 D = 13 E = 14
F = 15 G = 16 H = 17 I = 18 J = 19
K = 20 L = 21 M = 22 N = 23 O = 24
P = 25 Q = 26 R = 27 S = 28 T = 29
U = 30 V = 31 W = 32 X = 33 Y = 34
Z = 35

EXEMPLU: AAAA1B31007593840000RO49 devine 1010101011131007593840000272449

Pas 3: Se aplica algoritmul MOD 97-10 (conform ISO 7064). Pentru ca cele 2 caractere de verificare sa fie corecte (codul IBAN sa fie corect), restul impartirii numarului astfel obtinut la 97 trebuie sa fie 1.

EXEMPLU: Restul impartirii lui 1010101011131007593840000272449 la 97 este 1.

(vezi alte articole)