Definição
O IBAN (International Bank Account Number) é o identificador único e internacional de uma conta bancária, definido pela norma ISO 13616.
Seu comprimento varia conforme o país (de 15 a 34 caracteres), mas seu papel é o mesmo em toda parte: permitir que qualquer banco encaminhe um pagamento à conta correta sem ambiguidade.
Anatomia de um IBAN francês
Um IBAN francês tem 27 caracteres. Exemplo: FR76 3000 6000 0112 3456 7890 189
FR— código do país (2 letras, ISO 3166).76— dígitos de controle internacionais (2 dígitos, algoritmo MOD 97-10).30006— código do banco (5 dígitos).00001— código da agência (5 dígitos).12345678901— número da conta (11 caracteres).89— dígito de controle RIB nacional (2 dígitos).
Os 23 últimos caracteres constituem o antigo RIB francês: o IBAN é o RIB prefixado com o código do país e os dígitos de controle internacionais.
Comprimentos de IBAN por país
Algumas referências:
- Alemanha: 22 caracteres (
DE89 3704 0044 0532 0130 00). - França, Espanha, Itália: 27 caracteres.
- Bélgica: 16 caracteres.
- Suíça: 21 caracteres.
- Malta: 31 caracteres (o mais longo na zona SEPA).
Daí o erro de integração mais frequente: prever um campo de 27 caracteres acreditando que é universal. É preciso prever no máximo 34 caracteres.
Validação: MOD 97-10
O algoritmo é simples:
- Mover os 4 primeiros caracteres para o fim da cadeia.
- Substituir cada letra por sua posição no alfabeto + 9 (A=10, B=11, … Z=35).
- Calcular o resultado módulo 97.
- Se o resultado for 1, o IBAN é estruturalmente válido.
Atenção: estruturalmente válido não significa conta existente. É a VoP que verifica, além disso, se o nome corresponde ao titular e se a conta está ativa.
IBAN vs BIC
- IBAN — identifica a conta (e, indiretamente, o banco, pelos códigos de país e de banco).
- BIC — identifica o banco (seu código SWIFT).
Desde 2016, o BIC deixou de ser obrigatório no SEPA: o IBAN sozinho basta, pois o banco destinatário pode ser deduzido dele. O BIC continua útil para transferências fora do SEPA ou como campo de consistência em certas APIs.
O que o IBAN não faz
- Não revela o nome do titular: esse é o papel da VoP.
- Não garante que a conta esteja ativa: um IBAN válido pode corresponder a uma conta encerrada.
- Não é confidencial em sentido estrito: ele transita em toda transferência, mas permanece sensível (risco de débitos fraudulentos se o mandato não for verificado).
- Não é um RIB: o RIB é o formato nacional francês que reúne IBAN, BIC, titular e endereço em forma imprimível.
No ecossistema PSD2
O IBAN é o identificador-chave de todas as APIs da PSD2: o debtorAccount da autorização de pagamento, o creditorAccount da requisição de pagamento no STET e no Berlin Group, obrigatório em qualquer requisição de transferência.
Exemplos concretos
- Campo de formulário:
maxlength=34, remoção dos espaços e conversão em maiúsculas no front-end, validação MOD 97-10 no servidor antes da chamada de API. O erro clássico: validar apenas o comprimento. - Exibição: agrupar em blocos de 4 caracteres separados por espaços — padrão ISO e bem mais legível.
- Bibliotecas:
iban(npm),python-stdnum,iban4j(Java) cuidam da validação e da formatação — nunca reimplementar o MOD 97-10 na mão. - Wise, Revolut, N26: seus IBANs de clientes costumam ser belgas ou lituanos (licença local). Perfeitamente válidos no SEPA para um cliente francês, mesmo que alguns empregadores ainda os recusem — uma prática ilegal nos termos do regulamento SEPA.
- IBANs virtuais: Treezor, Swan ou Stripe Treasury geram IBANs virtuais vinculados a uma conta-mãe, para rastrear por cliente ou por finalidade — muito usado na cobrança.
- Segurança: nunca registrar um IBAN em texto puro; tratá-lo como dado sensível.