De UFI op een CLP-etiket lijkt een willekeurige wirwar: QNWM-9X6E-E46N-G4GJ. Dat is hij niet. Die 16 tekens zijn een compacte code die iedereen kan terugrekenen naar wie de melding heeft gedaan en om welke formulering het gaat. Hier lees je wat een UFI echt bevat, en hoe je er een leest.

Een UFI in één zin

Een UFI (unieke formule-identificatiecode, in het Engels Unique Formula Identifier) is de code van 16 tekens die je op een gevaarlijk product drukt, zodat een antigifcentrum het product dat een beller voor zich heeft kan koppelen aan precies de formulering die jij hebt gemeld. Of je product er überhaupt een nodig heeft, is een aparte vraag: of het een CLP-etiket nodig heeft. Dit artikel gaat over wat de code zelf bevat.

De 16 tekens zijn niet willekeurig

Een UFI wordt gedrukt in vier blokken van vier, zoals QNWM-9X6E-E46N-G4GJ. Het allereerste teken is een controlecijfer; de overige 15 dragen de eigenlijke inhoud, door elkaar gehusseld in een vaste volgorde en geschreven in grondtal 31.

Grondtal 31 verraadt dat er bewust aan leesbaarheid is gedacht. Het alfabet bestaat uit de tien cijfers plus 21 letters, en vijf letters zijn opzettelijk weggelaten: B, I, L, O en Z. Dat zijn precies de tekens die een mens, of een scanner, het makkelijkst verkeerd leest als 8, 1, 1, 0 en 2. Een UFI moet het overleven om met de hand van een klein etiket op de achterkant te worden overgeschreven, dus de tekens die overschrijffouten veroorzaken zitten er gewoon niet in.

Wat er echt in zit

Ontwar de inhoud en er komen drie dingen uit:

  • Een bedrijfsidentificatie: een EU/VK-btw-nummer of een numerieke bedrijfssleutel die de melder zichzelf heeft toegekend.
  • Een formuleringsnummer: een geheel getal van 0 tot 268.435.455 (dus 2²⁸ − 1) waarmee de melder zijn eigen formuleringen uit elkaar houdt.
  • Een versieveld: in de ECHA-specificatie momenteel altijd 0.

Niets hiervan wordt opgezocht in een database. Het decoderen is pure rekenkunde: de code is de data. Daarom werkt onze UFI-decoder volledig offline, en daarom kan hij je ook alleen vertellen dat de code geldig is opgebouwd, niet of er ooit echt een melding is gedaan.

Wat verraadt een UFI dan?

Dat hangt af van het soort bedrijfsidentificatie dat de melder heeft gebruikt.

Heeft hij een btw-nummer gecodeerd, dan geeft de UFI het land van uitgifte en de geregistreerde btw-identiteit prijs. Decodeer bijvoorbeeld QNWM-9X6E-E46N-G4GJ en je krijgt een Grieks btw-nummer, GR567438921, met formuleringsnummer 66.260.700. Een btw-nummer is openbaar en controleerbaar, dus een UFI op basis van een btw-nummer is in feite een handtekening: hij zegt welk bedrijf, in welk land, achter het product staat.

Heeft hij in plaats daarvan een bedrijfssleutel gecodeerd, dan verraadt de UFI veel minder: alleen een nietszeggend getal dat het bedrijf zelf heeft gekozen, zonder land erbij. Veel melders gebruiken er juist een omdat die niets prijsgeeft.

De UFI van iemand anders lezen

Omdat de code openlijk op het etiket staat en zonder opzoeken te decoderen is, houdt niets je tegen om een UFI te decoderen die je op het product van iemand anders vindt. Hij is bewust openbaar. Wees wel eerlijk over de grenzen:

  • Een UFI met een bedrijfssleutel vertelt je niets over wie ze zijn.
  • Het formuleringsnummer is een interne identificatie, geen doorlopende teller. Melders nummeren zoals ze willen, dus je kunt het niet betrouwbaar lezen als „hoeveel producten ze hebben gemeld”.
  • Een geldige UFI betekent alleen dat de code correct is opgebouwd. Hij bevestigt niet dat er echt een melding bij antigifcentra achter zit, en zegt op zichzelf ook niet wat er in het product zit.

Het controlecijfer: waarom een getypte fout in een UFI opvalt

Dat eerste teken verdient zijn plek. Het wordt berekend uit de andere 15, dus als één teken fout is, door een verschrijving of een OCR-leesfout, faalt de hele code bij de validatie. NJC1-671A-UKF3-J0M8 is een geldige UFI; verander het laatste teken in NJC1-671A-UKF3-J0M9 en hij wordt afgewezen. (Die is toevallig een UFI met een bedrijfssleutel: decodeer hem en je krijgt een kaal getal, zonder land.) Een controlecijfer vangt geen twee fouten die elkaar toevallig opheffen, maar het maakt van de meest voorkomende fouten in één teken een directe, duidelijke mislukking in plaats van een stille mismatch bij een antigifcentrum.

Decodeer er zelf een

Plak een willekeurige UFI in onze UFI-decoder om het land van uitgifte, de bedrijfsidentificatie en het formuleringsnummer te zien, lokaal berekend uit de code, zonder dat er iets wordt verstuurd. Maak je liever een etiket dan dat je er een leest? De UFI-generator doet dezelfde berekening andersom en zet je btw-nummer en een formuleringsnummer om in een geldige UFI.