¿Qué es un IBAN?
El IBAN (International Bank Account Number, en español Número Internacional de Cuenta Bancaria) es un estándar internacional para identificar cuentas bancarias de forma única en todo el mundo. Fue creado por el Comité Europeo de Normalización Bancaria (ECBS) y adoptado como norma ISO bajo la referencia ISO 13616.
El objetivo del IBAN es reemplazar los diferentes formatos nacionales de números de cuenta y códigos bancarios con un identificador único y uniforme que pueda utilizarse en transferencias internacionales sin ambigüedades ni confusiones. En la zona SEPA, el IBAN es el identificador estándar y obligatorio para cualquier transferencia bancaria.
¿Cuándo y por qué se creó el IBAN?
El IBAN fue desarrollado en los años 1990 para facilitar el procesamiento automatizado de transferencias internacionales. Antes del IBAN, cada país tenía su propio formato de número de cuenta, lo que hacía muy difícil procesar pagos transfronterizos de forma automática. El IBAN unificó estos formatos en un estándar reconocido globalmente. En Europa, su uso se volvió obligatorio con la implantación del área SEPA, a partir de 2008 para pagos entre empresas y 2014 para todos los pagos.
Estructura del IBAN alemán
El IBAN alemán tiene exactamente 22 caracteres y está estructurado de la siguiente forma:
DE89 3704 0044 0532 0130 00
Estructura del IBAN español
El IBAN español tiene 24 caracteres:
ES91 2100 0418 4502 0005 1332
Formatos IBAN internacionales
La longitud del IBAN varía según el país. Los países con IBAN más cortos tienen sistemas bancarios más simples, mientras que los países con muchos bancos y sucursales tienden a tener IBANs más largos. Los IBANs pueden tener entre 15 y 34 caracteres.
El IBAN explicado paso a paso
1. Código de país (2 letras)
Los dos primeros caracteres del IBAN son siempre el código ISO 3166-1 alpha-2 del país donde está domiciliada la cuenta. Por ejemplo: DE para Alemania, ES para España, AT para Austria,FR para Francia, IT para Italia.
2. Dígitos de control (2 cifras)
Los dos caracteres siguientes son los dígitos de control, calculados mediante el algoritmo Mod-97. Su función es detectar errores tipográficos: si alguien introduce mal un dígito del IBAN, los dígitos de control no coincidirán con el IBAN completo y la validación fallará. Esto permite detectar la gran mayoría de errores antes de enviar la transferencia.
3. Código bancario (BBAN)
El resto del IBAN es el BBAN (Basic Bank Account Number), que varía según el país. En Alemania, el BBAN incluye el código bancario (Bankleitzahl, 8 dígitos) y el número de cuenta (10 dígitos). En España incluye el código del banco (4 dígitos), el código de la sucursal (4 dígitos), los dígitos de control nacionales (2 dígitos) y el número de cuenta (10 dígitos).
Ejemplo de IBAN analizado: DE89370400440532013000
- DE → Alemania
- 89 → Dígitos de control (calculados según Mod-97)
- 37040044 → Código bancario (Commerzbank Frankfurt)
- 0532013000 → Número de cuenta
¿Qué es un BIC?
El BIC (Bank Identifier Code), también conocido como código SWIFT, es un código estandarizado (norma ISO 9362) que identifica de forma única a una institución financiera en el sistema financiero internacional. El BIC es utilizado principalmente para enrutar transferencias internacionales entre bancos.
Estructura del BIC (8 u 11 caracteres)
El BIC tiene la siguiente estructura:
- Código del banco (4 letras): Identifica el banco. Ejemplo:
DEUTpara Deutsche Bank,COBApara Commerzbank. - Código de país (2 letras): El país del banco según ISO 3166. Ejemplo:
DEpara Alemania,ESpara España. - Código de ubicación (2 caracteres): Identifica la oficina principal o un centro de procesamiento. Puede ser alfanumérico.
- Código de sucursal (3 caracteres, opcional): Identifica una sucursal específica. Si se omite, se reemplaza por
XXXpara indicar la oficina principal.
Ejemplos de BIC: DEUTDEDB (Deutsche Bank, versión de 8 caracteres),SSKMDEMMXXX (Sparkasse München, versión de 11 caracteres).
¿Dónde encontrar tu BIC?
El BIC aparece habitualmente en:
- El extracto bancario (normalmente junto al IBAN)
- La aplicación móvil de tu banco, en la sección «datos de cuenta»
- La tarjeta de débito o crédito (en algunos bancos)
- El portal web de tu banco, en la sección de perfil o ajustes de cuenta
- La carta de bienvenida o contrato de apertura de cuenta
¿Es obligatorio el BIC para GiroCode?
La respuesta corta es: no, el BIC es opcional en la versión 002 del estándar EPC, que es la versión recomendada actualmente para todos los GiroCodes nuevos.
La migración SEPA de 2016
Hasta 2016, el BIC era obligatorio para las transferencias SEPA porque los sistemas bancarios lo necesitaban para enrutar correctamente los pagos. Sin embargo, a partir del 1 de febrero de 2016, la normativa europea (Reglamento UE 260/2012) eliminó la obligatoriedad del BIC para los pagos SEPA nacionales y, posteriormente, para los pagos SEPA transfronterizos dentro de la zona SEPA. Desde entonces, los bancos pueden derivar el BIC a partir del IBAN usando tablas de enrutamiento internas.
¿Cuándo sigue siendo necesario el BIC?
Aunque técnicamente opcional, hay algunas situaciones en las que incluir el BIC en el GiroCode puede ser aconsejable:
- Transferencias a países fuera de la zona SEPA: Para pagos internacionales fuera del área SEPA (por ejemplo a Suiza, para cuentas no SEPA), el BIC puede seguir siendo necesario.
- Bancos con sistemas heredados: Algunos bancos más pequeños o con sistemas informáticos antiguos pueden no haber actualizado completamente sus tablas de enrutamiento y pueden requerir el BIC.
- Máxima compatibilidad: Si quieres garantizar la máxima compatibilidad con todas las apps bancarias, incluyendo las menos actualizadas, puedes incluir el BIC aunque sea opcional.
Transferencias nacionales vs. internacionales
Para transferencias dentro del mismo país SEPA (por ejemplo, de un banco alemán a otro banco alemán, o de un banco español a otro banco español), el BIC nunca es necesario hoy en día. Para transferencias entre países SEPA (por ejemplo, de Alemania a España), el BIC tampoco es necesario desde 2016. La única excepción son los pagos a instituciones bancarias que operan exclusivamente fuera del área SEPA.
Validación del IBAN explicada
La validación del IBAN mediante el algoritmo Mod-97 permite detectar la mayoría de los errores tipográficos antes de que se ejecute una transferencia. Es un proceso matemático relativamente sencillo que cualquier aplicación puede implementar.
El algoritmo Mod-97 paso a paso
- Reubicar los 4 primeros caracteres al final: Tomar el IBAN y mover los 4 primeros caracteres (código de país + dígitos de control) al final. Por ejemplo,
DE89370400440532013000se convierte en370400440532013000DE89. - Convertir letras a números: Reemplazar cada letra por su valor numérico según la tabla A=10, B=11, C=12, …, Z=35.
DE89se convierte en1314 89. La cadena370400440532013000DE89se convierte en3704004405320130001314 89. - Calcular el módulo 97: Dividir el número resultante por 97 y comprobar si el resto es igual a 1. Si el resto es 1, el IBAN es válido. Si no es 1, el IBAN contiene un error.
Por qué es importante la validación
La validación del IBAN antes de crear el GiroCode tiene varias ventajas importantes:
- Evita transferencias a cuentas incorrectas: Un IBAN con un dígito incorrecto puede corresponder a una cuenta real de otra persona, en cuyo caso el dinero se enviaría a la cuenta equivocada. Recuperar un pago enviado a la cuenta errónea puede ser un proceso largo y no siempre exitoso.
- Evita rechazos por error de formato: Un IBAN con dígitos de control incorrectos será rechazado automáticamente por el sistema bancario, causando un retraso en el pago.
- Mejora la experiencia del usuario: Detectar el error en el momento de introducir el IBAN, antes de crear el GiroCode, es mucho mejor que descubrirlo después de enviar la factura al cliente.
Errores comunes al introducir el IBAN
- Confundir el 0 con la letra O
- Confundir el 1 con la letra I o la letra L
- Omitir el código de país (por ejemplo escribir solo los dígitos sin «DE» o «ES»)
- Introducir el IBAN con espacios (debe usarse sin espacios en el GiroCode)
- Transponer dos dígitos consecutivos (error muy frecuente)
Ejemplo de código de validación
JavaScript: validación IBAN con Mod-97
function validateIBAN(iban) {
// Eliminar espacios y convertir a mayúsculas
const cleaned = iban.replace(/\s/g, '').toUpperCase();
// Verificar longitud mínima y caracteres válidos
if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]+$/.test(cleaned)) {
return false;
}
// Reubicar los 4 primeros caracteres al final
const rearranged = cleaned.slice(4) + cleaned.slice(0, 4);
// Convertir letras a números (A=10, B=11, ..., Z=35)
const numeric = rearranged.replace(/[A-Z]/g, (char) =>
(char.charCodeAt(0) - 55).toString()
);
// Calcular Mod-97 (para números grandes, se procesa en bloques)
let remainder = 0;
for (let i = 0; i < numeric.length; i += 7) {
const chunk = remainder.toString() + numeric.slice(i, i + 7);
remainder = parseInt(chunk, 10) % 97;
}
return remainder === 1;
}
// Ejemplo:
console.log(validateIBAN('DE89370400440532013000')); // true
console.log(validateIBAN('DE89370400440532013001')); // falseFormatos IBAN por país
La siguiente tabla muestra los formatos IBAN de los países de la zona SEPA más relevantes, con sus longitudes y estructura:
| País | Código | Long. | Ejemplo |
|---|---|---|---|
| Alemania | DE | 22 | DE89370400440532013000 |
| Austria | AT | 20 | AT611904300234573201 |
| Suiza | CH | 21 | CH9300762011623852957 |
| Francia | FR | 27 | FR7630006000011234567890189 |
| España | ES | 24 | ES9121000418450200051332 |
| Italia | IT | 27 | IT60X0542811101000000123456 |
| Países Bajos | NL | 18 | NL91ABNA0417164300 |
| Bélgica | BE | 16 | BE71096123456769 |
Seguridad del IBAN
¿Es seguro compartir tu IBAN?
Esta es una pregunta muy frecuente. La respuesta es: sí, en general es seguro compartir tu IBAN con personas o empresas que van a pagarte. El IBAN por sí solo solo permite realizar transferencias hacia tu cuenta, no retirar dinero de ella. Para recibir una transferencia, necesariamente la otra parte tiene que saber tu IBAN.
Sin embargo, en el caso de la domiciliación bancaria SEPA(SEPA Direct Debit), la situación es diferente: un mandato de domiciliación autoriza a una empresa a cobrar de tu cuenta. En este caso, debes ser más cuidadoso con quién compartes tu IBAN y solo otorgar mandatos de domiciliación a empresas en las que confías plenamente.
IBAN para domiciliación vs. transferencia
Es importante entender la diferencia:
- Transferencia SEPA (SCT): El dinero fluye desde la cuenta del pagador hacia la cuenta del beneficiario, siempre con iniciativa y autorización del pagador. Compartir tu IBAN solo permite que otros te transfieran dinero.
- Domiciliación SEPA (SDD): El acreedor inicia el cobro con un mandato previamente firmado. Aquí sí es necesario ser cuidadoso: un mandato de domiciliación firmado autoriza cargos en tu cuenta. Solo debes firmarlo con empresas de confianza y verificadas.
Privacidad con GiroCode
Un GiroCode contiene el IBAN, nombre y otros datos del beneficiario(el que recibe el pago), no del pagador. Esto significa que:
- El emisor de la factura (que crea el GiroCode) comparte su IBAN con el cliente, lo cual es completamente normal y necesario para recibir pagos.
- El cliente (que escanea el GiroCode) no comparte ningún dato bancario propio con el creador del código.
- Nuestro generador de GiroCode procesa todos los datos localmente en el navegador, sin enviarlos a ningún servidor, garantizando la máxima privacidad.
Usar GiroCode profesionalmente – Recomendaciones de software
Quien quiera usar GiroCodes de forma profesional en sus facturas necesitará tarde o temprano un buen software de contabilidad o facturación. Crear GiroCodes manualmente es adecuado para uso ocasional, pero para facturación regular, una solución automatizada se amortiza rápidamente.
Recomendamos dos herramientas probadas que admiten GiroCodes de forma nativa:
sevDesk
sevDesk es una de las principales plataformas de contabilidad alemanas para autónomos y pymes. Las facturas con GiroCode generado automáticamente se pueden crear en pocos clics y enviarse directamente por correo electrónico.
Probar sevDesk gratis *FastBill
FastBill ofrece una plataforma de facturación simple y rápida. Con FastBill puedes crear una factura profesional con GiroCode en menos de dos minutos, directamente en el navegador, sin instalación.
Probar FastBill gratis ** Enlace de afiliado – Si compras a través de este enlace, recibimos una pequeña comisión sin coste adicional para ti.
Para uso ocasional, recomendamos nuestro generador de GiroCode gratuito – completamente local, sin registro.