Dígitos de controlo nacionais no IBAN

Os dígitos de controlo que muitos países mantêm dentro do número de conta, da clé RIB francesa ao CIN italiano, e em que diferem dos do IBAN.

Atualizado em

Todos os IBAN têm dois dígitos de controlo logo a seguir ao código de país, calculados com o MOD-97. Muitos países acrescentam dígitos de controlo próprios dentro do BBAN, o número de conta nacional. Na maioria dos casos, são mais antigos do que o IBAN: os bancos já os usavam para detetar erros de digitação nos números de conta nacionais antes de o IBAN existir, e o IBAN manteve-os quando passou a incluir esses números.

Duas camadas de verificação

Tome como exemplo o IBAN francês FR14 2004 1010 0505 0001 3M02 606. O 14 a seguir a FR são os dígitos de controlo do IBAN. Os dois últimos dígitos, 06, são a clé RIB, o controlo nacional francês. Protegem coisas diferentes:

Dígitos de controlo do IBAN Dígitos de controlo nacionais
Onde ficam Posições 3 e 4, em todos os IBAN Dentro do BBAN, num lugar definido por cada país
Método MOD 97-10 (ISO/IEC 7064), igual em todo o lado Uma regra nacional, diferente de país para país
O que abrangem O IBAN completo, incluindo o código de país Normalmente o código do banco, o código da agência e o número de conta
Quem os define A norma ISO 13616 O banco central ou a associação de bancos do país

As duas camadas são independentes. Um IBAN pode ter dígitos de controlo MOD-97 corretos e mesmo assim falhar o controlo nacional, por exemplo quando alguém converteu num IBAN um número nacional mal escrito e só depois calculou os dígitos de controlo do IBAN. O contrário também acontece: mude um dígito de um IBAN válido e a verificação MOD-97 falha, mesmo que o controlo nacional continue a passar.

Os principais métodos

Os controlos nacionais parecem todos diferentes, mas a maioria pertence a umas poucas famílias.

Dois dígitos MOD 97 no fim do BBAN

Vários países terminam o BBAN com dois dígitos calculados com o MOD 97-10, o mesmo método dos dígitos de controlo do IBAN, aplicado aos dígitos que estão antes deles. É o caso de Portugal (os dígitos de controlo do NIB), da Eslovénia, da Sérvia, do Montenegro, da Macedónia do Norte, da Bósnia e Herzegovina, do Kosovo e de Timor-Leste.

Chaves RIB

A clé RIB francesa é 97 menos o resto da divisão por 97 de 89 × código do banco + 15 × código da agência + 3 × número de conta. Antes do cálculo, as letras do número de conta passam a dígitos (A e J valem 1, B, K e S valem 2, e assim por diante). A chave torna divisível por 97 o número nacional completo. A França e o Mónaco partilham-na, e a Tunísia e a Mauritânia usam chaves RIB com o mesmo objetivo: o número de conta completo é divisível por 97.

O CIN italiano

A Itália e São Marinho põem uma letra de controlo, o CIN, no início do BBAN. Abrange os 22 caracteres que vêm a seguir: o código do banco ABI, o código da agência CAB e o número de conta. Os caracteres nas posições ímpares são convertidos com uma tabela; os das posições pares mantêm o valor simples (os dígitos valem o próprio número, as letras vão de A = 0 a Z = 25). A soma dividida por 26 deixa um resto de 0 a 25, que se converte numa letra de A a Z.

Os dígitos de controlo espanhóis

Um código de conta espanhol (CCC, Código Cuenta Cliente) tem dois dígitos de controlo entre o código da agência e o número de conta. O primeiro verifica os códigos do banco e da agência, o segundo o número de conta de 10 dígitos. Cada um é uma soma ponderada com os pesos 1, 2, 4, 8, 5, 10, 9, 7, 3, 6: divide-se a soma por 11 e subtrai-se o resto a 11. Um resultado de 11 passa a 0 e um de 10 passa a 1. Veja o formato espanhol.

Somas ponderadas

