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)

Arguments

id

un vecteur caractère de SIRET, ou de SIREN si type = "siren".

type

par défaut "siret" (chaîne de caractères de 14 chiffres). Autre valeur possible "siren" (9 chiffres).

warn

FALSE pour désactiver d'éventuels warnings.

Value

Un vecteur booléen de même longueur que id. Une valeur manquante produira une valeur manquante en retour.

Details

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.

Examples

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