Vérifie la validité d'un vecteur de SIRET ou de SIREN.
validation_sirene(id, type = c("siret", "siren"), warn = TRUE)
validation_siren(id)
validation_siret(id)
un vecteur caractère de SIRET, ou de SIREN si type = "siren"
.
par défaut "siret"
(chaîne de caractères de 14 chiffres).
Autre valeur possible "siren"
(9 chiffres).
FALSE
pour désactiver d'éventuels warnings.
Un vecteur booléen de même longueur que id
. Une valeur manquante
produira une valeur manquante en retour.
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.
Les fonctions validation_siren
et validation_siret
permettent d'appeler
validation_sirene
sans avoir à préciser le type de numéro.
validation_sirene(c("20003452800014", "20003452800041", "a", NA)) # SIRET (14 chiffres)
#> [1] TRUE FALSE FALSE NA
validation_sirene(c("200034528", "200034582", "a", NA), type = "siren")
#> [1] TRUE FALSE FALSE NA
# utiliser les alias pour ne pas renseigner `type`
validation_siret(c("20003452800014", "20003452800041", "a", NA))
#> [1] TRUE FALSE FALSE NA
validation_siren(c("200034528", "200034582", "a", NA))
#> [1] TRUE FALSE FALSE NA