Verifica una partita IVA
Questo strumento controlla il formato di una partita IVA europea: verifica che abbia un prefisso paese UE riconosciuto e una struttura di caratteri coerente.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Ti dice se il numero è ben formato, così scarti gli errori di battitura prima di fatturare o registrare un fornitore intracomunitario. Controlla la forma; non conferma che il numero sia attivo in un registro — quella verifica reale si fa a parte, sul VIES, il sistema ufficiale della UE.
Perché controllare il formato
Prima di emettere una fattura senza IVA verso un cliente di un altro paese UE, o di registrare un nuovo fornitore estero, ti serve una partita IVA corretta. Un numero battuto male — una cifra in meno, un prefisso sbagliato — fa saltare la fattura al primo controllo. Questo strumento verifica la forma del numero: prefisso paese riconosciuto e struttura di caratteri coerente. È la prima barriera, che scova il refuso prima ancora della verifica reale sul VIES.
Cosa restituisce il controllo
Incolli il numero con il prefisso del paese — per esempio IT01234567890 — ed esegui. Il risultato dice se il numero è ben formato in questo momento e riporta il paese letto dal prefisso. Non dice se il numero è davvero attivo né la ragione sociale associata: un numero perfettamente formato può non appartenere a nessuno. Confermare che sia registrato si fa sul VIES, il sistema ufficiale della Commissione UE che interroga gli archivi nazionali — un passaggio a parte che questo controllo non esegue.
Partita IVA italiana ed estera
Per l’Italia il formato è IT seguito da undici cifre. Lo strumento riconosce anche i formati degli altri paesi UE — tedesco, francese, spagnolo e così via — e ne verifica la forma con la stessa richiesta, senza bisogno di indicare il paese a parte. Utile prima di una fornitura intracomunitaria, per scartare subito un numero scritto male e sapere quali mandare poi al VIES per la conferma reale.
Formato, non registro: la differenza
Un controllo di formato risponde a una domanda precisa: “questo numero è scritto come una partita IVA valida?”. È immediato ed economico, e gira su ogni riga senza dipendere dalla disponibilità di un sistema esterno. Non risponde invece a “questa partita IVA esiste ed è attiva?”: a quello risponde il VIES, che a volte è lento o irraggiungibile per certi paesi. Usa questo controllo come primo filtro e il VIES per la conferma definitiva.
Casi d'uso
Fatturare senza IVA a un cliente UE
Rossi & Figli S.r.l. deve emettere una fattura a un cliente spagnolo senza applicare l’IVA italiana. Prima verifica che la partita IVA spagnola sia scritta nel formato corretto, scartando refusi, prima di procedere con la fattura e la conferma sul VIES.
Registrare un nuovo fornitore estero
Lo Studio Commercialista Bianchi riceve i dati di un fornitore tedesco da inserire in anagrafica. Un controllo di formato conferma che il numero è ben scritto prima di registrarlo, poi lo si verifica sul VIES.
Prima di firmare un contratto
Prima di firmare un accordo di fornitura con un’azienda francese, confermi che la partita IVA indicata è almeno scritta nel formato corretto: un refuso non ti fa firmare con un dato sbagliato, e la conferma dell’attività reale la fai poi sul VIES.
Domande frequenti
È gratis o si paga?
Si paga a consumo: $0.002 a verifica, senza abbonamento. Controlla il formato del numero — prefisso e struttura — ed è offerto come funzione a pagamento, come le altre del KIT.
Conferma anche la ragione sociale?
No. Questo controllo verifica solo il formato del numero: non restituisce ragione sociale né indirizzo. Quei dati arrivano dal VIES, in un controllo a parte, e solo per i paesi che li pubblicano.
Funziona anche per la partita IVA italiana?
Sì, verifica il formato italiano e quello di tutti gli Stati membri UE. Per confermare che il numero è davvero attivo serve il VIES, in un passaggio separato.
Che differenza c’è tra questo controllo e il VIES?
Questo verifica la forma del numero, subito e a basso costo, su ogni riga. Il VIES conferma che il numero è davvero registrato e attivo, interrogando gli archivi nazionali. Il primo scova i refusi, il secondo conferma l’esistenza.
Il numero che verifico resta privato?
La richiesta serve solo a controllare il formato al momento e non viene conservata sui nostri archivi.
Vale anche per operazioni extra-UE?
No, riconosce i formati delle partite IVA degli Stati membri dell’Unione. Per un fornitore extra-UE serve un altro tipo di verifica fiscale, gestita dal paese di origine.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/verify/vat \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vat":"ESB12345678"}'const res = await fetch("https://api.kit.forhosting.com/verify/vat", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vat": "ESB12345678"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/vat",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vat": "ESB12345678"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/vat", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vat":"ESB12345678"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vat":"ESB12345678"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/vat", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"vat": "ESB12345678"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.vat",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |