Menu

Numero di registrazione aziendale: paese per paese

Un numero di registrazione aziendale è assegnato dal registro del paese di costituzione e la sua forma cambia ovunque. Ecco come leggerlo e dove verificarlo.

Pubblicato

  • numero di registrazione
  • dati aziendali
  • dati di test

Un numero di registrazione aziendale è l’identificativo che un registro assegna a un’impresa quando viene iscritta nel registro, ed è il riferimento che tutti gli altri usano per ritrovare quell’impresa. È anche il campo che manda in tilt il maggior numero di moduli, perché i team continuano a scrivere validazioni basate sull’unico paese che conoscono e poi scoprono che nulla del numero è universale.

Questa guida spiega che cos’è il numero, perché la sua forma varia così tanto, perché una regola di formato rigida così spesso si ritorce contro e come progettare un campo che accetti il mondo invece di un solo codice postale.

Che cos’è realmente un numero di registrazione aziendale

Quando un’impresa viene registrata, il registro — una camera di commercio, un tribunale commerciale, un registro delle imprese, un’autorità fiscale, a seconda del paese — la annota e le assegna un numero. Da quel momento il numero è il modo in cui la società viene citata: sulle fatture, nei contratti, nelle comunicazioni, nei controlli di credito, negli atti giudiziari.

Il numero identifica. Non descrive. Non potete ricavare da esso il settore, la dimensione, l’età o l’affidabilità creditizia di un’azienda, e dovreste diffidare di qualsiasi affermazione contraria. Un prefisso familiare può suggerire il registro che l’ha emesso, ma le cifre che seguono sono un’assegnazione, non una codifica.

Un’ultima cosa vale la pena di dire chiaramente in apertura: il numero è rilasciato da un’autorità pubblica ai fini della registrazione. Non è una licenza, non è un’approvazione e non è prova che l’impresa sia in regola oggi. I registri cambiano anche stato — le società vengono cancellate, sciolte, rinominate — mentre il numero resta lo stesso.

In che modo il numero differisce da paese a paese?

Differisce praticamente sotto ogni aspetto che interessi a uno sviluppatore: se compaiono lettere, quanto è lungo, se la punteggiatura ne fa parte e se il paese usa persino un unico registro nazionale.

In alcuni luoghi il numero è una sequenza di cifre assegnata direttamente da un elenco progressivo. In altri porta un prefisso alfabetico che codifica il registro, la forma giuridica o la regione. Alcuni registri usano una larghezza fissa e riempiono con zeri iniziali, così il valore è in realtà una stringa anche se sembra un numero intero. Alcuni paesi gestiscono registri separati per forme giuridiche diverse e quindi emettono serie di numeri distinte, e alcune federazioni hanno sia una registrazione a livello statale sia un identificativo nazionale, con i due che compaiono su documenti diversi.

Lo stesso paese può anche essere scritto in modo diverso da persone diverse. Un registro può stampare separatori che non fanno parte del numero, una banca può citarlo con un prefisso proprio e un documento tradotto può traslitterarlo. Nulla di ciò cambia il numero, ma tutto ciò cambia la stringa che un modulo riceve.

Cosa varia Perché conta per un modulo
Presenza di lettere Una regola che ammette solo cifre respinge gran parte del mondo
Lunghezza Qualsiasi regola di lunghezza fissa è sbagliata al di fuori del paese da cui proviene
Zeri iniziali Memorizzare il valore come intero lo distrugge silenziosamente
Punteggiatura e spaziatura La formattazione va rimossa prima del confronto, mai prima della memorizzazione
Registro per forma giuridica Un solo paese può rispondere con più di un identificativo valido

Dove si cerca un numero di registrazione?

Si cerca alla fonte: nel registro ufficiale del paese in cui l’azienda dichiara di essere costituita. Tutto il resto — un’agenzia di credito, un sito di elenchi, un profilo di un marketplace — è una copia secondaria con il proprio ritardo di aggiornamento.

La parte pratica è trovare il registro giusto. Cercate il registro delle imprese del paese invece dell’azienda stessa e siate consapevoli che molti paesi pubblicano una ricerca pubblica gratuita mentre un numero minore fa pagare per i documenti. Dove un paese non ha una ricerca pubblica gratuita, la risposta onesta a un cliente è che il numero può essere confermato solo su carta o tramite il canale a pagamento dell’autorità stessa.

Questo è anche il motivo per cui la verifica dovrebbe essere un passaggio separato ed esplicito in qualsiasi flusso che ne abbia bisogno. Un modulo può controllare la forma di un numero. Solo il registro può dirvi se l’azienda esiste. Tenere separati questi due controlli — e dire all’utente quale dei due è fallito — è la differenza tra un errore utile e un mistero.

