1. O Que E o IBAN e Para Que Serve
O IBAN (International Bank Account Number — Numero Internacional de Conta Bancaria) e um sistema padronizado de identificacao de contas bancarias criado para facilitar transacoes financeiras internacionais, especialmente dentro da Europa. Foi criado pelo Comite Europeu de Padroes Bancarios (ECBS) e e regulamentado pela norma ISO 13616.
Antes do IBAN, transferencias internacionais exigiam multiplos campos de informacao (numero de conta, codigo do banco, codigo de roteamento) que variavam de pais para pais, gerando erros e atrasos. O IBAN unifica todas essas informacoes em um unico numero padronizado, reduzindo erros e acelerando o processamento de transacoes.
Hoje, o IBAN e obrigatorio em todos os paises da Zona Euro para transferencias SEPA (Single Euro Payments Area) e e amplamente aceito em mais de 80 paises ao redor do mundo.
2. Estrutura e Formato do IBAN
O IBAN e composto por tres partes principais:
- Codigo do pais (2 letras): codigo ISO 3166-1 alpha-2 do pais (PT para Portugal, ES para Espanha, DE para Alemanha, etc.).
- Digitos verificadores (2 digitos): calculados pelo algoritmo MOD-97 para garantir a integridade do numero.
- BBAN — Basic Bank Account Number: o numero de conta bancaria no formato especifico de cada pais, contendo codigo do banco, agencia e numero de conta.
O comprimento total varia de 15 caracteres (Noruega) a 34 caracteres (Malta), dependendo do pais. Portugal tem 25 caracteres, Alemanha 22, Reino Unido 22 e Franca 27.
Ao ser exibido para humanos, o IBAN e formatado em grupos de 4 caracteres separados por espacos (ex: PT50 0002 0123 1234 5678 9015 4), mas nas transacoes eletronicas e transmitido sem espacos.
3. Como Funciona o Algoritmo MOD-97
O algoritmo MOD-97 e o metodo matematico usado para calcular e validar os 2 digitos verificadores do IBAN. O processo de validacao segue estes passos:
- Rearranjamento: move as 4 primeiras posicoes do IBAN (codigo do pais + digitos verificadores) para o final.
- Conversao de letras: cada letra e substituida por dois digitos (A=10, B=11, ..., Z=35).
- Calculo do modulo: o numero resultante e dividido por 97. Se o resto for 1, o IBAN e valido.
Para gerar um IBAN valido, o processo e inverso: calcula-se "98 menos o resto da divisao por 97 do numero rearranjado com '00' como digitos verificadores provisorios".
"O algoritmo MOD-97 detecta todos os erros de um unico digito e a maioria das trocas de digitos adjacentes, tornando-o muito eficaz para detectar erros de digitacao em transacoes bancarias."
4. Estrutura do IBAN por Pais
Cada pais tem uma estrutura de BBAN propria. Veja as especificidades dos paises suportados:
- Portugal (PT, 25 chars): banco (4) + agencia (4) + conta (11) + verificadores (2).
- Espanha (ES, 24 chars): banco (4) + agencia (4) + verificadores internos (2) + conta (10).
- Alemanha (DE, 22 chars): banco (8) + conta (10). Sem agencia separada.
- Franca (FR, 27 chars): banco (5) + agencia (5) + conta (11) + verificadores internos (2).
- Italia (IT, 27 chars): verificador de controle (1) + banco (5) + agencia (5) + conta (12).
- Reino Unido (GB, 22 chars): banco (4 letras) + sort code (6) + conta (8).
5. Por Que Desenvolvedores Precisam Gerar IBANs
Sistemas financeiros modernos que operam no mercado europeu frequentemente precisam lidar com IBANs:
- Integracao com APIs SEPA: transferencias bancarias europeias (credito SEPA, debito direto SEPA) exigem IBANs validos tanto do remetente quanto do destinatario.
- Plataformas de pagamento: gateways como Stripe, Adyen e GoCardless exigem IBAN para processar debitos diretos europeus.
- Cadastro de contas bancarias: aplicativos fintech e neobancos precisam validar IBANs inseridos por usuarios.
- Sistemas de folha de pagamento: empresas com funcionarios na Europa precisam armazenar e validar IBANs para transferencias salariais.
- Testes de automacao: scripts de teste que simulam cadastros e transacoes financeiras precisam de IBANs validos para nao falhar na validacao de formato.
6. Perguntas Frequentes
O IBAN gerado pertence a alguma conta bancaria real?
Nao. O IBAN e matematicamente valido (passa na verificacao MOD-97) mas nao esta cadastrado em nenhum banco real. Qualquer tentativa de realizar uma transferencia para um IBAN gerado resultara em erro do banco.
Qual a diferenca entre "Gerar IBAN" e "Gerar Completamente Aleatorio"?
"Gerar IBAN" usa os campos de codigo do banco e numero de conta que voce preencheu (ou os gera automaticamente se estiverem vazios). "Gerar Completamente Aleatorio" ignora todos os campos e gera todos os componentes do BBAN aleatoriamente.
O IBAN gerado passa na validacao de APIs de pagamento?
Ele passa na validacao de formato (verificacao MOD-97), mas APIs que fazem verificacoes adicionais — como consulta a bancos reais ou verificacao de existencia da conta — irao rejeita-lo. Para testes de integracao, use ambientes sandbox das APIs, que geralmente aceitam qualquer IBAN matematicamente valido.
Os dados sao armazenados?
Nao. Todo o processamento acontece localmente no seu navegador via JavaScript. Nenhum IBAN gerado e enviado a servidores ou armazenado em banco de dados.