Menu

Formati del numero di partita IVA: cosa cambia tra i paesi

Un numero di partita IVA è un identificativo di registrazione fiscale e il suo formato è stabilito dall'autorità fiscale di ciascun paese. Ecco cosa varia e perché un controllo di formato non prova mai la registrazione.

Pubblicato

  • partita IVA
  • dati fiscali
  • dati di test

Un numero di partita IVA è l’identificativo che un’impresa usa per l’imposta sul valore aggiunto ed è uno dei pochi campi che compare su quasi ogni documento commerciale transfrontaliero. È anche il campo in cui i team confondono più spesso due domande del tutto diverse: questo sembra un numero valido, e questa impresa è effettivamente registrata ai fini IVA. Scambiare le due cose produce moduli che respingono clienti reali e sistemi che accettano quelli inventati.

Questo articolo copre che cos’è il numero, perché la sua struttura cambia a ogni confine, come si inseriscono i servizi di ricerca pubblici e come progettare il campo affinché il controllo di formato e il controllo di registrazione restino ciascuno nel proprio ambito.

Che cos’è un numero di partita IVA?

È un identificativo di registrazione fiscale. Un’impresa soggetta all’imposta sul valore aggiunto si registra presso l’autorità fiscale del paese interessato e riceve un numero; quel numero viene poi citato sulle fatture, nelle dichiarazioni e nelle comunicazioni transfrontaliere che i sistemi di tipo europeo richiedono.

Da questa definizione derivano due proprietà. In primo luogo, il numero appartiene a un’amministrazione fiscale, non a un registro delle imprese, quindi è rilasciato in base alla legge fiscale e può esistere per un soggetto registrato altrove del tutto. In secondo luogo, il numero è specifico per paese per costruzione: è emesso da un’autorità sotto le regole di una giurisdizione e da solo non significa nulla al di fuori di quella giurisdizione.

Inoltre non è un numero di registrazione aziendale, non è un numero di identificazione fiscale in senso ampio e non è una licenza. Un’impresa può possedere diversi di questi identificativi contemporaneamente, e un’impresa che opera puramente a livello nazionale può non aver mai bisogno di una partita IVA.

Quando serve davvero a un’impresa?

Più spesso di quanto si intuisca dalla reputazione del campo, e in una manciata di situazioni ricorrenti.

  • Vendere beni o servizi oltre confine quando l’acquirente è un’impresa e il trattamento fiscale dipende dallo status dell’acquirente.
  • Fatturare a un cliente aziendale che ha bisogno del numero sul documento per recuperare o contabilizzare l’imposta.
  • Comunicare cessioni intracomunitarie, dove il numero della controparte fa parte della dichiarazione.
  • Registrarsi in un paese in cui l’impresa ha superato la soglia locale per la registrazione fiscale.
  • Importare ed esportare, dove l’autorità fiscale deve collegare la spedizione a un operatore registrato.

Lo schema è che il numero conta di più proprio quando due sistemi fiscali si incontrano. Ecco anche perché il campo è così soggetto a errori: viene compilato da una persona che legge un documento prodotto secondo regole non familiari e viene controllato da un software scritto secondo un unico insieme familiare di regole.

Cosa varia da paese a paese?

Quasi tutto ciò su cui un parser vorrebbe fare affidamento. La struttura è stabilita dall’autorità fiscale emittente, quindi l’unica generalizzazione sicura è debole: molti formati iniziano con un codice paese di due lettere e poi continuano con cifre, lettere o una combinazione.

Oltre a questa osservazione iniziale, le differenze sono esattamente quelle che mandano in crisi le regole rigide.

Proprietà Perché una regola fissa fallisce
Presenza di un prefisso paese La stessa autorità può stamparlo in un contesto e ometterlo in un altro
Lunghezza totale I formati vanno da brevi a decisamente lunghi e nessun limite unico li copre tutti
Lettere e cifre Alcuni formati sono numerici, altri alfanumerici, altri contengono entrambi i blocchi
Separatori interni Spaziatura e punteggiatura sono presentazione, non parte dell’identificativo
Cifre di controllo Alcuni formati ne incorporano una, altri sono pure assegnazioni senza aritmetica

Notate che il prefisso è una comodità, non una garanzia. Quando è presente vi dice quale autorità ha emesso il numero — cosa genuinamente utile per instradare una ricerca — ma trattarlo come obbligatorio respingerà input perfettamente validi digitati da un documento che lo ometteva.

Un formato valido equivale a un’impresa registrata?

No, e il divario tra le due cose è l’aspetto più utile da capire di questo campo.

Un numero può essere sintatticamente perfetto e non appartenere a nessuno. Chi comprende il modello può scriverne uno che nessuna autorità ha mai emesso, e un sistema che controlla solo il modello lo accetterà. Al contrario, un numero può essere registrato e comunque fallire una regola fatta in casa, perché la regola era stata scritta per un altro paese o per un’impaginazione stampata più vecchia.

