lunes, 18 de agosto de 2008

Dígitos de control bancarios

Nunca os habeis preguntado el significado o cómo se calculan los dígitos de control de tus cuentas bancarias.

Los números de cuentas bancarios españoles actuales están formados por 20 dígitos que tienen la siguiente estructura (nombre de clave SICA):

  • El código del banco o entidad a la que pertenece la cuenta (4 dígitos).
  • El código de la sucursal en el que se abrió la cuenta (4 dígitos).
  • Un número de control, llamado dígito de control, que impide errores de teclado (2 dígitos).
  • Y por último, el número de cuenta (10 dígitos).

El dígito de control se calcula en función del código del banco, del código de la sucursal y el número de cuenta a través de un algoritmo. Por tanto a partir del número de control puede comprobarse si un número de cuenta es correcto o no. A continuación os explicaré los algoritmos que validan y generan estos dígitos para números de cuentas nacionales e internacionales.


Validación del dígito de control de la cuenta cliente

Para validar el código de banco (4 primeros números del CCC) y de sucursal (del 5º al 8º número del CCC):

  • Se multiplica, cada una de sus cifras por 4, 8, 5, 10 y 9, 7, 3, y 6; y se suman los resultados.
  • Del resultado de la suma anterior hallamos el módulo 11.
  • Le restamos 11 a la cifra resultante anterior.
  • Si el número resultante es 11, el dígito de control será 0, y si es 10, será 1.
  • El resultado de esta operación debería coincidir con el primer dígito de control.

Para validar el número de cuenta (10 últimos números del CCC):

  • Se multiplica cada una de sus cifras por 1, 2, 4, 8, 5, 10, 9, 7, 3 y 6; y se suman los resultados.
  • Del resultado de la suma anterior hallamos el módulo 11.
  • Le restamos 11 a la cifra resultante anterior.
  • Si el número resultante es 11, el dígito de control será 0, y si es 10, será 1.
  • El resultado de esta operación debería coincidir con el segundo dígito de control.

IBAN (International Bank Account Number o Código Internacional de Cuenta Bancaria)

El IBAN es un conjunto de caracteres alfanuméricos, con un máximo de 34 dígitos dependiendo del país, que permiten identificar de manera fehaciente, la cuenta que un cliente mantiene en una entidad bancaria de cualquier país del mundo. Su objetivo es facilitar el tratamiento automático de las transferencias transfronterizas, garantizando la exactitud de los datos y reduciendo al máximo el tratamiento manual.

Para España el IBAN tiene una longitud de 24 dígitos. Los dos primeros son de carácter alfabético e identifican el país. Los dos siguientes son dígitos de control y son el elemento validador de la totalidad del IBAN. Los 20 caracteres restantes son los que forman actualmente el Código de Cuenta Cliente (CCC).

Aunque solamente existe un único IBAN por cuenta/cliente, su presentación es diferente en función del formato que se utilice, en papel o en entornos electrónicos.

En formato electrónico los caracteres son contiguos, sin separaciones. Ej.: ES7899999999999999999999.

En formato papel precederá al código las iniciales IBAN, seguidas de un espacio y a continuación todos los caracteres alfanuméricos del IBAN, en grupos de cuatro caracteres separados entre sí por un espacio. El último grupo tendrá una longitud variable de hasta cuatro caracteres. Ej.: IBAN ES78 9999 9999 9999 9999 9999.

Validación del dígito de control IBAN

El mecanismo para validar el dígito de control de un número de cuenta de un cliente de España, sabiendo que el formato para este país es ES XX seguido de un número de 20 dígitos, siendo XX los dos dígitos de control es:

  • Mover los cuatro primeros caracteres del número IBAN a la derecha. Ej.: ES78 9999 9999 99 9999999999 -> 99999999999999999999ES78.
  • Convertir las letras a números según la tabla de conversión. Ej.: 99999999999999999999ES78 -> 99999999999999999999142878.
  • Sobre el número resultante se calcula el módulo 97.
  • Si el resultado es correcto la operación anterior dará como resultado 1.

Generación del dígito de control IBAN

  • Componer el código IBAN de cuenta con dos dígitos de control 0. Ej: IBAN ES00 9999-9999-99-9999999999 -> ES0099999999999999999999.
  • Mover los cuatro primeros caracteres del número a la derecha. Ej: ES0099999999999999999999 -> 99999999999999999999ES00.
  • Convertir las letras en caracteres numéricos de acuerdo con la tabla de conversión. Ej: 99999999999999999999ES00 -> 99999999999999999999142800.
  • Aplicar, al resultado anterior, la operación módulo 97. Ej.: 20.
  • Restar 98 al resultado anterior. Ej.: 98-20=78
  • Si el resultado consta de sólo un dígito, insertar un cero a la izquierda. Ej: IBAN = ES7899999999999999999999.

Tabla de conversión:

LetraNúmeroLetraNúmero
A10N23
B11O24
C12P25
D13Q26
E14R27
F15S28
G16T29
H17U30
I18V31
J19W32
K20X33
L21Y34
M22Z35

Salu2.

3 comentarios:

yomismamente dijo...

Curioso, sí señor.

Josber dijo...

Aunque ya sea antigua,

Muchas gracias, muy bien explicado y muy util.


Salu2.-

Pedro Font dijo...

Le dejo un enlace a una página en la que desarrollé un gadget para el cálculo del CCC y del IBAN, por si puede serle de utilidad a Ud. o a alguno de sus lectores.
http://informatica-pfont.blogspot.com.es/2011/02/calculo-ccc-iban.html
Saludos