Dígitos verificadores NIB português
Para o corpo 0002 0123 12345678901, os dígitos verificadores são 54 e o NIB completo fica 0002.0123.12345678901.54. Digite os dezenove dígitos para obter o par de controle ou cole um NIB inteiro para conferir antes de uma transferência ou de uma folha de pagamento. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Nib
- 0002012312345678901
- Modo de cálculo
- Compute
- Entrada
- 0002012312345678901
- Banco
- 0002
- Branch
- 0123
- Conta
- 12345678901
O NIB português (Número de Identificação Bancária) é o identificador nacional de conta bancária com vinte e um dígitos usado em transferências, arquivos de salários, débitos diretos e muitos formulários de pagamento em Portugal.
O que é um NIB português e como se aplica o ISO 7064 MOD 97-10
Um NIB português identifica uma conta bancária doméstica nos sistemas de pagamento nacionais e em muitos sistemas empresariais que ainda guardam a forma de vinte e um dígitos junto ao IBAN ou em seu lugar. Extratos e formulários impressos costumam agrupar os dígitos em quatro, quatro, onze e dois com pontos ou espaços, mas o valor subjacente são sempre vinte e um dígitos decimais.
A regra oficial é ISO 7064 MOD 97-10: trate o corpo de dezenove dígitos como um inteiro, acrescentar dois zeros, tomar esse valor módulo noventa e sete e subtrair o resto de noventa e oito para obter um controle de dois dígitos no intervalo de zero-um a noventa e sete, com zeros à esquerda quando necessário. De forma equivalente, um NIB bem formado satisfaz a propriedade de que o número completo de vinte e um dígitos módulo noventa e sete é igual a um.
Essa identidade modular é da mesma família de verificação usada na construção do IBAN, razão pela qual os IBAN portugueses incorporam o NIB após o código de país e os dígitos de controle do IBAN. Em comparação com Luhn módulo dez em cartões ou esquemas de um único dígito como o NIP polaco, o NIB usa um resíduo de dois dígitos MOD 97-10 sobre todo o corpo, pelo que não deve reutilizar um validador Luhn em campos de conta portugueses.
Em comparação com uma ferramenta genérica ISO 7064 de sistema puro que só cobre MOD 11-2 ou MOD 37-2, esta capacidade fixa o layout do NIB português e o sistema híbrido MOD 97-10 usado em contas bancárias. Saber qual esquema precisa evita falsa confiança quando um utilitário genérico de dígitos de controle aceita uma cadeia que não é um NIB bem formado. Esta ferramenta implementa a aritmética modular sobre dígitos puros após remover opcionalmente espaços, pontos e hífens.
Não consulta diretórios bancários, não prova que uma conta está aberta nem converte sozinha para IBAN — apenas que a cadeia de dígitos é coerente com o algoritmo de controle do NIB publicado.
Onde os dígitos de controle do NIB português se encaixam em pagamentos, salários e onboarding
Transferências domésticas portuguesas, esquemas SEPA que ainda recolhem um NIB e muitos registros mestres de salários e fornecedores guardam o identificador de vinte e um dígitos; um único dígito de controle digitado errado no onboarding pode enviar dinheiro para a conta errada ou falhar a validação bancária mais tarde. Aplicações fintech que constroem IBAN portugueses a partir de um NIB podem chamar o modo compute no corpo e afirmar que os dígitos de controle embutidos coincidem com o NIB que colocarão após o controle do IBAN.
Equipas de produto que já expõem ferramentas Luhn ou ISO 7064 de sistema puro devem usar ainda esta capacidade específica de NIB em campos de conta portugueses para que limites de comprimento, MOD 97-10 e formatação de exibição coincidam com o domínio. Landing pages educativas e de SEO que ranqueiam frases como dígitos verificadores nib portugal ou calculadora nib portugal precisam de uma ferramenta gratuita em direto cuja rota no navegador coincida com a automação para que capturas de tutoriais se mantenham precisas.
Não trate um NIB que passa o controle como prova de que a conta está aberta, pertence ao cliente indicado ou está autorizada para uma transferência — apenas prova que a cadeia de dígitos é coerente com ISO 7064 MOD 97-10 para o layout do NIB português.
Casos de uso
Auditar colunas NIB em salários e arquivos de parceiros
Valide em lote cada NIB de uma importação CSV e coloque em quarentena as linhas cujos dígitos de controle já não coincidam com o par esperado recalculado sob ISO 7064 MOD 97-10.
Perguntas frequentes
Como se calculam os dígitos de controle do NIB português?
Um NIB completo de 21 dígitos é válido quando o número módulo 97 é igual a 1.
Qual é a diferença entre os modos compute e validate?
Validate recebe 21 dígitos incluindo o par de controle e devolve se coincidem com os dígitos recalculados.
Espaços, pontos e hífens são permitidos?
Sim. Separadores comuns são removidos antes da análise.
Um NIB válido comprova que a conta existe?
Não. Um resultado válido indica apenas que os dígitos batem com o cálculo oficial. A ferramenta não consulta cadastros de bancos, não confirma que a conta está aberta e não informa quem é o titular.
Qual é a relação entre o NIB e o IBAN português?
O IBAN português traz o NIB completo logo depois do código do país e dos dois dígitos de controle do IBAN. Os dois usam a mesma família de verificação módulo 97, mas esta ferramenta trabalha só com o NIB e não monta o IBAN.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/nib-portugal \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nib":"0002012312345678901","number":"valor-ejemplo"}'const res = await fetch("https://api.kit.forhosting.com/enc/nib-portugal", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nib": "0002012312345678901",
"number": "valor-ejemplo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/nib-portugal",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nib": "0002012312345678901",
"number": "valor-ejemplo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/nib-portugal", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nib":"0002012312345678901","number":"valor-ejemplo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nib":"0002012312345678901","number":"valor-ejemplo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/nib-portugal", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"nib": "0002012312345678901",
"number": "valor-ejemplo"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.nib_portugal",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
É formado por um código de banco de quatro dígitos, um código de balcão de quatro, um número de conta de onze e dois dígitos de controle finais. Esses dois dígitos não são texto livre: ficam completamente determinados pelo algoritmo ISO 7064 MOD 97-10 aplicado ao corpo de dezenove dígitos, pelo que um único erro de digitação quase sempre falha a verificação modular. Esta capacidade calcula os dois dígitos de controle corretos a partir do banco, do balcão e da conta (ou de um corpo combinado de dezenove dígitos), ou valida um NIB completo de vinte e um dígitos que já os inclui, e reporta entrada inválida em vez de inventar um resultado. Use grátis no navegador ou chame a API do KIT ao preço publicado; ambos os caminhos executam a mesma aritmética determinística sem consulta de rede e sem diretório bancário.
O que é um NIB português e como se aplica o ISO 7064 MOD 97-10
Os primeiros quatro dígitos são o código de banco do sistema bancário português; os quatro seguintes identificam o balcão; os onze seguintes são o número de conta conforme o banco; e os dois finais são dígitos de controle calculados a partir dos dezenove precedentes.
Como calcular os dois dígitos de controle ou validar um NIB completo
São exigidos dígitos de zero a nove; espaços, pontos, underscores ou hífens opcionais são removidos antes da análise. O modo validate espera um NIB completo de vinte e um dígitos incluindo o par de controle final (por exemplo 000201231234567890154 ou 0002.0123.12345678901.54). Strings vazias, campos em falta, valores de mode inválidos e comprimentos errados falham antes da aritmética modular e não são faturados. Envie um campo nib combinado ou os campos estruturados bank, branch e account. Letras e outra pontuação são rejeitadas como entrada malformada com invalid_input, para que nunca aceite um valor limpo em silêncio. O modo compute é o padrão: forneça exatamente dezenove dígitos do corpo sem os de controle (por exemplo 0002012312345678901 ou bank 0002, branch 0123, account 12345678901) e o motor devolve check_digits como string de dois caracteres, with_check como o NIB completo de vinte e um dígitos e formatted na forma habitual XXXX.XXXX.XXXXXXXXXXX.XX, juntamente com bank, branch, account, algorithm iso7064_mod97_10 e mod97_remainder de um no número completo. A resposta indica valid true quando os dígitos de controle recalculados coincidem com os dois últimos e o número completo é congruente com um módulo noventa e sete; inclui sempre expected_check_digits, payload sem o par de controle e formatted para exibição consistente. Como o caminho é pure parse sem relógio, fonte aleatória ou rede, a mesma entrada produz sempre o mesmo JSON na ferramenta gratuita do navegador e na API. A US$ 0,002 por pedido bem-sucedido pode filtrar importações em massa de pagamentos, folhas de pagamento e onboarding sem negociar um escalão personalizado. Prefira compute quando montar um NIB a partir de banco, balcão e conta conhecidos; prefira validate quando um usuário, arquivo de parceiro ou extrato digitalizado fornecer um número completo e precisar de um filtro booleano antes de uma transferência ou gravação de dados mestres.
Onde os dígitos de controle do NIB português se encaixam em pagamentos, salários e onboarding
O modo validate na entrada bloqueia a gravação quando valid é false e pode mostrar expected_check_digits para o operador corrigir o formulário antes de escrever o registro. Importações de folha de pagamento e ERP recebem NIB de parceiros a partir de folhas de cálculo em que um par final errado rejeitaria um lote inteiro; um oráculo determinístico que devolve valid e with_check permite assinalar linhas antes da produção.
Casos de integração
Filtrar campos NIB em formulários de pagamento e fornecedores
Quando um usuário enviar um NIB português completo, chame o modo validate e bloqueie a gravação se valid for false, mostrando expected_check_digits para corrigir um erro de digitação antes de escrever o mestre de pagamentos.
Calcular os dois dígitos de controle ao montar contas
A partir de banco, balcão e conta (ou um corpo de 19 dígitos), chame o modo compute e armazene with_check ou formatted para que cada NIB novo leve o par final correto antes de impressão, exportação ou geração de transferências.
Perguntas técnicas
O que acontece se os dígitos de controle estiverem errados?
No modo validate a resposta continua a incluir expected_check_digits e valid é false. Entrada completamente malformada ou comprimentos errados falham com invalid_input.
Quanto custa a calculadora de dígitos de controle do NIB português?
A ferramenta do navegador é gratuita. Pedidos à API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é faturada.