Menu

Numéro d'immatriculation de société : pays par pays

Un numéro d'immatriculation de société est attribué par le registre du pays de constitution, et sa forme diffère partout. Voici comment le lire et où le vérifier.

Publié le

  • numéro d'immatriculation
  • données d'entreprise
  • données de test

Un numéro d’immatriculation de société est l’identifiant qu’un registre remet à une entreprise lorsqu’elle est inscrite au registre, et c’est le repère que tout le monde utilise ensuite pour retrouver cette entreprise. C’est aussi le champ qui casse le plus de formulaires, parce que les équipes ne cessent d’écrire des validations à partir du seul pays qu’elles connaissent, puis découvrent que rien, dans ce numéro, n’est universel.

Ce guide explique ce qu’est ce numéro, pourquoi sa forme varie à ce point, pourquoi une règle de format stricte se retourne si souvent contre celui qui l’écrit, et comment concevoir un champ qui accepte le monde entier au lieu d’un seul code postal.

Ce qu’est réellement un numéro d’immatriculation de société

Lorsqu’une entreprise est immatriculée, le registre — une chambre des sociétés, un tribunal de commerce, un registre du commerce, une administration fiscale selon le pays — l’enregistre et lui attribue un numéro. À partir de ce moment, le numéro est la façon dont la société est citée : sur les factures, dans les contrats, dans les dépôts, dans les vérifications de solvabilité, dans les documents judiciaires.

Le numéro identifie. Il ne décrit pas. Vous ne pouvez pas déduire d’un numéro le secteur, la taille, l’âge ou la solvabilité d’une société, et vous devriez vous méfier de toute affirmation prétendant le contraire. Un préfixe familier peut laisser deviner le registre qui l’a délivré, mais les chiffres qui suivent sont une attribution, non un codage.

Une chose de plus mérite d’être dite clairement d’emblée : le numéro est délivré par une autorité publique aux fins d’immatriculation. Ce n’est ni une licence, ni une autorisation, ni la preuve que l’entreprise est en règle aujourd’hui. Les registres font aussi évoluer les statuts — des sociétés sont radiées, dissoutes, renommées — tandis que le numéro reste le même.

En quoi le numéro diffère-t-il d’un pays à l’autre ?

Il diffère sur pratiquement tous les aspects qui intéressent un développeur : la présence ou non de lettres, sa longueur, le fait que la ponctuation en fasse partie ou non, et le fait que le pays utilise ou non un registre national unique.

À certains endroits, le numéro est une suite de chiffres attribuée directement à partir d’une séquence. Ailleurs, il porte un préfixe alphabétique qui code le registre, la forme juridique ou la région. Certains registres utilisent une largeur fixe et complètent avec des zéros de tête, de sorte que la valeur est en réalité une chaîne même si elle ressemble à un entier. Certains pays tiennent des registres distincts pour différentes formes juridiques et délivrent donc des séries de numéros distinctes, et certaines fédérations possèdent à la fois une immatriculation au niveau de l’État et un identifiant national, les deux apparaissant sur des documents différents.

Le même pays peut aussi être orthographié différemment par différentes personnes. Un registre peut imprimer des séparateurs qui ne font pas partie du numéro, une banque peut le citer avec un préfixe qui lui est propre, et un document traduit peut le translittérer. Rien de tout cela ne change le numéro, mais tout cela change la chaîne que reçoit un formulaire.

Ce qui varie Pourquoi cela importe pour un formulaire
Présence de lettres Une règle limitée aux chiffres rejette une grande part du monde
Longueur Toute règle de longueur fixe est fausse hors du pays dont elle provient
Zéros de tête Stocker la valeur comme un entier la détruit silencieusement
Ponctuation et espacement Le formatage doit être retiré avant comparaison, jamais avant stockage
Registre par forme juridique Un pays peut répondre par plusieurs identifiants valides

Où recherche-t-on un numéro d’immatriculation ?

Vous le recherchez à la source : le registre officiel du pays où la société déclare être constituée. Tout le reste — une agence de crédit, un site d’annuaire, un profil de place de marché — est une copie secondaire avec son propre décalage de mise à jour.

La partie pratique consiste à trouver le bon registre. Recherchez le registre des sociétés du pays plutôt que la société elle-même, et sachez que de nombreux pays publient une recherche publique gratuite tandis qu’un plus petit nombre facture les documents. Lorsqu’un pays n’a pas de recherche publique gratuite, la réponse honnête à un client est que le numéro ne peut être confirmé que sur papier ou via le canal payant de l’autorité elle-même.

C’est aussi pourquoi la vérification devrait être une étape distincte et explicite dans tout flux de travail qui en a besoin. Un formulaire peut contrôler la forme d’un numéro. Seul le registre peut vous dire si la société existe. Garder ces deux contrôles séparés — et indiquer à l’utilisateur lequel a échoué — fait la différence entre une erreur utile et un mystère.

