Dígito verificador SIREN francês Luhn
O corpo 732 829 32 recebe o dígito verificador 0, então o SIREN é 732 829 320, enquanto um 732 829 321 digitado errado falha. Calcule o dígito Luhn com oito dígitos ou valide os nove, com espaços ou pontos permitidos. 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
- SIREN
- 73282932
- Modo de cálculo
- Compute
- Entrada
- 73282932
- Dígito verificador
- 0
- Com dígito verificador
- 732829320
O número SIREN é o identificador de nove dígitos atribuído a cada entidade jurídica e empresário individual registrados na França. Aparece em faturas, extratos Kbis, diretórios de empresas e muitos formulários bancários ou de compras. O nono dígito é um dígito verificador Luhn mod-10 calculado a partir dos oito primeiros, de modo que um erro de digitação ou um par trocado costuma quebrar a soma de verificação antes de qualquer consulta ao registro. Esta capacidade calcula esse dígito verificador Luhn do SIREN francês a partir de uma carga de oito dígitos, ou valida um SIREN completo de nove dígitos que já inclui o dígito final, e reporta entrada inválida em vez de remover em silêncio letras ou pontuação.
O que é um SIREN francês e como funciona o dígito verificador Luhn
Um SIREN (Système d’identification du répertoire des entreprises) é um código de nove dígitos que identifica de forma única uma empresa ou empreendedor francês para fins administrativos, fiscais e comerciais. Os oito primeiros dígitos formam o corpo atribuído pelo diretório oficial; o nono é um dígito verificador calculado com o algoritmo de Luhn — a mesma família de duplicação mod-10 usada em muitos números de conta e cartões de pagamento.
Da direita para a esquerda, cada segundo dígito é duplicado; se o dobro for maior que nove, subtrai-se nove; os dígitos ponderados são somados; o dígito verificador é escolhido para que o total seja divisível por dez. Quando alguém digita 732 829 320 como 732 829 321, a soma ponderada deixa de terminar em zero e a validação falha. Isso captura erros de digitação comuns no cadastro de fornecedores, na faturação eletrônica e no OCR de documentos Kbis em papel.
Esta ferramenta aplica Luhn padrão sobre dígitos SIREN puros após remover espaços ou pontos opcionais. Não consulta o Sirene, não prova que uma empresa está ativa, não distingue estabelecimentos (isso é o SIRET, quatorze dígitos) nem atribui forma jurídica. Em comparação com uma utilidade Luhn genérica que aceita qualquer comprimento, esta capacidade impõe as formas de oito e nove dígitos exigidas pelo SIREN para que você não aceite por engano um SIRET de quatorze dígitos ou um fragmento curto de conta como ID de empresa.
Em comparação com verificadores de ID fiscal multi-país, a intenção aqui é especificamente o dígito verificador Luhn do SIREN francês: limites de comprimento, exibição agrupada e nome do algoritmo seguem os fluxos de identificadores empresariais franceses, não um seletor genérico de país.
Onde as verificações SIREN se encaixam em faturamento, KYC e qualidade de dados
Sistemas de faturação eletrônica e contabilidade armazenam um SIREN de cliente ou fornecedor em cada documento legal; um único dígito digitado errado no cadastro pode enviar dados fiscais à parte errada ou falhar em checagens de conformidade posteriores. Plataformas de compras e marketplaces que incorporam vendedores franceses podem recalcular o controle Luhn sem chamar um registro externo, filtrando cedo o ruído de OCR e capturas parciais.
Bancos e gateways de pagamento que aceitam identificadores de empresa franceses para metadados KYC podem aplicar a mesma regra de nove dígitos como filtro de primeira passagem antes de uma triagem mais profunda. Equipes de produto que já expõem ferramentas Luhn gerais ainda devem usar esta capacidade específica de SIREN em campos de ID de empresa francesa para que limites de comprimento, agrupamento opcional e rotulagem do algoritmo correspondam ao domínio e não aceitem strings SIRET de quatorze dígitos como SIREN.
Não trate um controle Luhn de SIREN aprovado como prova de que a empresa existe, está ativa no Sirene, está autorizada a faturar ou corresponde a um nome legal informado — apenas prova que a string de dígitos é coerente sob o algoritmo de controle Luhn do SIREN francês.
Casos de uso
Auditar colunas SIREN em arquivos de parceiros e faturas
Valide em lote cada SIREN em uma importação CSV e isole as linhas cujo dígito verificador não corresponda mais ao valor esperado recalculado.
Perguntas frequentes
O que é o dígito verificador Luhn do SIREN francês?
É o nono dígito de um SIREN, calculado com o algoritmo Luhn mod-10 a partir dos oito primeiros dígitos para que a soma ponderada total seja divisível por dez, capturando muitos erros de um dígito e de transposição.
O que acontece com letras, comprimento errado ou um SIRET?
Compute precisa de oito dígitos; validate precisa de nove. Um SIRET de quatorze dígitos não é aceito — use uma ferramenta específica de SIRET para estabelecimentos.
A ferramenta de verificação Luhn do SIREN francês é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
Como se calcula o dígito verificador do SIREN?
Da direita para a esquerda, dobre um dígito a cada dois, subtraia 9 de qualquer resultado maior que 9 e some tudo. O dígito verificador é escolhido para que o total seja divisível por dez. Para 732 829 32 ele é 0, o que dá 732 829 320.
Posso colar um SIREN com espaços ou pontos?
Sim. Grupos separados por espaços ou pontos, como costumam aparecer em faturas e extratos Kbis franceses, são aceitos, por exemplo 732 829 320 ou 732.829.320. Letras, hífens e outros sinais são recusados em vez de apagados sem aviso.
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/siren-france \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"siren":"73282932"}'const res = await fetch("https://api.kit.forhosting.com/enc/siren-france", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"siren": "73282932"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/siren-france",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"siren": "73282932"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/siren-france", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"siren":"73282932"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"siren":"73282932"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/siren-france", 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
{
"siren": "73282932"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.siren_france",
"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 chamada de rede e sem consulta ao registro INSEE ou Sirene.
Como calcular um dígito verificador ou validar um SIREN de nove dígitos
Envie um campo siren com dígitos de zero a nove, opcionalmente agrupados com espaços ou pontos como costuma ser impresso em documentos franceses (por exemplo 732 829 32 ou 732.829.320). O modo validate espera um número completo de nove dígitos incluindo o dígito verificador final. Strings vazias, siren ausente, valores de mode inválidos e comprimentos errados (não oito dígitos para compute, não nove para validate) falham antes de qualquer duplicação e não são cobrados. Prefira compute quando montar um SIREN a partir de um corpo conhecido de oito dígitos; 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 Sirene ou a dados mestre internos. Espaços no início e no fim são removidos; letras, hífens usados como separadores principais, outra pontuação e alfanuméricos mistos são rejeitados como entrada não numérica com invalid_input para que você nunca aceite um valor limpo em silêncio. O modo compute é o padrão: forneça exatamente oito dígitos sem o dígito verificador, e o motor retorna check_digit como string de um caractere, with_check como a string completa de nove dígitos com esse dígito, e formatted no formato espaçado XXX XXX XXX usado em faturas e formulários. A resposta indica valid true quando a soma ponderada total é divisível por dez, e sempre inclui check_digit, expected_check_digit recalculado só a partir da carga de oito dígitos, payload sem o último dígito, e formatted para exibição consistente. Como o caminho é parse puro sem relógio, fonte aleatória ou 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 as verificações SIREN se encaixam em faturamento, KYC e qualidade de dados
O modo validate na entrada bloqueia o salvamento quando valid é false e pode mostrar expected_check_digit para que o operador corrija o formulário antes de gravar o registro. Em cada fluxo o contrato é o mesmo: dígitos com espaços ou pontos opcionais, compute ou validate, JSON estruturado que você pode testar com goldens, comportamento idêntico grátis no navegador ou via saldo pré-pago KIT, e falha honesta quando a entrada está malformada.
Casos de integração
Filtrar campos SIREN em formulários de fornecedores e clientes
Quando um usuário envia um SIREN completo de nove dígitos, chame o modo validate e bloqueie o salvamento se valid for false, mostrando expected_check_digit para ajudar a corrigir um erro de digitação antes de gravar o registro ERP.
Calcular dígitos verificadores ao completar ou gerar IDs
A partir de um corpo de oito dígitos, chame o modo compute e armazene with_check ou formatted para que cada nova string SIREN leve o dígito Luhn final correto antes de imprimir ou exportar.
Perguntas técnicas
Como calculo um dígito verificador SIREN com esta API?
Faça POST com siren definido para os oito dígitos da carga (espaços ou pontos opcionais) e mode compute (ou omita mode). A resposta inclui check_digit, with_check e formatted como XXX XXX XXX.
Como valido um SIREN completo de nove dígitos?
Faça POST com a string completa de nove dígitos e mode validate. A resposta inclui valid, check_digit, expected_check_digit, payload e formatted.