Sirétiser un fichier, c'est rattacher chacune de ses fiches (client, fournisseur, prospect) à son identifiant officiel dans la base SIRENE de l'INSEE : le SIRET. Tant que ce lien n'existe pas, votre référentiel tiers repose sur des noms et des adresses, c'est-à-dire sur du texte instable. Dès qu'il existe, chaque fiche est ancrée à un identifiant vérifiable, que l'INSEE tient à jour.

Ce guide reprend la mécanique complète : la structure des identifiants (SIREN, NIC, SIRET), le calcul de la clé de contrôle chiffre par chiffre sur un exemple réel, les événements qui font changer un SIRET, les pièges qui font échouer les projets de sirétisation, et la méthode pour rattacher un fichier existant.


Sirétisation : définition

La sirétisation est le processus qui associe chaque enregistrement d'un fichier de tiers à son SIRET dans le répertoire SIRENE. Concrètement : partir d'une fiche « Boulangerie Martin, 12 rue de la République, Lyon » et aboutir à un SIRET de 14 chiffres, vérifié, avec son état administratif (actif ou fermé) et sa date de contrôle.

Le terme vient du monde des grands comptes et des administrations, où la fiabilisation des référentiels fournisseurs est une discipline établie de longue date. Il redevient d'actualité pour tout le monde : depuis la réforme de la facturation électronique, le SIREN sert d'adresse de routage des factures entre entreprises. Une fiche client sans SIREN fiable, c'est désormais une facture qui ne part pas.

Le répertoire de référence est SIRENE, tenu par l'INSEE depuis 1973 et publié en open data. L'ordre de grandeur : au chargement du stock complet, on compte environ 29,7 millions d'unités légales et 43,5 millions d'établissements, actifs et fermés confondus. Et la base bouge en permanence, avec plus d'un million de créations d'entreprises enregistrées par an, sans compter les déménagements, fermetures et restructurations quotidiens.

SIREN, NIC, SIRET : l'anatomie des identifiants

Le SIRET n'est pas un identifiant monolithique : c'est l'assemblage de deux numéros qui ne désignent pas la même chose.

S I R E T  =  S I R E N  +  N I C
              1 2 0 0 2 7 0 1 6    0 0 5 6 3
              └── entreprise ──┘   └ établissement ┘
                  9 chiffres           5 chiffres

Le SIREN (Système d'Identification du Répertoire des ENtreprises) fait 9 chiffres. Il est attribué par l'INSEE à l'immatriculation et identifie l'unité légale : la personne morale (société, association) ou physique (entrepreneur individuel). Les 8 premiers chiffres sont séquentiels et ne portent aucune signification ; le 9e est une clé de contrôle. Un SIREN n'est jamais réattribué, et un entrepreneur individuel garde le même SIREN toute sa vie, quelles que soient ses activités successives.

Le NIC (Numéro Interne de Classement) fait 5 chiffres. Il identifie un établissement au sein de l'unité légale : les 4 premiers chiffres sont un numéro d'ordre, le 5e est une clé de contrôle calculée sur l'ensemble du SIRET. Un NIC n'est jamais réutilisé au sein d'une même entreprise.

Le SIRET est simplement la concaténation SIREN + NIC. Il identifie un établissement précis : un lieu géographique où s'exerce l'activité.

SIREN NIC SIRET
Longueur 9 chiffres 5 chiffres 14 chiffres
Identifie L'entreprise (unité légale) L'établissement au sein de l'entreprise L'établissement, de façon absolue
Attribué par INSEE INSEE INSEE (par construction)
Porte une adresse Non Oui Oui
Stabilité Toute la vie de l'entreprise Change si l'établissement déménage Change avec le NIC

Unité légale et établissement : la distinction qui structure SIRENE

Toute la base SIRENE repose sur une distinction à deux niveaux, et la plupart des erreurs de sirétisation viennent de sa méconnaissance.

L'unité légale est l'entité juridique : celle qui signe les contrats, emploie les salariés, paie la TVA. Elle porte la raison sociale, la forme juridique, la catégorie d'entreprise. Point contre-intuitif mais essentiel : une unité légale n'a pas d'adresse. « L'adresse de l'entreprise » qu'on utilise au quotidien est en réalité l'adresse d'un de ses établissements : le siège.

L'établissement est l'unité géographique : un endroit où l'entreprise exerce. Une agence bancaire, un entrepôt, une boutique, un siège social. C'est lui qui porte l'adresse, l'enseigne, l'effectif localisé. Le siège est un établissement comme les autres, simplement marqué d'un drapeau est_siege.

Prenons un cas réel, tiré de la base SIRENE : l'INSEE lui-même.

  • Unité légale : INSTITUT NATIONAL DE LA STATISTIQUE ET DES ETUDES ECONOMIQUES, SIREN 120027016, 57 établissements dont 32 ouverts.
  • Son siège : SIRET 12002701600563 (NIC 00563), 88 avenue Verdier, 92120 Montrouge.

Le NIC du siège est 00563, pas 00001 : l'INSEE (l'institution) a déménagé plusieurs fois, et chaque déménagement a consommé un nouveau NIC. C'est exactement le mécanisme détaillé plus bas.

