← Guías

Cómo se valida un IBAN: el cálculo paso a paso, con un ejemplo

Un IBAN lleva dentro dos dígitos de control que permiten saber, con una sola operación, si alguien se ha equivocado al copiarlo. Esta guía explica cómo se hace ese cálculo y qué detecta.

Si solo quieres comprobar un número, usa el validador de IBAN. Si quieres entender qué hace por dentro, o programarlo tú, sigue leyendo.

Las partes de un IBAN

Todos los IBAN tienen la misma estructura inicial:

La longitud total es fija en cada país: 24 caracteres en España, 27 en Francia e Italia, 22 en Alemania, 25 en Portugal, 18 en los Países Bajos. Un IBAN español con 23 o 25 caracteres está mal sin necesidad de calcular nada.

El IBAN español se compone así:

PosiciónContenidoEjemplo
1-2PaísES
3-4Dígitos de control del IBAN91
5-8Entidad (el banco)2100
9-12Oficina0418
13-14Dígito de control de la cuenta45
15-24Número de cuenta0200051332

Las veinte últimas cifras son el antiguo Código Cuenta Cliente (CCC) que se usaba antes de 2014.

El cálculo de validación

El método se llama mod 97 y está definido en la norma ISO 13616. Vamos a aplicarlo a ES91 2100 0418 4502 0005 1332.

1. Quita espacios y pasa a mayúsculas.

ES9121000418450200051332

2. Mueve los cuatro primeros caracteres al final.

21000418450200051332ES91

3. Sustituye cada letra por un número: A=10, B=11, C=12… hasta Z=35. La E es 14 y la S es 28.

21000418450200051332142891

4. Divide ese número entre 97 y quédate con el resto. Si el resto es 1, el IBAN es correcto. Con cualquier otro resultado, hay un error.

En el ejemplo el resto es 1, así que el IBAN es válido.

Cómo dividir un número de 26 cifras

Una calculadora normal no maneja números tan largos, y muchos lenguajes de programación tampoco sin perder precisión. El truco es hacer la división por trozos, igual que la división a mano:

  1. Toma las primeras cifras (por ejemplo, nueve) y calcula el resto al dividir entre 97.
  2. Pon ese resto delante de las cifras siguientes y repite.
  3. Continúa hasta agotar el número. El último resto es el resultado.

En código basta con recorrer el número cifra a cifra, llevando un resto que nunca pasa de 96: en cada paso, resto = (resto × 10 + cifra) mod 97. Así funciona el validador de esta web.

Cómo se calculan los dígitos de control

Es el proceso inverso, útil si tienes un número de cuenta antiguo y necesitas su IBAN:

  1. Escribe el número de cuenta seguido del código de país y de 00: 21000418450200051332ES00.
  2. Convierte las letras en números: 21000418450200051332142800.
  3. Calcula el resto al dividir entre 97. En el ejemplo es 7.
  4. Resta ese resto de 98: 98 − 7 = 91. Si el resultado tiene una sola cifra, añade un cero delante.

Los dígitos de control son 91, y el IBAN completo es ES91 2100 0418 4502 0005 1332.

Qué errores detecta y cuáles no

El mod 97 detecta:

No detecta, ni puede detectar:

Comprobaciones adicionales para un IBAN español

Si quieres afinar más, hay dos comprobaciones extra:

Cuándo conviene validar

El mejor momento es al dar de alta al socio, con él delante: si el número está mal, se corrige en diez segundos. El peor es al generar la remesa, cuando el socio ya no está y el cobro corre prisa.

Si heredas una lista de cuentas de una hoja de cálculo, pásala entera por el validador antes de la primera remesa: admite una lista completa, un IBAN por línea. Los errores de datos son uno de los motivos habituales de rechazo de una remesa.

Más guías

NexoraAI es un programa de gestión para gimnasios y clubes deportivos: socios, cuotas y remesas SEPA. Ver qué incluye.