L'UFI imprimé sur une étiquette CLP ressemble à une suite de caractères aléatoires : QNWM-9X6E-E46N-G4GJ. Il n'en est rien. Ces 16 caractères forment un code compact que n'importe qui peut décoder pour retrouver qui a déposé la notification et de quelle formulation il s'agissait. Voici ce qu'encode réellement un UFI, et comment le lire.

L'UFI en une phrase

Un UFI (identifiant unique de formulation) est le code de 16 caractères que vous imprimez sur un produit dangereux pour qu'un centre antipoison puisse faire correspondre le produit qu'a sous les yeux la personne qui appelle avec la formulation exacte que vous avez notifiée. Savoir si votre produit en a besoin est une autre question, liée à celle de l'étiquette CLP. Cet article porte sur ce que contient le code lui-même.

Les 16 caractères ne sont pas aléatoires

Un UFI s'imprime en quatre blocs de quatre, comme QNWM-9X6E-E46N-G4GJ. Le tout premier caractère est une somme de contrôle ; les 15 autres portent les données proprement dites, réarrangées dans un ordre fixe et écrites en base 31.

La base 31 trahit le soin apporté à la lisibilité. L'alphabet comprend les dix chiffres plus 21 lettres, et cinq lettres ont été délibérément écartées : B, I, L, O et Z. Ce sont précisément les caractères qu'une personne, ou un scanner, risque le plus de confondre avec 8, 1, 1, 0 et 2. Un UFI doit pouvoir être recopié à la main depuis une petite contre-étiquette : les caractères à l'origine d'erreurs de copie ne font tout simplement pas partie du jeu.

Ce qui est réellement encodé

Remettez les données dans l'ordre, et trois éléments apparaissent :

  • Un identifiant d'entreprise : soit un numéro de TVA de l'UE ou du Royaume-Uni, soit une clé d'entreprise numérique que le notifiant s'est attribuée.
  • Un numéro de formulation : un nombre entier, de 0 à 268 435 455 (soit 2²⁸ − 1), que le notifiant utilise pour distinguer ses propres formulations.
  • Un champ de version : actuellement toujours à 0 dans la spécification de l'ECHA.

Rien de tout cela n'est recherché dans une base de données. Le décodage relève de la pure arithmétique : le code est la donnée. C'est pourquoi notre décodeur d'UFI fonctionne entièrement hors ligne, et c'est aussi pourquoi il peut seulement vous dire si le code est bien formé, et non si une notification a réellement été déposée.

Alors, que révèle un UFI ?

Cela dépend du type d'identifiant d'entreprise utilisé par le notifiant.

S'il a encodé un numéro de TVA, l'UFI révèle le pays d'émission et l'identité fiscale enregistrée. Décodez par exemple QNWM-9X6E-E46N-G4GJ : vous obtenez un numéro de TVA grec, GR567438921, avec le numéro de formulation 66 260 700. Un numéro de TVA est public et vérifiable : un UFI fondé sur la TVA est donc en pratique une signature. Il indique quelle entreprise, dans quel pays, se tient derrière le produit.

S'il a plutôt encodé une clé d'entreprise, l'UFI en révèle bien moins : juste un numéro opaque choisi par l'entreprise elle-même, sans pays associé. De nombreux notifiants en utilisent une précisément parce qu'elle ne révèle rien.

Lire l'UFI de quelqu'un d'autre

Comme le code est imprimé en clair sur l'étiquette et se décode sans aucune recherche, rien ne vous empêche de décoder un UFI trouvé sur le produit de quelqu'un d'autre : il est public par conception. Restez toutefois lucide sur les limites :

  • Un UFI à clé d'entreprise ne vous apprend rien sur l'identité de l'entreprise.
  • Le numéro de formulation est un identifiant interne, pas un compteur. Chaque notifiant numérote comme il l'entend : vous ne pouvez donc pas l'interpréter de façon fiable comme « le nombre de produits qu'il a déposés ».
  • Un UFI valide signifie seulement que le code est bien formé. Il ne confirme pas qu'une notification aux centres antipoison existe réellement derrière, ni, à lui seul, ce que contient le produit.

La somme de contrôle : pourquoi un UFI mal recopié est détectable

Ce premier caractère mérite sa place. Il est calculé à partir des 15 autres : si un seul caractère est erroné (une faute de frappe, une erreur de lecture OCR), tout le code échoue à la validation. NJC1-671A-UKF3-J0M8 est un UFI valide ; remplacez le dernier caractère pour obtenir NJC1-671A-UKF3-J0M9, et il est rejeté. (Celui-ci, d'ailleurs, est un UFI à clé d'entreprise : décodez-le et vous obtenez un simple numéro, sans pays.) Une somme de contrôle ne détecte pas deux erreurs qui se compensent, mais elle transforme les erreurs d'un seul caractère, les plus courantes, en un échec immédiat et évident plutôt qu'en une discordance silencieuse au centre antipoison.

Décodez-en un vous-même

Collez n'importe quel UFI dans notre décodeur d'UFI pour voir son pays d'émission, son identifiant d'entreprise et son numéro de formulation, calculés localement à partir du code, sans rien envoyer nulle part. Vous créez une étiquette plutôt que d'en lire une ? Le générateur d'UFI effectue le même calcul en sens inverse, en transformant votre numéro de TVA et un numéro de formulation en UFI valide.