Cifra controllo SIREN francese Luhn
Il corpo 732 829 32 riceve la cifra di controllo 0, quindi il SIREN è 732 829 320, mentre un 732 829 321 digitato male non passa. Calcoli la cifra Luhn da otto cifre o convalidi tutte e nove, con spazi o punti ammessi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- SIREN
- 73282932
- Modalità di calcolo
- Compute
- Input
- 73282932
- Cifra di controllo
- 0
- Con cifra di controllo
- 732829320
Il numero SIREN è l’identificativo a nove cifre assegnato a ogni persona giuridica e lavoratore autonomo registrati in Francia. Compare su fatture, estratti Kbis, elenchi aziendali e molti moduli bancari o di approvvigionamento. La nona cifra è una cifra di controllo Luhn mod-10 calcolata dalle prime otto, così un errore di digitazione o una coppia scambiata spesso spezza la somma di controllo prima di qualsiasi consultazione del registro.
Cos’è un SIREN francese e come funziona la cifra di controllo Luhn
Un SIREN (Système d’identification du répertoire des entreprises) è un codice a nove cifre che identifica in modo univoco un’azienda o un imprenditore francese a fini amministrativi, fiscali e commerciali. Le prime otto cifre formano il corpo assegnato dall’elenco ufficiale; la nona è una cifra di controllo calcolata con l’algoritmo di Luhn — la stessa famiglia di raddoppio mod-10 usata su molti numeri di conto e carte di pagamento.
Da destra a sinistra, ogni seconda cifra viene raddoppiata; se il doppio supera nove, si sottrae nove; le cifre ponderate vengono sommate; la cifra di controllo è scelta in modo che il totale sia divisibile per dieci. Quando qualcuno digita 732 829 320 come 732 829 321, la somma ponderata non termina più con zero e la convalida fallisce. Ciò intercetta errori di digitazione comuni nell’onboarding fornitori, nella fatturazione elettronica e nell’OCR di documenti Kbis cartacei.
Questo strumento applica Luhn standard su cifre SIREN pure dopo la rimozione opzionale di spazi o punti. Non interroga Sirene, non dimostra che un’azienda sia attiva, non distingue gli stabilimenti (quello è il SIRET, quattordici cifre) e non assegna una forma giuridica. Rispetto a un’utilità Luhn generica che accetta qualsiasi lunghezza, questa capacità impone le forme a otto e nove cifre richieste dal SIREN affinché non accetti per errore un SIRET a quattordici cifre o un frammento breve di conto come ID aziendale.
Rispetto ai verificatori di ID fiscali multi-paese, l’intento qui è specificamente la cifra di controllo Luhn del SIREN francese: limiti di lunghezza, visualizzazione raggruppata e nome dell’algoritmo corrispondono ai flussi di identificatori aziendali francesi, non a un selettore di paese generico.
Dove i controlli SIREN si inseriscono in fatturazione, KYC e qualità dei dati
I sistemi di fatturazione elettronica e contabilità memorizzano un SIREN di cliente o fornitore su ogni documento legale; una sola cifra digitata male in onboarding può inviare dati fiscali alla parte sbagliata o far fallire controlli di conformità successivi. Le piattaforme di procurement e marketplace che integrano venditori francesi possono ricalcolare il controllo Luhn senza chiamare un registro esterno, filtrando presto il rumore OCR e le catture parziali.
Banche e gateway di pagamento che accettano identificatori aziendali francesi per metadati KYC possono applicare la stessa regola a nove cifre come filtro di primo passaggio prima di uno screening più profondo. I team di prodotto che già espongono strumenti Luhn generali dovrebbero comunque usare questa capacità specifica SIREN per i campi ID azienda francese così limiti di lunghezza, raggruppamento opzionale e etichettatura dell’algoritmo corrispondono al dominio e non accettano stringhe SIRET a quattordici cifre come SIREN.
Non tratti un controllo Luhn SIREN superato come prova che l’azienda esista, sia attiva in Sirene, sia autorizzata a fatturare o corrisponda a un nome legale dato — dimostra solo che la stringa di cifre è coerente sotto l’algoritmo di controllo Luhn del SIREN francese.
Casi d'uso
Revisionare colonne SIREN in file partner e fatture
Convalidi in batch ogni SIREN in un import CSV e isoli le righe la cui cifra di controllo non corrisponde più al valore atteso ricalcolato.
Domande frequenti
Cos’è la cifra di controllo Luhn del SIREN francese?
È la nona cifra di un SIREN, calcolata con l’algoritmo Luhn mod-10 dalle prime otto cifre in modo che la somma ponderata totale sia divisibile per dieci, intercettando molti errori di una cifra e di trasposizione.
Cosa succede con lettere, lunghezza errata o un SIRET?
Compute richiede otto cifre; validate ne richiede nove. Un SIRET a quattordici cifre non è accettato — usi uno strumento specifico SIRET per gli stabilimenti.
Lo strumento di controllo Luhn del SIREN francese è gratuito?
Lo strumento del browser è gratuito e viene eseguito in locale.
Come si calcola la cifra di controllo del SIREN?
Partendo da destra, si raddoppia una cifra ogni due, si sottrae 9 a ogni risultato maggiore di 9 e si somma tutto. La cifra di controllo è scelta in modo che il totale sia divisibile per dieci. Per 732 829 32 è 0, e si ottiene 732 829 320.
Posso incollare un SIREN con spazi o punti?
Sì. Sono accettati i gruppi separati da spazi o punti, come compaiono spesso su fatture ed estratti Kbis francesi, per esempio 732 829 320 o 732.829.320. Lettere, trattini e altri segni vengono rifiutati invece di essere tolti in silenzio.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"siren": "73282932"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.siren_france",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questa capacità calcola quella cifra di controllo Luhn del SIREN francese da un payload di otto cifre, oppure convalida un SIREN completo a nove cifre che include già la cifra finale, e segnala l’input non valido invece di rimuovere in silenzio lettere o punteggiatura. La usi gratis nel browser o chiami l’API KIT al prezzo pubblicato; entrambi i percorsi eseguono la stessa aritmetica deterministica senza chiamata di rete e senza interrogazione al registro INSEE o Sirene.
Come calcolare una cifra di controllo o convalidare un SIREN a nove cifre
Invii un campo siren con cifre da zero a nove, opzionalmente raggruppate con spazi o punti come spesso stampato sui documenti francesi (ad esempio 732 829 32 o 732.829.320). La modalità validate si aspetta un numero completo a nove cifre inclusa la cifra di controllo finale. Stringhe vuote, siren mancante, valori di mode non validi e lunghezze errate (non otto cifre per compute, non nove per validate) falliscono prima di qualsiasi raddoppio e non vengono fatturati. Preferisca compute quando assembla un SIREN da un corpo noto di otto cifre; preferisca validate quando un utente, un file partner o un’etichetta scansionata fornisce un numero completo e serve un filtro booleano prima di una consultazione Sirene o di un anagrafico interno. Gli spazi iniziali e finali vengono rimossi; lettere, trattini usati come separatori principali, altra punteggiatura e alfanumerici misti sono rifiutati come input non numerico con invalid_input così non accetta mai un valore ripulito in silenzio. La modalità compute è predefinita: fornisca esattamente otto cifre senza la cifra di controllo e il motore restituisce check_digit come stringa di un carattere, with_check come la stringa completa a nove cifre con quella cifra, e formatted nel formato spaziatura XXX XXX XXX usato su fatture e moduli. La risposta indica valid true quando la somma ponderata totale è divisibile per dieci, e include sempre check_digit, expected_check_digit ricalcolato solo dal payload di otto cifre, payload senza l’ultima cifra, e formatted per una visualizzazione coerente. Poiché il percorso è parse puro senza orologio, fonte casuale o rete, lo stesso input produce sempre lo stesso JSON sullo strumento gratuito del browser e sull’API. A $0.002 per richiesta riuscita può filtrare import massivi di fornitori, moduli di onboarding e job ETL senza negoziare un livello personalizzato.
Dove i controlli SIREN si inseriscono in fatturazione, KYC e qualità dei dati
La modalità validate in ingresso blocca il salvataggio quando valid è false e può mostrare expected_check_digit così l’operatore corregge il modulo prima della scrittura del record.
Casi di integrazione
Filtrare i campi SIREN nei moduli fornitori e clienti
Quando un utente invia un SIREN completo a nove cifre, chiami la modalità validate e blocchi il salvataggio se valid è false, mostrando expected_check_digit per aiutare a correggere un errore di digitazione prima della scrittura del record ERP.
Calcolare cifre di controllo al completamento o alla generazione di ID
Da un corpo di otto cifre, chiami la modalità compute e memorizzi with_check o formatted così ogni nuova stringa SIREN porta la cifra Luhn finale corretta prima di stampa o export.
Domande tecniche
Come calcola una cifra di controllo SIREN con questa API?
Esegua un POST con siren impostato sulle otto cifre del payload (spazi o punti opzionali) e mode compute (o ometta mode). La risposta include check_digit, with_check e formatted come XXX XXX XXX.
Come convalida un SIREN completo a nove cifre?
Esegua un POST con la stringa completa a nove cifre e mode validate. La risposta include valid, check_digit, expected_check_digit, payload e formatted.