11 jul 2014

Algoritmo para el cálculo del Código Internacional de Cuenta Bancaria (IBAN)

IBAN (International Bank Account Number)

Código Internacional de Cuenta Bancaria. Es un código alfanumérico que sirve para identificar una cuenta bancaria a nivel internacional, regulado por las normas  ISO 13616 y EBS204. Se compone de como máximo 34 caracteres, aunque en España se utilizan 24.

De los 24 caracteres, los dos primeros corresponden al código del país, en España son ES. Los siguientes dos caracteres son de control y los 20 restantes son el CCC, código de cuenta de cliente.

Algoritmo para el cálculo de los dos dígitos del  IBAN

Los pasos que hay que dar para calcular los dos dígitos de control son:
·         Se añade al final del código de cuenta, el código de país y dos ceros.
·         Se transforma toda la secuencia en un número, sustituyendo las letras por números del 10 al 35, siendo la A el 10 y la Z el 35.
·         Se coge el resto de dividir el número obtenido entre 97.
·         Se resta a 98 el resto obtenido. Si el número es menor que 10 se añade un cero a la izquierda.

En el ejemplo anterior sería:
·         Partimos de 1234 5678 06 1234567890 ES00
·         1234 5678 06 1234567890 142800
·          12345678061234567890142800 resto 97 = 30
·         98 – 30 = 68

10 jul 2014

Algoritmo para el cálculo de los dígitos de control de las cuentas bancarias (CCC)

CCC: Código de Cuenta de Cliente.


Es un número de 20 dígitos, formado por 4 grupos de dígitos.

El primer grupo, de 4 dígitos, corresponde a la entidad bancaria. De ellos el primer dígito corresponde al tipo de entidad financiera: 0 Bancos, 1 Crédito Oficial, 2 Cajas de Ahorros, y 3 Cooperativas de Crédito como las Cajas Rurales.

El segundo grupo, de 4 dígitos, es el código de sucursal.

El tercer grupo, de 2 dígitos, es el código de control.

El cuarto grupo, de 10 dígitos, es el número de cuenta.

El código de control del tercer grupo, formado por dos dígitos, utiliza el primer dígito para verificar la entidad bancaria y la sucursal, y el segundo dígito para verificar el número de cuenta.
Para obtener el primer dígito de verificación de la entidad financiera y sucursal se obtiene a partir de los 8 dígitos de entidad y sucursal, pero añadiéndole 2 ceros a la izquierda para que sea un número de 10 dígitos. Ahora se multiplica cada dígito, en orden, por cada una de estos valores 1, 2,  4, 8, 5, 10, 9, 7, 3, 6 (que son los restos al dividir por 11 de las 10 primeras potencias de 2). Se suman todos los valores obtenidos, se divide el resultado entre 11 y se coge el resto. Si este resto obtenido es 0 o 1 ya habremos terminado, si no, se lo restamos a 11, y este es el valor buscado. En nuestro ejemplo sería:
0*1 + 0*2 + 1*4 + 2*8 + 3*5 + 4*10 + 5*9 + 6*7 + 7*3 + 8*6 = 231
231 resto 11 = 0

El dígito de verificación del número de cuenta, se calcula de forma similar, pero partiendo de los 10 dígitos de la cuenta.
1*1 + 2*2 + 3*4 + 4*8 + 5*5 + 6*10 + 7*9 + 8*7 +9*3 + 0*6 = 277
280 resto 11 = 5
11- 5 = 6
Por tanto los dígitos de control son 06.