Conséquence pratique pour vos données : demandez-vous toujours à quelle maille travaille chaque table. Une base de facturation raisonne à l'unité légale (le SIREN suffit souvent). Une base de tournées de livraison ou de zones de chalandise raisonne à l'établissement (il faut le SIRET, car il porte l'adresse). Mélanger les deux mailles dans une même table sans le dire, c'est préparer des doublons et des agrégats faux.

La clé de contrôle : l'algorithme de Luhn pas à pas

SIREN et SIRET embarquent leur propre mécanisme de détection d'erreur de saisie : l'algorithme de Luhn, le même que celui des numéros de carte bancaire. La règle tient en trois phrases :

  1. Parcourez les chiffres de droite à gauche et doublez un chiffre sur deux, en commençant par le deuxième.
  2. Si un doublement dépasse 9, retranchez 9 au résultat.
  3. Additionnez tout : le nombre est valide si la somme est un multiple de 10.

Déroulons-le sur le SIRET du siège de l'INSEE, 12002701600563 :

Chiffre 1 2 0 0 2 7 0 1 6 0 0 5 6 3
Opération ×2 ×1 ×2 ×1 ×2 ×1 ×2 ×1 ×2 ×1 ×2 ×1 ×2 ×1
Résultat 2 2 0 0 4 7 0 1 12→3 0 0 5 12→3 3

Somme : 2+2+0+0+4+7+0+1+3+0+0+5+3+3 = 30. Multiple de 10 : le SIRET est bien formé. Le même calcul appliqué au seul SIREN 120027016 donne 20, multiple de 10 également. Les deux clés (9e chiffre du SIREN, 5e chiffre du NIC) sont choisies par l'INSEE précisément pour que ces sommes tombent juste.

En Python, la validation tient en quelques lignes :

def luhn_valide(numero: str) -> bool:
    """Valide un SIREN (9 chiffres) ou un SIRET (14 chiffres)."""
    if not numero.isdigit() or len(numero) not in (9, 14):
        return False
    total = 0
    for i, chiffre in enumerate(reversed(numero)):
        n = int(chiffre)
        if i % 2 == 1:          # un chiffre sur deux, depuis la droite
            n *= 2
            if n > 9:
                n -= 9
        total += n
    return total % 10 == 0

luhn_valide("12002701600563")   # True  — siège de l'INSEE
luhn_valide("12002701600564")   # False — un chiffre altéré, la clé le détecte

Gardez en tête ce que cette clé garantit, et surtout ce qu'elle ne garantit pas. Elle détecte une faute de frappe. Elle ne dit rien de l'existence de l'établissement, ni de son état : un SIRET à la clé parfaite peut désigner un établissement fermé depuis dix ans. La validation de forme est la première marche de la sirétisation, jamais la dernière.

L'exception La Poste

Un cas particulier à connaître absolument si vous écrivez un validateur : La Poste, SIREN 356000000. Ses établissements se comptent en milliers, et pour des raisons historiques leurs NIC n'ont pas tous été attribués avec une clé de Luhn. L'INSEE documente une règle dérogatoire : pour ce SIREN uniquement, un SIRET est valide si la somme simple de ses 14 chiffres est divisible par 5.

Exemple réel, vérifiable dans SIRENE : le bureau de poste de Bénévent-l'Abbaye (Creuse), SIRET 35600000000051, établissement actif. Luhn échoue (la somme pondérée ne tombe pas sur un multiple de 10), mais 3+5+6+0+…+5+1 = 20, divisible par 5 : le SIRET est légitime. Un validateur naïf le rejetterait, et avec lui des milliers d'établissements bien réels.

def siret_valide(siret: str) -> bool:
    if not siret.isdigit() or len(siret) != 14:
        return False
    if siret.startswith("356000000"):        # La Poste
        return sum(int(c) for c in siret) % 5 == 0 or luhn_valide(siret)
    return luhn_valide(siret)

Bonus : le numéro de TVA intracommunautaire se déduit du SIREN

Le numéro de TVA français n'est pas un identifiant indépendant : il s'écrit FR + une clé à 2 chiffres + le SIREN, et la clé se calcule directement :

clé = (12 + 3 × (SIREN mod 97)) mod 97

Sur l'exemple de l'INSEE : 120 027 016 mod 97 = 89, donc clé = (12 + 3 × 89) mod 97 = 279 mod 97 = 85. Le numéro de TVA est FR85120027016 : c'est bien celui que renvoie la base SIRENE.

def tva_intracom(siren: str) -> str:
    cle = (12 + 3 * (int(siren) % 97)) % 97
    return f"FR{cle:02d}{siren}"

tva_intracom("120027016")   # 'FR85120027016'

L'intérêt en qualité de données est double : vous pouvez générer le numéro de TVA d'un tiers français dont vous connaissez le SIREN, et surtout contrôler la cohérence entre les champs SIREN et TVA d'une même fiche. Une clé qui ne correspond pas signale une fiche composite : deux entreprises mélangées dans un même enregistrement, symptôme classique d'une fusion de doublons ratée.

Prêt à intégrer l'API TrustyData ?

Tester les services →Découvrir les plans →

Quand un SIRET change (et quand il ne change pas)

C'est la question qui décide de la durée de vie de votre sirétisation : un rattachement exact aujourd'hui peut être obsolète dans six mois. Les règles de l'INSEE sont précises.

Événement SIREN SIRET
Changement de nom, d'enseigne Inchangé Inchangé
Changement d'activité (code NAF) Inchangé Inchangé
Changement de forme juridique (SARL → SAS) Inchangé Inchangé
Déménagement d'un établissement Inchangé Nouveau SIRET (ancien fermé, nouveau NIC)
Transfert de siège Inchangé Nouveau SIRET pour le siège
Fermeture d'un établissement Inchangé SIRET passé à l'état « fermé »
Fusion, absorption SIREN de l'absorbée fermé Tous ses SIRET fermés ; les sites repris reçoivent de nouveaux SIRET sous le SIREN de l'absorbante
Cessation d'activité, liquidation Fermé, jamais réattribué Tous fermés, jamais réattribués

Deux principes résument le tableau. Le SIREN suit la personne juridique : il ne bouge que si la personne elle-même disparaît ou change (fusion, cessation). Le SIRET suit le lieu : tout déménagement en crée un nouveau, y compris pour le siège social. C'est pour cela que le siège de l'INSEE en est à son NIC 00563.

Et un point que beaucoup de contrôles qualité ratent : un SIRET fermé reste présent dans SIRENE, avec son historique. Le trouver dans la base ne prouve donc pas qu'il soit utilisable ; il faut lire son état administratif. Un fichier fournisseurs sirétisé une fois pour toutes en 2020 contient mécaniquement, aujourd'hui, une proportion d'identifiants pointant vers des établissements fermés.

Pourquoi sirétiser : la déduplication et la facturation

La clé de déduplication que le nom et l'adresse ne seront jamais

Dédoublonner un fichier B2B sur le nom et l'adresse, c'est comparer du texte libre : « SNCF », « S.N.C.F. », « Société Nationale des Chemins de fer Français » d'un côté ; des adresses saisies avec ou sans complément, abréviations et coquilles de l'autre. On peut faire beaucoup avec une bonne normalisation d'adresse, mais le rapprochement reste probabiliste : il produit des scores, des seuils, des cas limites à arbitrer.

Le SIRET transforme ce problème flou en égalité stricte. Deux fiches portant le même SIRET désignent le même établissement, point final. Deux fiches portant le même SIREN désignent la même entreprise, ce qui permet de regrouper les établissements d'un même groupe sous un compte unique. La difficulté n'est pas dans la comparaison, elle est déplacée en amont : retrouver le bon SIRET à partir de données imparfaites. C'est tout l'objet de la sirétisation, et c'est un investissement qu'on ne fait qu'une fois, là où le rapprochement flou se refait à chaque traitement.

La facturation électronique rend le sujet obligatoire

Depuis le 1er septembre 2026, le SIREN du client est une mention obligatoire de la facture électronique et sert de clé de routage vers sa plateforme agréée. Un SIREN absent, erroné ou rattaché à une entité fermée, et la facture est rejetée automatiquement, sans rattrapage humain. J'ai détaillé la mécanique complète dans SIREN et facturation électronique 2026 ; retenez ici que la sirétisation du fichier clients est passée du statut de bonne pratique à celui de prérequis de trésorerie : une facture qui ne part pas, c'est du chiffre d'affaires qui n'est pas encaissé.

Les pièges qui font échouer une sirétisation

Vingt-cinq ans de fichiers tiers m'ont appris que les projets de sirétisation échouent rarement sur l'algorithme de rapprochement. Ils échouent sur les cas particuliers qu'on n'avait pas anticipés.

Les unités non diffusibles (~10 % de la base). Environ une unité sur dix dans SIRENE est marquée « non diffusible » : l'entreprise existe, son SIREN est valide, mais l'INSEE masque légalement son nom et son adresse, le plus souvent à la demande d'entrepreneurs individuels exerçant à domicile. Un moteur de rapprochement par nom ne les trouvera jamais. Si votre traitement conclut « introuvable » sans distinguer ce cas, vous fabriquez de faux négatifs en masse.

Les zéros de tête, ou le piège Excel. Un SIREN est une chaîne de 9 caractères, pas un nombre. Les immatriculations les plus anciennes commencent par 0 ; ouvrez le fichier dans un tableur qui type la colonne en numérique, et ces SIREN perdent leur premier chiffre : huit chiffres, clé fausse, fiche invalide. Même mécanique en pire pour les SIRET : 14 chiffres dépassent la précision d'affichage, et le tableur les bascule en notation scientifique (3,56E+13). Règle absolue : SIREN et SIRET se stockent et s'échangent en texte.

Les tiers sans SIRET. Une entreprise étrangère sans établissement en France n'a pas de SIRET : elle s'identifie par son numéro de TVA intracommunautaire ou un identifiant national étranger. Certaines petites associations n'ont qu'un numéro RNA et ne s'immatriculent à SIRENE que si elles emploient ou demandent des subventions. Votre modèle de données doit prévoir ces cas comme légitimes, faute de quoi les équipes saisiront des SIRET bidon pour passer les contrôles, et pollueront le référentiel qu'on cherchait à fiabiliser.

Les identifiants morts. Le SIRET bien formé mais fermé, on l'a vu, est le piège le plus silencieux : aucun contrôle de forme ne le détecte. Seule une vérification contre la base vivante (état administratif de l'établissement et de l'unité légale) le révèle.

Sirétiser un fichier en pratique : la méthode

La sirétisation d'un fichier existant suit un pipeline en cinq étapes, à dérouler dans un script ou un pipeline ETL puisque l'API traite une fiche par requête.

1. Trier ce qui est déjà identifié. Séparez les fiches portant déjà un SIRET de celles qui n'en ont pas. Pour les premières, le travail est une vérification : clé de contrôle, existence dans SIRENE, état administratif. Une partie sortira fermée ou invalide et rejoindra le second lot.

2. Normaliser les données de rapprochement. Côté nom : isoler la raison sociale des mentions parasites (forme juridique en suffixe, enseigne commerciale, nom du contact). Côté adresse : une adresse normalisée et géocodée démultiplie la précision du rapprochement, car SIRENE est structurée par adresse d'établissement.

3. Rechercher les candidats dans SIRENE. Avec un nom et une localisation (code postal, ville), une recherche renvoie les établissements candidats. C'est exactement ce que fait l'endpoint /company/search de l'API TrustyData :

curl -s "https://api.trustydata.app/services/v1/company/search?q=boulangerie+martin&code_postal=69002" \
  -H "Authorization: Bearer $TRUSTYDATA_API_KEY"

4. Scorer et décider. Pour chaque candidat, croisez la similarité du nom, la concordance d'adresse, la cohérence du code NAF avec ce que vous savez du tiers, et l'état administratif. Au-dessus d'un seuil de confiance : rattachement automatique. En dessous : file de revue manuelle. Résistez à la tentation du 100 % automatique : un rattachement faux coûte plus cher qu'un rattachement absent, parce qu'il est invisible.

5. Stocker le résultat et sa provenance. Enregistrez le SIRET, l'état administratif constaté, la date de vérification et le mode de rattachement (automatique ou manuel). C'est ce qui permettra de rafraîchir intelligemment : la base SIRENE évolue chaque jour, une sirétisation est une photographie datée, pas un acquis.

import requests

r = requests.get(
    "https://api.trustydata.app/services/v1/company/view/12002701600563",
    headers={"Authorization": f"Bearer {API_KEY}"},
)
fiche = r.json()
fiche["etat_administratif"]["code"]           # 'A' → établissement actif
fiche["unite_legale"]["etat_administratif"]   # état de l'entreprise elle-même

Vous pouvez tester ce fonctionnement sans écrire une ligne de code : la démo de recherche d'entreprises interroge la base SIRENE complète en libre accès.

Le taux de sirétisation, indicateur de santé de votre référentiel

Une fois le pipeline en place, la sirétisation devient mesurable, et c'est son grand mérite face aux notions vagues de « qualité du fichier ». L'indicateur central est le taux de sirétisation : la part des fiches rattachées à un SIRET vérifié et actif.

Pour être actionnable, il se décompose en états exclusifs :

État de la fiche Signification Action
SIRET actif vérifié Rattachement sain Rien, hormis un rafraîchissement périodique
SIRET présent mais invalide (clé) Erreur de saisie ou troncature Re-sirétiser par recherche
SIRET fermé, SIREN actif L'établissement a bougé Chercher le nouvel établissement sous le même SIREN
SIREN fermé L'entité a disparu ou fusionné Enquête : successeur ? archivage ?
Sans SIRET, cas légitime Étranger, association RNA… Documenter l'identifiant alternatif
Sans SIRET, non rapproché Le vrai stock de travail File de sirétisation

Pour un référentiel qui alimente la facturation, visez plus de 95 % de fiches dans la première catégorie, et surtout zéro fiche inexpliquée : chaque enregistrement hors du cas nominal doit avoir une raison connue. Suivez l'indicateur dans le temps plutôt qu'en photographie unique. Un taux qui s'érode révèle un processus de création de fiches qui réinjecte des tiers non identifiés, et c'est ce processus qu'il faut corriger, pas seulement le stock.


La sirétisation n'est pas un projet glamour. C'est un travail de fondation : un identifiant stable sous chaque fiche, et un état administratif qui dit si le tiers existe encore. Mais tout ce qui se construit au-dessus (déduplication, facturation électronique, segmentation) hérite de cette solidité. Les données utilisées ici proviennent de la base SIRENE (INSEE), publiée en open data et interrogeable via l'API TrustyData.