Validação de IBAN: como funciona a soma de verificação?
O IBAN contém um mecanismo de detecção de erros integrado. Perceber como funciona a soma de verificação mod-97 ajuda-o a detectar erros antes de bloquearem os seus pagamentos.
O que é um IBAN?
O IBAN (International Bank Account Number) é um número de conta bancária internacionalmente normalizado definido pela norma ISO 13616. É utilizado na zona SEPA e em mais de 80 países para identificar de forma única uma conta bancária.
Um IBAN é composto por: um código de país de 2 letras, um número de controlo de 2 dígitos (soma de verificação) e um Basic Bank Account Number (BBAN) cujo formato varia por país. Por exemplo, um IBAN belga tem 16 caracteres: BE68539007547034.
Os dígitos de controlo (posições 3-4) são calculados com o algoritmo mod-97, garantindo que os erros de transcrição possam ser detetados antes de um pagamento ser submetido à rede bancária.
Como funciona a soma de verificação mod-97
A soma de verificação do IBAN utiliza o algoritmo módulo-97 (ISO 7064). Para verificar um IBAN:
- 1Mover os primeiros 4 caracteres para o fim da cadeia
- 2Substituir cada letra pelo seu equivalente numérico (A=10, B=11, ..., Z=35)
- 3Calcular o resto desta divisão por 97
- 4O IBAN é válido se o resto for igual a 1
Esta simples verificação matemática deteta 98% dos erros de transcrição de um único carácter — tornando-a um dos mecanismos de validação mais eficazes nos sistemas financeiros.
Erros IBAN comuns
Estes são os erros mais frequentes nos ficheiros de pagamento SEPA:
Soma de verificação inválida
Um erro de digitação no número de conta altera o resultado mod-97. Mesmo um erro de um único dígito é detectado.
Formato de país incorrecto
Cada país tem um comprimento de IBAN fixo. Um IBAN belga tem sempre 16 caracteres, um IBAN francês 27. Um comprimento incorrecto é imediatamente inválido.
Espaços e formatação
Os IBAN são por vezes escritos com espaços a cada 4 caracteres para facilitar a leitura (BE68 5390 0754 7034). Nos ficheiros de pagamento, devem ser enviados sem espaços.
Caracteres em falta ou a mais
Os IBAN têm um comprimento fixo por país. Adicionar ou remover um carácter invalida sempre a soma de verificação.
Letras minúsculas
A norma IBAN utiliza exclusivamente maiúsculas. Alguns sistemas rejeitam IBAN em minúsculas, mesmo que a soma de verificação seja idêntica.
Confusão entre O/0 ou I/1
A letra O e o dígito 0, ou I e 1, são frequentemente trocados. A soma de verificação deteta este erro, mas a mensagem de erro pode não ser evidente.
Formatos de IBAN por país
Cada país SEPA tem o seu próprio comprimento de IBAN e estrutura BBAN. A tabela seguinte apresenta os formatos europeus mais comuns:
| País | Código | Comprimento | Formato BBAN | Exemplo |
|---|---|---|---|---|
| Bélgica | BE | 16 | 3n 7n 2n | BE68 5390 0754 7034 |
| França | FR | 27 | 5n 5n 11c 2n | FR76 3000 6000 0112 3456 7890 189 |
| Alemanha | DE | 22 | 8n 10n | DE89 3704 0044 0532 0130 00 |
| Países Baixos | NL | 18 | 4a 10n | NL91 ABNA 0417 1643 00 |
| Espanha | ES | 24 | 4n 4n 1n 1n 10n | ES91 2100 0418 4502 0005 1332 |
| Itália | IT | 27 | 1a 5n 5n 12c | IT60 X054 2811 1010 0000 0123 456 |
| Portugal | PT | 25 | 4n 4n 11n 2n | PT50 0002 0123 1234 5678 9015 4 |
| Áustria | AT | 20 | 5n 11n | AT61 1904 3002 3457 3201 |
| Luxemburgo | LU | 20 | 3n 13c | LU28 0019 4006 4475 0000 |
| Irlanda | IE | 22 | 4a 6n 8n | IE29 AIBK 9311 5212 3456 78 |
| Finlândia | FI | 18 | 3n 11n | FI21 1234 5600 0007 85 |
| Polónia | PL | 28 | 8n 16n | PL61 1090 1014 0000 0712 1981 2874 |
| Suíça | CH | 21 | 5n 12c | CH93 0076 2011 6238 5295 7 |
| Suécia | SE | 24 | 3n 16n 1n | SE45 5000 0000 0583 9825 7466 |
| Dinamarca | DK | 18 | 4n 9n 1n | DK50 0040 0440 1162 43 |
Esta lista cobre os principais países SEPA. Para uma referência completa, consulte o SWIFT IBAN Registry publicado trimestralmente.
Validação de IBAN em ficheiros de pagamento SEPA
Quando gera ficheiros XML SEPA (pain.001 ou pain.008), cada IBAN no ficheiro deve passar a verificação mod-97. Os bancos rejeitam o lote inteiro se um único IBAN for inválido.
É por isso que a pré-validação dos IBAN antes de gerar o ficheiro de pagamento é fundamental. O conversor SEPA do ValidateFin valida todos os IBAN automaticamente durante a importação CSV.
Para além da soma de verificação, alguns bancos verificam também se a parte BBAN corresponde à sua estrutura interna de encaminhamento. Esta verificação de segundo nível é específica de cada banco e não pode ser efetuada apenas com mod-97.
Valide os seus IBAN gratuitamente
O nosso validador de IBAN verifica a soma de verificação mod-97, o formato do país e o comprimento — instantaneamente, sem enviar quaisquer dados para um servidor.
Abrir o Validador IBANPerguntas frequentes
Como funciona o algoritmo de soma de verificação mod-97 para IBAN?
O algoritmo mod-97 valida um IBAN: movendo os primeiros 4 caracteres (código de país + dígitos de controlo) para o fim, convertendo todas as letras em números (A=10, B=11...Z=35), e calculando o resto da divisão por 97. Um IBAN válido produz sempre um resto de 1.
Que países usam IBAN e quais são os diferentes formatos?
Mais de 80 países usam IBAN, com os 36 países SEPA a exigi-lo. Os formatos variam: os IBAN belgas têm 16 caracteres, os franceses 27, os alemães 22 e os neerlandeses 18. Cada país tem regras específicas de estrutura BBAN.
Um IBAN pode passar a validação da soma de verificação mas ainda ser inválido?
Sim. A soma de verificação mod-97 verifica a integridade matemática mas não pode confirmar que a conta existe num banco real. Para processamento de pagamentos, complemente sempre a validação da soma de verificação com o serviço de pré-validação do seu banco.
Por que o meu IBAN falha a validação mesmo parecendo correto?
As causas mais comuns incluem: caracteres invisíveis (espaços não separáveis, tabulações), código de país errado, letras maiúsculas e minúsculas misturadas, ou um erro de copiar e colar que alterou um dígito. Tente remover todos os espaços e verificar novamente a soma de verificação.
A validação de IBAN é suficiente para garantir que um pagamento será bem-sucedido?
Não. A validação de IBAN confirma a integridade matemática, mas a conta pode estar encerrada, bloqueada ou pertencer a outra pessoa. Para pagamentos de valor elevado, solicite ao beneficiário que confirme o IBAN através de um canal verificado.
O que acontece se submeter um ficheiro SEPA com um IBAN inválido?
O banco rejeitará o ficheiro de pagamento inteiro ou a transação individual, consoante o erro. A maioria dos bancos valida os IBAN no momento da submissão e devolve um pain.002 (relatório de estado) indicando o motivo da rejeição.
Posso validar IBAN em massa?
Sim. O validador IBAN do ValidateFin aceita múltiplos IBAN de uma só vez. Pode também utilizar o conversor CSV para SEPA, que valida todos os IBAN automaticamente durante a importação.
Todos os países utilizam o mesmo formato de IBAN?
Não. Cada país define o seu próprio comprimento de IBAN e estrutura BBAN. Os IBAN belgas têm 16 caracteres, os franceses 27, os alemães 22, e assim por diante. As duas primeiras letras são sempre o código de país ISO.
O BIC é obrigatório juntamente com o IBAN?
Na zona SEPA, o BIC é geralmente opcional para transferências nacionais desde 2016. No entanto, continua a ser obrigatório para pagamentos transfronteiriços para países fora do SEPA e pode ser exigido por alguns bancos.
Qual é a diferença entre IBAN e BBAN?
O BBAN (Basic Bank Account Number) é o formato de número de conta nacional. O IBAN envolve o BBAN com um código de país e 2 dígitos de controlo, criando um formato internacionalmente normalizado. O BBAN é sempre a parte após os primeiros 4 caracteres de um IBAN.