Pourquoi n’existe-t-il pas de format global à valider ?

Parce qu’il n’existe pas de registraire mondial. L’immatriculation relève d’une compétence nationale, et la loi de chaque pays décide de ce que son registre enregistre et de la manière dont il numérote les entrées. Les normes internationales couvrent quantité de données commerciales — codes de pays, codes de devises, dates, identifiants d’entités juridiques — mais il n’existe pas de numéro d’immatriculation mondial, et aucune autorité pour en délivrer un.

Les conséquences pour l’ingénierie sont concrètes :

  • Aucune expression régulière ne doit être traitée comme « le » motif de numéro de société.
  • Aucune limite de longueur ne doit être assez stricte pour rejeter les numéros d’un autre pays.
  • Aucune routine de clé de contrôle ne doit être présumée exister ; là où un pays en publie une, elle n’appartient qu’à ce pays.
  • Aucun échec de validation ne doit être signalé comme « cette société n’existe pas ».

Une suite de tests qui porte ces hypothèses passera confortablement sur des données nationales et échouera au premier client international, généralement en production, généralement pendant l’inscription.

Quelle sévérité doit avoir la validation ?

Assez stricte pour attraper les erreurs évidentes, assez souple pour ne jamais rejeter une entreprise légitime. Ces deux objectifs tirent en sens opposé, et la solution consiste à valider par couches plutôt qu’en une seule passe.

La première couche est la présence et la santé de base : le champ est rempli, il ne s’agit pas d’espaces, il ne contient pas de caractères de contrôle, et il reste dans une longueur maximale généreuse. La deuxième couche est la vérification de forme sensible au pays, appliquée uniquement lorsque vous connaissez le pays avec certitude — et écrite pour accepter tout ce qui est plausible plutôt que pour imposer la grammaire d’un seul pays. La troisième couche est la couche qui fait autorité : une véritable consultation du registre, exécutée de manière asynchrone, avec son propre résultat.

Le découpage en couches vous donne des erreurs utiles. « Nous n’avons pas pu confirmer ce numéro auprès du registre » est exploitable. « Numéro d’immatriculation invalide » ne l’est pas, et c’est aussi faux, parce que le formulaire n’a aucune idée de si la société est immatriculée — seulement que sa saisie ne correspondait pas à un motif que quelqu’un a tapé de mémoire.

Pour les développeurs : accepter les numéros d’immatriculation du monde entier

Traitez le champ comme une chaîne opaque. Stockez-le exactement tel que le client l’a saisi après avoir retiré les espaces extérieurs, et stockez une copie normalisée — casse repliée, séparateurs retirés — pour la comparaison et la recherche. Ne le stockez jamais dans une colonne d’entiers, et ne laissez jamais un zéro de tête se perdre en transit via un tableur, un export CSV ou un analyseur JSON négligent avec les chaînes d’apparence numérique.

Fixez la longueur maximale de façon généreuse ; les formats nationaux les plus longs restent de courtes chaînes, et le coût d’une limite souple n’est rien comparé au coût de la troncature d’un vrai numéro. Autorisez les lettres, les chiffres et les séparateurs que les gens tapent réellement, et normalisez avant de comparer plutôt que de rejeter ce que vous n’attendiez pas.

Routez selon le pays plutôt que de deviner, et rendez ce routage explicite dans le modèle de données : une valeur de numéro d’immatriculation sans pays n’est qu’une demi-valeur. Lorsqu’un pays est inconnu ou non pris en charge, revenez aux contrôles génériques et dites-le dans l’interface au lieu d’inventer une règle.

Enfin, gardez les valeurs générées et réelles visiblement séparées dans chaque environnement que vous contrôlez. Les valeurs produites par le générateur de ce site sont synthétiques et n’appartiennent à aucun registre, et la note qui les accompagne le dit. L’article sur le numéro de TVA couvre le champ voisin, qui présente le même problème de validation par couches et son propre piège : un contrôle de format et un contrôle de registre sont deux questions différentes.

Prochaines étapes

Prenez le champ de numéro d’immatriculation de votre propre produit et essayez-le face à une poignée de pays dont vous n’avez jamais vu les formats. Si quoi que ce soit rejette une valeur dont vous ne pouvez personnellement prouver qu’elle est mal formée, assouplissez la règle et déplacez ce jugement vers l’étape de consultation, où il appartient. Générez ensuite quelques sociétés synthétiques dans le générateur de données d’entreprise de test et confirmez que le champ survit à la copie, au collage, à l’export et à la réimportation sans perdre un zéro de tête.

Continuer la lecture

Articles sur Générateur de données d'entreprise pour les tests