Guide d'intégration · France · Dernière mise à jour : juillet 2026

Vérifier un numéro de TVA par API — numéro de consultation VIES en automatique

Si votre logiciel comptable, votre boutique en ligne ou votre logiciel de facturation émet des factures B2B intracommunautaires exonérées, vous devez vérifier le numéro de TVA intracommunautaire de l'acheteur — et conserver la preuve de cette vérification. C'est précisément là que la plupart des intégrations laissent un trou.

Lors d'une interrogation qualifiée, le service VIES renvoie un numéro de consultation — une preuve officielle horodatée que l'administration fiscale accepte comme justificatif de l'exonération pour les livraisons intracommunautaires (art. 262 ter I CGI, art. 138 directive 2006/112/CE). Sans ce numéro, lors d'un contrôle, vous n'avez qu'une capture d'écran — pas un document reconnu.

Qu'est-ce qu'un numéro de consultation VIES ?

VIES (VAT Information Exchange System) est le système officiel de l'UE pour la validation des numéros de TVA. Lorsque vous interrogez un numéro de TVA en indiquant le vôtre (le « demandeur »), VIES génère un numéro de consultation au format WAPIAAAAW1234567.

Ce numéro documente :

La DGFiP reconnaît ce numéro comme preuve pour les livraisons intracommunautaires au titre de l'article 262 ter I du CGI.

Le problème : la plupart des API ne renvoient pas le numéro de consultation

Les API de vérification de TVA courantes — y compris de nombreuses intégrations dans les logiciels comptables répandus — interrogent VIES mais ne renvoient que true ou false. Le numéro de consultation est perdu.

Résultat : vous savez qu'un numéro de TVA était valide, mais vous ne pouvez pas le prouver. Lors d'un contrôle, cela ne suffit pas.

Vatnode : vérifier le numéro de TVA et obtenir le numéro de consultation en un seul appel

Vatnode renvoie à chaque requête le numéro de consultation complet — prêt à être enregistré dans votre base de données ou votre logiciel comptable :

cURL
curl -X POST https://vatnode.com/v1/validate \ -H "x-api-key: vnd-votre-cle" \ -H "Content-Type: application/json" \ -d '{"vat_number":"FR40303265045","requester_vat":"FR12345678901"}'
Réponse · JSON
{ "valid": true, "vatNumber": "FR40303265045", "countryCode": "FR", "consultationNumber": "WAPIAAAAW1234567", ← la preuve "name": "...", "address": "...", "requestDate": "2026-07-06+02:00", "timestamp": "2026-07-06T10:14:02.000Z" }

Enregistrez consultationNumber et timestamp directement dans l'enregistrement de la facture — c'est votre preuve conforme.

VIES est souvent indisponible — que se passe-t-il ?

VIES connaît de fréquentes pannes par pays. Lorsque la base de l'État membre concerné est hors ligne, Vatnode renvoie une erreur claire et réessayable au lieu d'un valid:false trompeur — pour que vous ne rejetiez pas par erreur un vrai client :

JSON
{ "error": "vies_unavailable", "retryable": true }

Implémentez un court réessai avec backoff. L'état en temps réel des 27 pays est sur la page de statut VIES.

Cas d'usage : logiciel de facturation

JavaScript (Node.js)
// À la création d'une facture B2B pour un client de l'UE async function validerEtEnregistrer(numeroTva, demandeur, factureId) { const res = await fetch('https://vatnode.com/v1/validate', { method: 'POST', headers: { 'x-api-key': 'vnd-votre-cle', 'Content-Type': 'application/json' }, body: JSON.stringify({ vat_number: numeroTva, requester_vat: demandeur }) }); const data = await res.json(); if (data.error) throw new Error(data.error); // p. ex. vies_unavailable → réessai if (!data.valid) throw new Error('Numéro de TVA invalide'); await db.factures.update(factureId, { tva_numero_consultation: data.consultationNumber, tva_verifie_le: data.timestamp }); }

Cadre juridique : article 262 ter du CGI

Aux termes de l'article 262 ter I du CGI, une livraison intracommunautaire est exonérée lorsque l'acquéreur est assujetti et communique un numéro de TVA valide dans un autre État membre. En tant que fournisseur, vous devez pouvoir prouver que vous avez vérifié le numéro de TVA de l'acquéreur au moment de la livraison.

L'administration reconnaît le numéro de consultation VIES comme justificatif approprié. Une simple mention « valide » sans numéro de consultation n'est pas une preuve suffisante.

Couverture

Vatnode couvre les 27 États membres de l'UE via VIES — avec capture du numéro de consultation et enrichissement (raison sociale + adresse, lorsque VIES les fournit). En plus, Vatnode valide les pays hors VIES via leurs registres nationaux officiels — Norvège déjà en ligne, Suisse à venir. La liste complète figure dans la documentation de l'API.

Essai gratuit

100 vérifications par mois gratuites — sans carte bancaire. Tarif fondateur garanti pour les premiers partenaires.

Pas de spam. Tarifs garantis pour les premiers utilisateurs.

Ressources