Perché non esiste un formato globale con cui validare?

Perché non esiste un registro globale. La registrazione è una competenza nazionale e la legge di ciascun paese decide cosa annota il suo registro e come numera le iscrizioni. Gli standard internazionali coprono molti dati aziendali — codici paese, codici valuta, date, identificativi per entità giuridiche — ma non esiste un numero di registrazione mondiale, né un’autorità che possa emetterlo.

Le conseguenze per l’ingegneria sono concrete:

  • Nessuna espressione regolare dovrebbe essere considerata “il” modello di numero di registrazione.
  • Nessun limite di lunghezza dovrebbe essere così stretto da respingere i numeri di un altro paese.
  • Nessuna routine di cifra di controllo dovrebbe essere data per scontata; dove un paese ne pubblica una, appartiene solo a quel paese.
  • Nessun fallimento di validazione dovrebbe essere segnalato come “questa azienda non esiste”.

Una suite di test che porta con sé queste assunzioni passerà comodamente sui dati nazionali e fallirà sul primo cliente internazionale, di solito in produzione, di solito durante l’onboarding.

Quanto deve essere rigorosa la validazione?

Abbastanza da cogliere errori evidenti, abbastanza permissiva da non respingere mai un’azienda legittima. Questi due obiettivi tirano in direzioni opposte e la soluzione è validare a livelli invece che in un’unica passata.

Il primo livello è la presenza e la sanità di base: il campo è compilato, non è spazio bianco, non contiene caratteri di controllo ed è entro una lunghezza massima generosa. Il secondo livello è il controllo della forma consapevole del paese, applicato solo quando conoscete il paese con certezza — e scritto per accettare qualsiasi cosa plausibile invece di imporre la grammatica di un solo paese. Il terzo livello è quello autorevole: una ricerca effettiva nel registro, eseguita in modo asincrono, con un esito proprio.

La stratificazione vi offre errori utili. “Non siamo riusciti a confermare questo numero con il registro” è utilizzabile. “Numero di registrazione non valido” non lo è, ed è anche sbagliato, perché il modulo non ha idea se l’azienda sia registrata — sa solo che il suo input non corrisponde a un modello che qualcuno ha digitato a memoria.

Per gli sviluppatori: accettare i numeri di registrazione del mondo

Trattate il campo come una stringa opaca. Memorizzatelo esattamente come il cliente l’ha inserito dopo aver rimosso gli spazi esterni, e memorizzate una copia normalizzata — maiuscole/minuscole uniformate, separatori rimossi — per il confronto e la ricerca. Non memorizzatelo mai in una colonna di tipo intero e non lasciate mai che uno zero iniziale vada perso durante il passaggio attraverso un foglio di calcolo, un’esportazione CSV o un parser JSON che è disattento con le stringhe dall’aspetto numerico.

Impostate la lunghezza massima in modo generoso; i formati nazionali più lunghi restano comunque stringhe brevi, e il costo di un limite permissivo non è nulla rispetto al costo di troncare un numero reale. Ammettete lettere, cifre e i separatori che le persone digitano davvero, e normalizzate prima di confrontare invece di respingere ciò che non vi aspettavate.

Instradate per paese invece di indovinare e rendete l’instradamento esplicito nel modello dati: un valore di numero di registrazione senza un paese è solo mezzo valore. Dove un paese è sconosciuto o non supportato, ricadete sui controlli generici e ditelo nell’interfaccia invece di inventare una regola.

Infine, tenete i valori generati e quelli reali visibilmente separati in ogni ambiente che controllate. I valori prodotti dal generatore su questo sito sono sintetici e non appartengono ad alcun registro, e la nota che li accompagna lo dice. L’articolo sul numero di partita IVA copre il campo vicino, che ha lo stesso problema di validazione a livelli e una trappola propria: un controllo di formato e un controllo nel registro sono due domande diverse.

Passi successivi

Prendete il campo del numero di registrazione nel vostro prodotto e provatelo su una manciata di paesi di cui non avete mai visto i formati. Se qualcosa respinge un valore che non potete personalmente dimostrare essere malformato, allentate quella regola e spostate quel giudizio nel passaggio di ricerca, dove appartiene. Poi generate alcune aziende sintetiche nel generatore di dati aziendali di test e confermate che il campo sopravvive a copia, incolla, esportazione e reimportazione senza perdere uno zero iniziale.

Continua a leggere

Guide su Generatore di dati aziendali per i test