Muitos países multiplicam cada dígito por um peso, somam os produtos e ficam com o resto da divisão:

  • Bélgica: os dois últimos dígitos são os dez primeiros dígitos módulo 97 (97 em vez de 0).
  • Noruega: MOD 11 com os pesos 5, 4, 3, 2, 7, 6, 5, 4, 3, 2. Os números de conta que precisariam do valor 10 nunca são emitidos.
  • Finlândia: o algoritmo de Luhn, o mesmo dos números de cartão.
  • Estónia: o método 7-3-1, com os pesos 7, 3, 1 repetidos a partir da direita.
  • Hungria: dois dígitos com os pesos 9, 7, 3, 1, um para o código do banco e da agência e outro para o número de conta.
  • Polónia: um dígito no fim do código de banco e agência de 8 dígitos, com os pesos 3, 9, 7, 1.
  • Albânia: um dígito depois do código do banco e da agência, com os pesos 9, 7, 3, 1.
  • República Checa e Eslováquia: o prefixo da conta e o número de conta têm de dar, cada um, uma soma ponderada divisível por 11.
  • Croácia: ISO 7064 MOD 11,10, uma vez para o código do banco e outra para o número de conta.
  • Costa Rica: o último dígito do número de conta de cliente, com os pesos 1 a 9 e depois 1 a 7, módulo 11.
  • Rússia: a chave de controlo do Banco da Rússia, com os pesos 7, 1, 3, sobre o fim do código bancário BIK e o número de conta.

País a país

A tabela indica todos os países cujo controlo nacional este site calcula, com as posições dos dígitos de controlo no IBAN. Clique num país para abrir o respetivo gerador e o formato completo.

País Posições Método Dígitos de controlo do IBAN Fonte
Albânia 12 Pesos 9, 7, 3, 1 (mod 10) Dependem da conta Bank of Albania, Decision No. 26 of 4.5.2022
Bélgica 15–16 10 primeiros dígitos mod 97 Dependem da conta Febelfin / National Bank of Belgium
Bósnia e Herzegovina 19–20 MOD 97-10 BA39 Centralna banka Bosne i Hercegovine
Costa Rica 22 Pesos de 1 a 9 (mod 11) Dependem da conta Banco Central de Costa Rica, Cuenta Cliente
Croácia 11, 21 ISO 7064 MOD 11,10 Dependem da conta Hrvatska narodna banka, Narodne novine 13/2025
Eslováquia 14, 24 MOD 11 ponderado Dependem da conta Národná banka Slovenska, opatrenie č. 8/2009
Eslovénia 18–19 MOD 97-10 SI56 Banka Slovenije, Uradni list RS 85/2016
Espanha 13–14 Dígitos de controlo (mod 11) Dependem da conta Consejo Superior Bancario, Código Cuenta Cliente (AEB/CECA)
Estónia 20 7-3-1 (mod 10) Dependem da conta Estonian Banking Association (Pangaliit)
Finlândia 18 Luhn (mod 10) Dependem da conta Finance Finland (Finanssiala)
França 26–27 Clé RIB (mod 97) FR76 quando o número de conta só tem dígitos CFONB, RIB standard (Banque de France)
Hungria 12, 28 Pesos 9, 7, 3, 1 (mod 10) Dependem da conta Magyar Nemzeti Bank, 35/2017. (XII. 14.) MNB rendelet
Itália 5 Letra de controlo CIN (mod 26) Dependem da conta ABI, coordinate bancarie (Banca d'Italia)
Kosovo 19–20 MOD 97-10 XK05 Central Bank of the Republic of Kosovo (BQK)
Macedónia do Norte 18–19 MOD 97-10 MK07 National Bank of the Republic of North Macedonia
Mauritânia 26–27 Chave RIB (mod 97) MR13 Banque Centrale de Mauritanie, Instruction 16/GR/2008
Mónaco 26–27 Clé RIB (mod 97) MC58 quando o número de conta só tem dígitos CFONB, RIB standard (Banque de France)
Montenegro 21–22 MOD 97-10 ME25 Centralna banka Crne Gore
Noruega 15 MOD 11 Dependem da conta Bits AS / Finans Norge
Polónia 12 Pesos 3, 9, 7, 1 (mod 10) Dependem da conta Narodowy Bank Polski
Portugal 24–25 MOD 97-10 PT50 Banco de Portugal, NIB
República Checa 14, 24 MOD 11 ponderado Dependem da conta Česká národní banka, vyhláška č. 169/2011 Sb.
Rússia 22 Chave de controlo, pesos 7, 1, 3 Dependem da conta Bank of Russia, Procedure No. 515 of 8.9.1997
São Marinho 5 Letra de controlo CIN (mod 26) Dependem da conta Banca Centrale della Repubblica di San Marino (ABI standard)
Sérvia 21–22 MOD 97-10 RS35 Narodna banka Srbije
Timor-Leste 22–23 MOD 97-10 TL38 Banco Central de Timor-Leste
Tunísia 23–24 Chave RIB (mod 97) TN59 Banque Centrale de Tunisie

Em alguns outros países, como o Burundi, o Jibuti e São Tomé e Príncipe, os exemplos do registo também sugerem um controlo nacional, mas não encontrámos uma descrição oficial. O gerador deixa esses dígitos aleatórios.

Dígitos de controlo do IBAN fixos

Com dois dígitos MOD 97 no fim ou com uma chave RIB, o BBAN deixa sempre o mesmo resto quando dividido por 97, seja qual for a conta. Como os dígitos de controlo do IBAN dependem apenas desse resto e do código de país, todos os IBAN válidos destes países têm os mesmos dígitos de controlo: todos os IBAN portugueses começam por PT50, todos os sérvios por RS35 e todos os tunisinos por TN59. Os IBAN franceses cujo número de conta só tem dígitos começam todos por FR76. As letras num número de conta francês alteram o resultado, e é por isso que o exemplo do registo acima começa por FR14.

É uma verificação rápida e útil quando lê IBAN destes países: se os dígitos de controlo forem outros, o IBAN está errado.

Um validador deve verificá-los?

O MOD-97 já deteta qualquer erro num único dígito e qualquer troca de dois dígitos vizinhos, por isso os controlos nacionais acrescentam pouco contra erros de digitação. Ajudam noutros casos: um IBAN construído à mão a partir de um número nacional errado, ou um IBAN inventado cujo autor só calculou os dígitos MOD-97.

Antes de os acrescentar ao seu próprio validador:

  • Cada país precisa do seu próprio algoritmo, e cada um tem de seguir exatamente a regra oficial. Uma implementação errada rejeita IBAN de clientes reais, o que é pior do que não verificar.
  • Teste cada algoritmo com exemplos no formato real, como o exemplo do registo que aparece em cada página de país.
  • Use mensagens de erro específicas. "Os dígitos de controlo nacionais não correspondem" ajuda mais um utilizador do que "IBAN inválido".

O nosso validador de IBAN verifica os dígitos de controlo nacionais sempre que a regra é conhecida e avisa quando não é. A biblioteca de código aberto iban-check cobre as verificações estruturais e o MOD-97.

Testar com dígitos de controlo nacionais

O gerador calcula os dígitos de controlo nacionais de todos os países da tabela acima, nos dois modos, realista e totalmente aleatório, por isso os validadores que os verificam aceitam os IBAN gerados. Para um teste negativo, altere um dos dígitos de controlo nacionais e volte a calcular os dígitos de controlo do IBAN: o IBAN passa no MOD-97, mas falha o controlo nacional. Quando os dígitos de controlo do IBAN estão errados, o validador sugere os que servem. O artigo IBAN de teste para programadores e QA trata das outras camadas que um validador verifica.

Fontes

  • SWIFT IBAN Registry, versão 102 (junho de 2026): a estrutura do BBAN de cada país e os exemplos usados acima.
  • ISO/IEC 7064: os sistemas de caracteres de controlo MOD 97-10 e MOD 11,10.
  • Banco Nacional Checo, IBAN: o Decreto n.º 169/2011 Coll., sobre o número de conta checo e o respetivo controlo.
  • 35/2017. (XII. 14.) MNB rendelet, anexo 1: o número de conta húngaro e os seus dígitos de controlo.
  • As fontes nacionais indicadas na tabela: bancos centrais, associações de bancos e as normas que publicam.

Precisa de um IBAN de teste?

Gere um IBAN válido para qualquer um dos 91 países, copie-o no formato de que precisa e veja o que significa cada segmento.

Abrir o gerador