Dígito BSN Países Baixos
Digite 12345678 e receba o dígito verificador 2, então o BSN completo é 123456782; ou cole um número de nove dígitos para ver se ele passa no teste do onze holandês. Útil em cadastros e folhas 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
- Número
- 12345678
- Modo de cálculo
- Compute
- Entrada
- 12345678
- Dígito verificador
- 2
- Bsn
- 123456782
O BSN neerlandês (Burgerservicenummer) é o número de serviço do cidadão usado em impostos, saúde, folha de pagamento, bancos e formulários oficiais nos Países Baixos. É um identificador de nove dígitos cujo último dígito é de verificação, derivado de uma soma ponderada fixa conhecida como teste do onze ou elfproef. Oito dígitos identificam o registro; o nono é escolhido de forma que nove vezes o primeiro mais oito vezes o segundo, até duas vezes o oitavo, menos o nono, seja divisível por onze. Esta capacidade calcula esse dígito final a partir de uma base pura de oito dígitos, ou valida um BSN completo de nove e informa se o dígito armazenado coincide com o valor recalculado.
Como funciona o teste do onze do BSN neerlandês
Um BSN moderno tem sempre nove dígitos decimais quando escrito sem espaços nem pontuação. Os oito primeiros formam o registro base; o nono é o dígito de verificação. Para obtê-lo, multiplique os oito dígitos base pelos pesos descendentes de nove a dois, some os produtos e tome a soma módulo onze.
O resto é o dígito de verificação quando está entre zero e nove. Se o resto for dez, não existe um único dígito de verificação para essa base e a cadeia de oito dígitos não pode ser completada em um BSN válido pela regra oficial. A validação multiplica os nove dígitos pelos pesos nove, oito, sete, seis, cinco, quatro, três, dois e menos um, e exige que a soma ponderada seja divisível por onze sem resto.
De forma equivalente, você recalcula o nono dígito esperado a partir dos oito primeiros e o compara com o enviado. *. BSNs históricos de oito dígitos costumam ser tratados como valores de nove com um zero à esquerda antes de aplicar os mesmos pesos; esta ferramenta espera que você forneça esse zero ao validar esses números para que as regras de comprimento permaneçam explícitas.
Onde os dígitos de verificação BSN cabem em fluxos de produto reais
Fluxos de onboarding de fintech, insurtech e marketplaces neerlandeses costumam pedir o BSN cedo; validar o teste do onze no blur reduz envios falhos e tickets de suporte sem chamar um registro governamental a cada tecla. Sistemas de folha e RH importam CSV de funcionários e devem colocar em quarentena linhas cujo nono dígito não coincide mais, o que captura tanto edições humanas quanto erros de um em geradores upstream.
Não trate um teste do onze aprovado como prova de que a pessoa existe nos sistemas populacionais neerlandeses, de que o número está ativo ou de que você pode processar o BSN sob o GDPR e a lei de privacidade neerlandesa: só prova que a string de nove dígitos está aritmeticamente bem formada sob a regra do BSN, o mesmo critério de honestidade que se aplica a qualquer ferramenta de checksum de identidade nacional. Minimize sempre a retenção, criptografe em repouso e processe o BSN apenas quando existir finalidade lícita.
Casos de uso
Auditar colunas BSN em exportações em massa
Valide em lote cada BSN de um CSV de folha ou extrato de ERP e coloque em quarentena as linhas cujo dígito de verificação não coincide mais com o valor recalculado do teste do onze.
Perguntas frequentes
O que é o dígito de verificação do BSN neerlandês?
É o nono dígito de um Burgerservicenummer, calculado a partir dos oito primeiros com os pesos oficiais do teste do onze, de modo que erros de um dígito e muitas falhas de transcrição tenham maior probabilidade de falhar do que parecer outro registro.
O que acontece com letras, hífens ou comprimentos errados?
Tarefas de validação com falha não são cobradas. Remova espaços ou pontuação no seu cliente antes de chamar.
A ferramenta de verificação BSN dos Países Baixos é grátis?
A ferramenta do navegador é gratuita e roda localmente.
Como confiro um BSN antigo de oito dígitos?
Acrescente você mesmo um zero à esquerda para que o número tenha nove dígitos e valide normalmente. A ferramenta não completa números curtos sozinha, então um erro de tamanho nunca passa despercebido.
Um BSN que passa no teste do onze pertence a uma pessoa real?
Não necessariamente. O teste só mostra que os dígitos são coerentes entre si. Ele não prova que a pessoa consta nos registros holandeses, que o número está ativo nem que você pode usá-lo.
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/bsn-netherlands \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"12345678"}'const res = await fetch("https://api.kit.forhosting.com/enc/bsn-netherlands", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "12345678"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/bsn-netherlands",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "12345678"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/bsn-netherlands", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"12345678"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"12345678"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/bsn-netherlands", 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
{
"number": "12345678"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.bsn_netherlands",
"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
Caracteres não numéricos, comprimentos incorretos, entrada vazia e bases com resto dez (sem dígito de verificação de um só algarismo) são rejeitados com um erro invalid_input claro. Execute grátis no navegador ou chame a API do KIT; ambos os caminhos compartilham a mesma aritmética pura, sem rede e sem registros populacionais armazenados.
Como funciona o teste do onze do BSN neerlandês
Como o algoritmo é aritmética modular inteira pura com pesos fixos, os mesmos oito dígitos produzem sempre o mesmo dígito de verificação em cada plataforma—navegador, Worker ou harness offline—por isso a capacidade é publicada como motor parse de nível A e não como chamada a um modelo.
Como calcular o dígito de verificação ou validar um BSN completo
Envie um campo number que contenha apenas os caracteres de zero a nove. O modo validate espera exatamente nove dígitos. Essa forma facilita mostrar «você digitou X, esperado Y» em uma UI de KYC ou RH sem uma segunda requisição. Strings vazias, number ausente, valores de mode inválidos e comprimentos incorretos (por exemplo sete ou dez dígitos) falham antes de qualquer soma ponderada e não são cobrados. Espaços, pontos, hífens, letras e pontos decimais são rejeitados como entrada não numérica com invalid_input, para que um formulário nunca aceite um valor limpo em silêncio: remova a formatação no seu cliente se o usuário colar números mascarados. O modo compute é o padrão: forneça exatamente oito dígitos base; o motor devolve check_digit como string de um caractere, bsn como o código completo de nove dígitos, sum_base como a soma ponderada intermediária dos oito, length nove e o rótulo do algoritmo. Se a base de oito dígitos der resto dez, compute falha com invalid_input em vez de inventar um dígito de dois algarismos ou nulo. A resposta indica valid true somente quando o dígito final coincide com expected_check_digit recalculado e a soma ponderada completa é divisível por onze; inclui sempre base (os oito primeiros), check_digit como enviado, expected_check_digit quando existe uma base legal, weighted_sum e o bsn canônico formado com base mais o dígito esperado. Como o caminho é parse puro sem relógio, fonte aleatória nem rede, a mesma entrada produz sempre o mesmo JSON na ferramenta gratuita do navegador e na API. A US$ 0,002 por solicitação bem-sucedida você pode proteger importações em massa de CRM, auditorias de arquivos de parceiros e portões de formulário sem negociar um nível sob medida.
Onde os dígitos de verificação BSN cabem em fluxos de produto reais
Portais de saúde e farmácias que guardam o BSN como chave de paciente podem bloquear o avanço até valid ser true e mostrar expected_check_digit quando o dígito estiver errado. Jobs de qualidade de dados recalculam expected_check_digit em cada coluna BSN de uma exportação e marcam divergências antes da faturação ou do reporting fiscal. Em todo fluxo o contrato é o mesmo: só dígitos, oito para compute ou nove para validate, JSON estruturado testável com goldens, comportamento idêntico grátis no navegador ou com saldo KIT pré-pago, e falha honesta quando a entrada não é uma string de dígitos bem formada ou quando a base não pode produzir um único dígito de verificação.
Casos de integração
Completar oito dígitos base para fixtures e formulários
Pegue uma base de oito dígitos de um plano de testes ou registro parcial, chame o modo compute e armazene ou exiba o bsn completo de nove dígitos com o dígito de verificação anexado.
Validar BSNs digitados ou importados na entrada
Quando um formulário de cadastro, importação de CRM ou API de parceiro enviar nove dígitos, chame o modo validate e bloqueie o armazenamento se valid for false, mostrando expected_check_digit para corrigir um erro de digitação.
Perguntas técnicas
Como calculo um dígito de verificação BSN com esta API?
Faça POST com number de exatamente oito dígitos e mode compute (ou omita mode). A resposta inclui check_digit e bsn (o código completo de nove dígitos). Bases com resto dez falham com invalid_input.
Como valido um BSN completo de nove dígitos?
Faça POST com a string de nove dígitos e mode validate. A resposta inclui valid, check_digit, expected_check_digit, base, weighted_sum e o bsn canônico.