Dígito verificador NIP polonês
Os nove dígitos 526104082 recebem o dígito verificador 8, e o NIP fica 526-104-08-28. Digite nove dígitos para completar um número fiscal polonês ou os dez para pegar um dígito digitado errado ou trocado antes de salvar uma nota ou um fornecedor. 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
- Nip
- 526104082
- Modo de cálculo
- Compute
- Entrada
- 526104082
- Dígito verificador
- 8
- Com dígito verificador
- 5261040828
- Formatado
- 526-104-08-28
O número de identificação fiscal polonês (NIP, Numer Identyfikacji Podatkowej) é um código de dez dígitos usado em faturas, registros mercantis, folhas de pagamento e campos fiscais de comércio eletrônico na Polônia. O último dígito é um dígito de controle derivado de uma ponderação fixa dos primeiros nove dígitos segundo a regra modular padrão dos sistemas fiscais poloneses. Um único dígito digitado errado ou um par trocado costuma quebrar essa soma de verificação, de modo que validar o NIP antes de emitir uma fatura, cadastrar um fornecedor ou aceitar um arquivo de parceiro detecta muitos erros de digitação cedo. Esta capacidade calcula o dígito verificador NIP polonês a partir de uma carga de nove dígitos (com ou sem hífens comuns), ou valida um número completo de dez dígitos que já inclui o dígito final, e reporta entrada inválida em vez de inventar um dígito em silêncio.
O que é o dígito verificador NIP polonês e como funcionam os pesos
Um NIP identifica contribuintes e entidades legais em fluxos fiscais, comerciais e administrativos poloneses. Formulários impressos costumam agrupar dígitos com hífens como XXX-XXX-XX-XX, mas o valor subjacente são sempre dez dígitos decimais. Os primeiros nove formam o corpo; o décimo é completamente determinado por um algoritmo de verificação público e não é escolhido livremente pelo contribuinte.
A ponderação oficial multiplica esses nove dígitos, da esquerda para a direita, pela sequência fixa seis, cinco, sete, dois, três, quatro, cinco, seis e sete. Os produtos são somados e o resto dessa soma módulo onze é o dígito de controle candidato. Quando o resto está entre zero e nove, esse valor é o dígito de controle e completa uma cadeia NIP bem formada.
Quando o resto é dez, não existe um único dígito decimal de controle para esse corpo: a combinação de nove dígitos não é atribuível como NIP válido pela regra padrão. Esse caso especial explica por que algumas cadeias aleatórias de nove dígitos nunca aparecem como números fiscais reais mesmo antes de qualquer consulta a registro.
Em comparação com Luhn mod-dez usado em cartões de pagamento, o esquema NIP usa um vetor de pesos fixo da esquerda para a direita e módulo onze, de modo que você não deve reutilizar um validador Luhn em campos de identificação fiscal polonesa. Em comparação com tabelas de letra do DNI espanhol ou pesos do CUIT argentino, a regra NIP polonesa é específica deste layout de dez dígitos e destes nove multiplicadores.
Saber qual esquema você precisa evita falsa confiança quando uma utilidade genérica de dígito de controle aceita uma cadeia que não é um NIP bem formado. Esta ferramenta aplica a ponderação padrão sobre dígitos puros após remover hífens e espaços opcionais. Não consulta portais governamentais, não prova que uma empresa existe nem atribui um código de tipo — apenas que a cadeia de dígitos é consistente com o algoritmo de verificação publicado.
Onde os dígitos verificadores NIP se encaixam em fluxos fiscais, de faturamento e comerciais
Sistemas de faturação eletrônica e cobrança armazenam o NIP do cliente ou fornecedor em cada documento legal; um único dígito digitado errado no cadastro pode enviar XML fiscal à parte errada ou falhar na autorização depois. Checkouts de e-commerce que coletam o identificador fiscal de uma empresa polonesa em pedidos B2B podem recomputar o dígito de controle sem chamar um registro externo, filtrando ruído OCR e capturas parciais cedo.
Equipes de produto que já expõem ferramentas gerais Luhn ou ISO 7064 ainda devem usar esta capacidade específica de NIP em campos de identificação fiscal polonesa para que pesos, limites de comprimento e formatação de hífens coincidam com o domínio. Landings educativas e de SEO que ranqueiam frases como dígito verificador NIP polonês ou validador NIP Polônia precisam de uma ferramenta gratuita ao vivo cujo caminho no navegador coincida com a automação para que capturas de tutoriais permaneçam precisas.
Não trate um dígito verificador NIP correto como prova de que a pessoa ou empresa está corretamente identificada, ativa na repartição fiscal, autorizada a faturar ou presente em qualquer registro oficial — só prova que a cadeia de dígitos é consistente com o algoritmo de verificação NIP polonês.
Casos de uso
Auditar colunas NIP em arquivos de parceiros e faturas
Valide em lote cada NIP de uma importação CSV e coloque em quarentena as linhas cujo dígito de controle não coincida mais com o valor esperado recomputado.
Perguntas frequentes
Como se calcula o dígito verificador do NIP polonês?
Multiplique os primeiros nove dígitos pelos pesos 6, 5, 7, 2, 3, 4, 5, 6 e 7, some os produtos e tome a soma módulo 11. Se o resto for 0–9 esse é o dígito de controle; se for 10 o corpo não é uma base NIP válida.
Qual a diferença entre os modos compute e validate?
Compute recebe nove dígitos e devolve o dígito de controle e o NIP completo de dez dígitos. Validate recebe dez dígitos incluindo o final e indica se coincide com o dígito de controle recomputado.
Hífens e espaços são permitidos?
Sim. Separadores comuns são removidos antes da análise.
O que acontece se o dígito de controle estiver errado?
No modo validate a resposta ainda inclui o dígito esperado quando existe, e valid é false.
Por que alguns números de nove dígitos não têm dígito verificador válido?
Porque, quando a soma ponderada dividida por onze deixa resto dez, nenhum dígito consegue completá-la. Esse corpo nunca será um NIP válido, e a ferramenta avisa em vez de inventar um número.
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/nip-poland \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nip":"526104082"}'const res = await fetch("https://api.kit.forhosting.com/enc/nip-poland", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nip": "526104082"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/nip-poland",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nip": "526104082"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/nip-poland", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nip":"526104082"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nip":"526104082"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/nip-poland", 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
{
"nip": "526104082"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.nip_poland",
"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
Use grátis no navegador ou chame a API do KIT pelo preço publicado; ambos os caminhos executam a mesma aritmética determinística sem consulta de rede e sem registro de contribuintes reais.
Como calcular um dígito verificador ou validar um NIP completo
Envie um campo nip com dígitos de zero a nove, opcionalmente separados por hífens ou espaços. O modo validate espera um número completo de dez dígitos com o dígito de controle final (por exemplo 5261040828 ou 526-104-08-28). Strings vazias, nip ausente, valores de mode inválidos e comprimentos errados falham antes de qualquer soma ponderada e não são faturados. Prefira compute quando montar um NIP a partir de um corpo de nove dígitos conhecido; prefira validate quando um usuário, arquivo de parceiro ou etiqueta digitalizada fornecer um número completo e você precisar de um filtro booleano antes de uma consulta a registro ou dados mestre. Letras, outra pontuação, hífens duplos ou hífens no início ou no fim são rejeitados como entrada malformada com invalid_input para que você nunca aceite um valor limpo em silêncio. O modo compute é o padrão: forneça exatamente nove dígitos sem o dígito de controle (por exemplo 526104082 ou um corpo de nove dígitos com hífens) e o motor devolve check_digit como string de um caractere, with_check como a string completa de dez dígitos incluindo esse dígito, e formatted na forma habitual XXX-XXX-XX-XX. Se a soma ponderada módulo onze for dez, o modo compute falha com invalid_input porque não existe dígito final válido para esse corpo. A resposta indica valid true quando o dígito recomputado coincide com o último, e sempre inclui check_digit, payload sem o último dígito, weighted_sum_mod11 e formatted para exibição consistente; quando existe um dígito esperado válido, ele também é devolvido como expected_check_digit. Como o caminho é parse puro, sem relógio, fonte aleatória nem rede, a mesma entrada sempre produz o mesmo JSON na ferramenta gratuita do navegador e na API. A US$ 0,002 por solicitação bem-sucedida você pode filtrar importações em massa de fornecedores, formulários de onboarding e jobs ETL sem negociar um nível personalizado.
Onde os dígitos verificadores NIP se encaixam em fluxos fiscais, de faturamento e comerciais
O modo validate na entrada bloqueia o salvamento quando valid é false e pode mostrar expected_check_digit para o operador corrigir o formulário antes de gravar o registro. Importações de folha de pagamento, contabilidade e CRM recebem NIPs de parceiros de planilhas onde um dígito final errado rejeitaria um lote inteiro; um oráculo determinístico que devolve valid e with_check permite marcar linhas antes da produção. Em todo fluxo o contrato é o mesmo: dígitos com hífens opcionais, compute ou validate, JSON estruturado que você pode testar com goldens, comportamento idêntico grátis no navegador ou com saldo KIT pré-pago, e falha honesta quando a entrada está malformada ou o corpo tem resto dez.
Casos de integração
Filtrar campos NIP em formulários de fornecedores e clientes
Quando um usuário envia um NIP polonês completo, chame o modo validate e bloqueie o salvamento se valid for false, mostrando expected_check_digit para corrigir um único erro de digitação antes de gravar o registro ERP.
Calcular o dígito final ao completar identificadores
A partir de um corpo de nove dígitos, chame o modo compute e armazene with_check ou formatted para que cada nova string NIP leve o dígito final correto antes de imprimir, exportar ou gerar faturas.
Perguntas técnicas
Quanto custa a calculadora de dígito verificador NIP polonês?
A ferramenta do navegador é gratuita. Solicitações à API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é faturada.