Skip to content

Francia (FR)

Validación de números de identificación personal y empresarial para Francia.

Documentos Soportados

DocumentoDescripciónFormato
SIRENSystème d'Identification du Répertoire des Entreprises9 dígitos
SIRETSystème d'Identification du Répertoire des Etablissements14 dígitos
NIRNuméro d'Inscription au Répertoire (Seguridad Social)15 dígitos

Notas

  • SIREN y SIRET se usan para identificar empresas y establecimientos y se validan usando el algoritmo de Luhn.
  • NIR se usa para identificar individuos y se valida usando el algoritmo oficial módulo 97.
  • Los departamentos de Córcega usan códigos 2A y 2B, que se manejan correctamente.
  • El validador detecta automáticamente el tipo de documento basándose en la longitud de entrada.

Uso

Validadores Individuales (Recomendado)

Para mejor rendimiento y tree-shaking, usa los validadores específicos:

typescript
import { validateSIREN, validateSIRET, validateNIR } from "validator-tax-id";

// SIREN - Identificador de empresa (9 dígitos)
validateSIREN("443061841"); // ✅ true (Google France)
validateSIREN("552100554"); // ✅ true (Total SA)

// SIRET - Identificador de establecimiento (14 dígitos)
validateSIRET("44306184100047"); // ✅ true

// NIR - Número de Seguridad Social (15 dígitos)
validateNIR("188057512301180"); // ✅ true
validateNIR("199072A12801261"); // ✅ true (Córcega 2A)
validateNIR("299072B12801238"); // ✅ true (Córcega 2B)

Auto-detección de Tipo

Si no conoces el tipo de documento:

typescript
import { validateFR } from "validator-tax-id";

validateFR("443061841"); // ✅ true (auto-detectado como SIREN - 9 dígitos)
validateFR("44306184100047"); // ✅ true (auto-detectado como SIRET - 14 dígitos)
validateFR("188057512301180"); // ✅ true (auto-detectado como NIR - 15 dígitos)

Función Genérica

typescript
import { validateIdentification } from "validator-tax-id";

// SIREN (empresa)
validateIdentification("fr", "443061841"); // ✅ true

// SIRET (establecimiento)
validateIdentification("fr", "443 061 841 00047"); // ✅ true

// NIR (individual)
validateIdentification("fr", "188057512301180"); // ✅ true