Le package R validinsee permet de valider certaines données produites par l’Insee, en particulier la conformité de numéros Siren ou Siret.
# install.packages("remotes")
remotes::install_github("InseeFrLab/validinsee")
library(validinsee)
La fonction validation_siren
vérifie si les éléments d’un vecteur sont
des SIREN valides (identifiant de l’entreprise formé de 9
caractères) :
validation_siren(c("200034528", "200034582", NA))
#> [1] TRUE FALSE NA
La fonction validation_siret
vérifie si les éléments d’un vecteur sont
des SIRET valides (identifiant de l’établissement formé de 14
caractères) :
validation_siret(c("20003452800014", "20003452800041", NA))
#> [1] TRUE FALSE NA
Règles de validation
La vérification se base sur la formule de Luhn.
-
un SIREN est valide si sa somme de Luhn est un multipe de 10 ;
-
un SIRET est valide si sa somme de Luhn est un multipe de 10 et si la somme de Luhn de son SIREN (9 premiers chiffres) est un multiple de 10 ;
-
un SIRET de La Poste (SIREN 356000000) ne respectant pas la règle ci-dessus fait l’objet d’un traitement différencié : il est valide si la somme des chiffres le composant est un multiple de 5.