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:
- Dos letras con el código del país (
ES,FR,DE,PT…). - Dos dígitos de control, calculados a partir de todo lo demás.
- El número de cuenta nacional, cuyo formato y longitud decide cada país.
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ón | Contenido | Ejemplo |
|---|---|---|
| 1-2 | País | ES |
| 3-4 | Dígitos de control del IBAN | 91 |
| 5-8 | Entidad (el banco) | 2100 |
| 9-12 | Oficina | 0418 |
| 13-14 | Dígito de control de la cuenta | 45 |
| 15-24 | Número de cuenta | 0200051332 |
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:
- Toma las primeras cifras (por ejemplo, nueve) y calcula el resto al dividir entre 97.
- Pon ese resto delante de las cifras siguientes y repite.
- 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:
- Escribe el número de cuenta seguido del código de país y de
00:21000418450200051332ES00. - Convierte las letras en números:
21000418450200051332142800. - Calcula el resto al dividir entre 97. En el ejemplo es 7.
- 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:
- Cualquier carácter equivocado, uno solo.
- Casi todos los intercambios de dos cifras contiguas, que es el error más común al copiar a mano (escribir
54donde ponía45). - La gran mayoría de los errores que afectan a varias cifras a la vez.
No detecta, ni puede detectar:
- Que la cuenta exista. Un IBAN puede tener el formato correcto y corresponder a una cuenta que nunca se abrió.
- Que siga abierta. Si el socio cerró la cuenta, el IBAN sigue siendo «válido» y el recibo volverá con el motivo
AC04. - Que pertenezca a quien te lo dio. Para eso está el mandato firmado por el titular.
Comprobaciones adicionales para un IBAN español
Si quieres afinar más, hay dos comprobaciones extra:
- La longitud: exactamente 24 caracteres, y los 22 últimos deben ser cifras.
- El dígito de control de la cuenta (posiciones 13 y 14), que valida por separado la entidad y oficina, por un lado, y el número de cuenta, por otro. Es un cálculo distinto, heredado del CCC. En la práctica, si el mod 97 es correcto, es extremadamente raro que este falle.
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
- Cómo estructurar las cuotas y los descuentos de un gimnasio o club
- Del Excel a un programa de gestión: cuándo dar el paso y cómo migrar los socios
- Devoluciones de recibos SEPA: plazos, códigos de motivo y qué hacer con cada uno
- Errores frecuentes en una remesa SEPA y cómo evitarlos
- El fichero pain.008 por dentro: cómo es el XML de una remesa SEPA
- El identificador de acreedor SEPA: qué es, cómo se forma y dónde se usa
- El mandato SEPA: qué es, qué debe llevar y cuánto tiempo guardarlo
- Protección de datos en un gimnasio o club deportivo: lo esencial del RGPD
- Qué es una remesa SEPA y cómo se cobra una cuota por domiciliación
- Cómo reducir las bajas en un gimnasio: qué mirar y qué hacer cada semana
- SEPA CORE y B2B: en qué se diferencian y cuál te corresponde
NexoraAI es un programa de gestión para gimnasios y clubes deportivos: socios, cuotas y remesas SEPA. Ver qué incluye.