Elige el formato
Nacional son los once dígitos solos. Intracomunitario añade el prefijo IT delante, que es la forma en que se declara en operaciones dentro de la Unión Europea.
Once dígitos con el control tipo Luhn que exige la norma italiana, en formato nacional o intracomunitario con el prefijo IT que espera el sistema VIES.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
Nacional son los once dígitos solos. Intracomunitario añade el prefijo IT delante, que es la forma en que se declara en operaciones dentro de la Unión Europea.
El modo válido calcula el dígito con el algoritmo oficial. El inválido lo altera para tus pruebas negativas.
El CSV trae la partita IVA en los dos formatos, el código de oficina y el dígito de control por separado.
La partita IVA italiana tiene una estructura sencilla y bien definida: siete dígitos que identifican al contribuyente, tres que señalan la oficina provincial que lo dio de alta, y uno de control.
El control se calcula con un algoritmo del tipo Luhn: las posiciones impares se suman tal cual, las pares se duplican restando 9 cuando pasan de 9, y el dígito final es lo que falta para el siguiente múltiplo de diez:
function controlPiva(diez) {
let suma = 0;
for (let i = 0; i < 10; i++) {
let d = Number(diez[i]);
if (i % 2 === 1) { d *= 2; if (d > 9) d -= 9; } // posiciones pares
suma += d;
}
return String((10 - (suma % 10)) % 10);
}
controlPiva("0638264100") // "6"
Ese ejemplo no es inventado: 06382641006 es la partita IVA pública de la RAI, la radiotelevisión italiana. Si tu implementación devuelve 6 para esos diez dígitos, está correcta. Es el caso contra el que verificamos el generador.
Italia tiene dos identificadores fiscales y la relación entre ellos confunde a mucha gente:
| Codice fiscale | Partita IVA | |
|---|---|---|
| Quién lo tiene | Toda persona; también las empresas | Quien ejerce actividad económica |
| Formato en personas | 16 caracteres alfanuméricos | No tienen, salvo autónomos |
| Formato en empresas | 11 dígitos | 11 dígitos |
| ¿Coinciden? | En muchas empresas sí: el mismo número sirve de codice fiscale y de partita IVA | |
De ahí sale un caso de prueba muy concreto: si tu formulario tiene dos campos —uno para el codice fiscale y otro para la partita IVA— y valida el primero exigiendo siempre 16 caracteres, ninguna empresa italiana podrá darse de alta, porque su codice fiscale son once dígitos. La validación del codice fiscale tiene que aceptar las dos formas: 16 alfanuméricos para personas y 11 dígitos para entidades.
Para operaciones entre países de la Unión Europea, el número se escribe con el prefijo del país
delante: IT06382641006. Esa es la forma que espera VIES, el
sistema de la Comisión Europea que permite comprobar si un número de IVA está activo para
operaciones intracomunitarias.
Aquí hay una distinción que importa y que esta herramienta no puede saltarse: una partita IVA puede tener el dígito de control correcto y aun así no estar activa en VIES, porque la empresa cesó su actividad o nunca se registró para operaciones intracomunitarias. Son dos comprobaciones distintas:
Si tu aplicación factura a empresas europeas, necesitas probar los dos caminos, y también el tercero: que VIES no responda, que ocurre más de lo que parece. Para eso están los mocks de respuestas HTTP.
Estas partite IVA tienen el dígito de control correcto y pasan cualquier validación de formato, pero no están registradas en la Agenzia delle Entrate y no aparecerán en VIES. Sirven para probar formularios, validaciones y bases de datos, no para facturar.
Preguntas frecuentes
No. El dígito de control es correcto, así que pasa cualquier validación de formato, pero el número no está registrado en la Agenzia delle Entrate y no aparecerá en VIES.
Sí, es el control tipo Luhn de la norma italiana, verificado con la partita IVA pública de la RAI: para los diez primeros dígitos de 06382641006 el control sale 6, exactamente el que lleva.
En muchas empresas sí: el mismo número de once dígitos sirve de codice fiscale y de partita IVA. En personas físicas no: el codice fiscale son 16 caracteres alfanuméricos y solo los autónomos tienen partita IVA.
Porque exige 16 caracteres, que es el formato de las personas. El codice fiscale de una entidad son once dígitos. La validación debe aceptar las dos formas o ninguna empresa italiana podrá registrarse.
No, y es importante entender por qué: VIES comprueba si el número está activo para operaciones intracomunitarias, no si el dígito de control cuadra. Un número sintético nunca aparecerá en VIES. Son dos validaciones distintas y conviene probar las dos.
El código de la oficina provincial que dio de alta al contribuyente. Los siete primeros identifican al contribuyente y el último es el control.
Sigue probando