Ecco perché il servizio pubblico di controllo dei numeri di partita IVA della Commissione europea è così importante come esempio: esiste perché un’impresa possa confermare se un numero è effettivamente registrato ai fini IVA in uno Stato membro, domanda a cui nessun modello può rispondere. La distinzione si generalizza ben oltre quel servizio — ovunque un’autorità fiscale pubblichi uno sportello ufficiale di consultazione, quello sportello è l’autorità, e un’espressione regolare non lo è.

C’è una conseguenza utile per il design dell’interfaccia. Quando un controllo fallisce, il messaggio dovrebbe dire quale controllo è fallito. “Questo non sembra un numero di partita IVA” e “non abbiamo potuto confermare questo numero con l’autorità fiscale” portano l’utente ad azioni diverse, e confonderli fa perdere tempo a tutti.

Perché i team dovrebbero evitare di scrivere regole proprie?

Perché le regole sono nazionali, riviste occasionalmente e numerose, e perché un validatore fatto in casa è un onere di manutenzione che fallisce nella direzione meno visibile.

Considerate cosa fa realmente una regola scritta in proprio. Codifica l’impaginazione di un solo paese. Viene testata su una manciata di esempi di uno o due paesi. Segnala un unico errore generico. E quando un’autorità fiscale cambia un formato, nessuno lo annuncia — la regola inizia semplicemente a respingere clienti reali, gradualmente, nei paesi con cui nessuno del team commercia. Il guasto è silenzioso e il suo costo lo sopporta il team commerciale.

L’alternativa non è “nessuna validazione”. È la validazione a livelli, dove ogni livello risponde a una domanda a cui può davvero rispondere e il livello autorevole è una chiamata al servizio ufficiale invece di un’ipotesi. Quell’architettura degrada anche con grazia: se il servizio ufficiale è lento, irraggiungibile o restituisce un risultato ambiguo, il modulo può comunque accettare l’input e contrassegnare la conferma come in sospeso invece di bloccare un cliente legittimo.

Per gli sviluppatori: controllo di formato e controllo nel registro sono funzioni diverse

Dividete la responsabilità in due funzioni con due tipi di ritorno diversi e non lasciate che condividano un messaggio di errore.

La prima è un controllo locale della forma. Dovrebbe essere deliberatamente permissiva: rimuovete i separatori, normalizzate le maiuscole/minuscole, respingete i valori vuoti e i caratteri che non possono comparire in alcun formato e applicate una lunghezza massima comodamente superiore al formato reale più lungo. Se possedete un modello specifico per paese e avete fiducia nella sua provenienza, applicatelo come suggerimento che può abbassare un avviso, mai come rifiuto rigido di un valore che non potete verificare. Dove un formato porta davvero una cifra di controllo, implementatela solo per i paesi di cui avete verificato l’algoritmo, e trattate un fallimento come “possibile errore di battitura” invece che come “non registrato”.

La seconda è una ricerca di registrazione presso lo sportello ufficiale. Datele un timeout proprio, una politica di ripetizione propria e un proprio vocabolario di esiti: confermato, non trovato, non disponibile e non applicabile per questo paese. Memorizzate un risultato positivo per un periodo sensato e uno negativo per molto meno, perché un’impresa che si registra oggi non dovrebbe essere respinta per una settimana da una risposta obsoleta. Registrate quali numeri sono stati controllati e quando, ma trattate il log come contenente dati aziendali e proteggetelo di conseguenza.

Vale la pena di adottare altre due abitudini. Conservate il valore grezzo digitato dall’utente accanto a quello normalizzato, così che una visualizzazione o un documento possano riprodurre esattamente ciò che mostrava la fonte. E tenete i valori generati inequivocabilmente sintetici: il generatore su questo sito riempie il campo della partita IVA con valori formattati che non appartengono ad alcuna autorità fiscale, e ogni sua esportazione porta una nota che lo dice. Il correlato articolo sull’identificativo fiscale percorre la stessa stratificazione per la più ampia famiglia dei numeri fiscali. Il collaudo di tutto ciò sul modulo di un prodotto reale è trattato nell’articolo sui casi di test del modulo di fatturazione.

Passi successivi

Elencate ogni punto del vostro prodotto in cui oggi viene validata una partita IVA ed etichettate ogni controllo come forma o registrazione. Qualsiasi controllo che dichiari di riguardare l’esistenza ma sia implementato come modello è un bug in attesa di un cliente internazionale. Poi fate passare il vostro modulo di fatturazione attraverso i quattro rami — numero presente, numero assente, transfrontaliero e persona fisica — usando dati generati dal generatore di dati aziendali, così che nulla di ciò con cui testate possa essere scambiato per un’impresa reale.

Continua a leggere

Guide su Generatore di dati aziendali per i test