Bases · IBAN & BIC

IBAN & BIC para GiroCode – Guía completa

El IBAN es el elemento central de cualquier GiroCode. En esta guía completa explicamos su estructura, cómo se valida, cuándo sigue siendo necesario el BIC, y todo lo que necesitas saber sobre estos identificadores bancarios en el contexto de los pagos SEPA.

¿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

DE = Código de país
89 = Dígitos de control
37040044 = Código bancario (BLZ)
0532013000 = Número de cuenta

Estructura del IBAN español

El IBAN español tiene 24 caracteres:

ES91 2100 0418 4502 0005 1332

ES = España
91 = Dígitos de control
2100 = Código del banco
0418 4502 0005 1332 = Sucursal + cuenta

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: DEUT para Deutsche Bank, COBA para Commerzbank.
  • Código de país (2 letras): El país del banco según ISO 3166. Ejemplo: DE para Alemania, ES para 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 XXX para 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

  1. 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, DE89370400440532013000 se convierte en370400440532013000DE89.
  2. 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.DE89 se convierte en 1314 89. La cadena 370400440532013000DE89 se convierte en3704004405320130001314 89.
  3. 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')); // false

Formatos 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ísCódigoLong.Ejemplo
AlemaniaDE22DE89370400440532013000
AustriaAT20AT611904300234573201
SuizaCH21CH9300762011623852957
FranciaFR27FR7630006000011234567890189
EspañaES24ES9121000418450200051332
ItaliaIT27IT60X0542811101000000123456
Países BajosNL18NL91ABNA0417164300
BélgicaBE16BE71096123456769

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.

* Divulgación: Los enlaces marcados con * son enlaces de afiliado. Si compras a través de estos enlaces, recibimos una pequeña comisión sin coste adicional para ti.