FlowKit

Vérifier automatiquement les numéros de TVA intracommunautaires (VIES) avec n8n

Publié le 22 août 2026 · 6 min de lecture

Facturer hors taxes un client professionnel dans un autre État membre suppose de pouvoir prouver, si l'administration fiscale le demande, que son numéro de TVA intracommunautaire était valide au moment de l'opération. En pratique, ce contrôle est souvent fait une fois, à la main, sur le site VIES de la Commission européenne — puis oublié pour les commandes suivantes du même client. Une étude du Parlement européen consacrée aux solutions contre la fraude de type « opérateur défaillant » (Missing Trader Intra-Community, ou carrousel de TVA) chiffre le manque à gagner lié à cette fraude à au moins 13 milliards d'euros par an dans l'Union (étude PE 731.902, 2022) — un rappel que la vérification des numéros n'est pas une formalité administrative accessoire mais un vrai filet de sécurité, aussi bien pour les finances publiques que pour l'entreprise qui facture. Ce guide montre comment automatiser cette vérification avec n8n : appel à l'API VIES, déclenchement au bon moment, conservation de la preuve, et revérification périodique.

Ce que VIES vérifie — et ce qu'il ne garantit pas

VIES (VAT Information Exchange System) est le système par lequel la Commission européenne interroge en temps réel les bases de données nationales de TVA des États membres. Il répond à une seule question : ce numéro de TVA existe-t-il et est-il actuellement valide dans le pays indiqué ? Selon les États membres, il peut aussi confirmer une correspondance approximative avec le nom et l'adresse déclarés.

Ce que VIES ne fait pas : il ne certifie ni la réalité de la transaction, ni la bonne foi du client, ni que le bien a effectivement quitté le territoire. Jernej Podlipnik, dans son étude sur la fraude de l'opérateur défaillant publiée dans la Croatian Yearbook of European Law and Policy, rappelle que les schémas de fraude carrousel reposent précisément sur des numéros de TVA valides à l'instant du contrôle, utilisés par des sociétés qui disparaissent ensuite sans reverser la taxe collectée (voir l'étude sur Google Scholar). Un numéro valide dans VIES est donc une condition nécessaire à l'exonération, une pièce du dossier de diligence raisonnable — pas une garantie absolue contre la fraude.

Interroger l'API VIES depuis n8n

La Commission européenne expose une API REST publique, sans clé ni authentification, à ec.europa.eu/taxation_customs/vies/rest-api. Deux formes suffisent pour la plupart des cas :

  • GET simple : .../ms/{code_pays}/vat/{numero} — pratique pour un contrôle ponctuel.
  • POST check-vat-number : corps JSON {"countryCode": "FR", "vatNumber": "..."}, qui renvoie isValid, name, address, requestDate et un requestIdentifier — cet identifiant de requête est justement la preuve horodatée à conserver en cas de contrôle.

Découper le numéro de TVA saisi

Un numéro de TVA intracommunautaire commence toujours par un code pays à deux lettres (FR, DE, BE…) suivi du numéro national. Un node Code sépare les deux avant l'appel :

const raw = $json.vatNumber.replace(/\s|\./g, "").toUpperCase();
return {
  countryCode: raw.slice(0, 2),
  vatNumber: raw.slice(2),
};

Voir notre guide des expressions et de la syntaxe n8n pour manipuler ce genre de chaînes proprement dans le node Code ou dans les expressions inline.

Appeler l'endpoint et brancher un node HTTP Request

Un node HTTP Request en méthode POST vers check-vat-number, avec le corps JSON construit à l'étape précédente, suffit — aucun credential à configurer. La réponse alimente ensuite un node IF qui route sur isValid : voir notre guide du routage conditionnel avec IF et Switch pour construire proprement les deux branches (numéro valide vs invalide ou erreur).

Gérer les indisponibilités du service

VIES interroge en temps réel des bases nationales dont la disponibilité varie ; des pannes ponctuelles et des fenêtres de maintenance sont documentées côté Commission européenne. Une erreur ne veut pas dire numéro invalide — elle veut dire service indisponible. Configurez le node HTTP Request avec plusieurs tentatives et un backoff, comme détaillé dans notre guide sur la gestion des retries et timeouts avec le node HTTP Request, et ne marquez un numéro comme définitivement invalide qu'après plusieurs échecs distincts de vérification, pas après une seule erreur réseau.

Déclencher la vérification au bon moment

Deux points d'entrée couvrent l'essentiel des cas :

  • À la création d'un client dans votre CRM ou tableur — un webhook depuis HubSpot ou Airtable déclenche le workflow dès qu'un nouveau numéro de TVA est saisi, avant même la première commande.
  • Avant l'émission de chaque facture hors taxes, en amont du pipeline décrit dans notre guide de génération de devis et factures PDF — utile si votre cycle de vente est long et que le statut du client a pu changer entre l'onboarding et la première facture. Ce contrôle s'intègre naturellement à la logique de réception et de journalisation détaillée dans notre article sur la facturation électronique obligatoire 2026.

Construire la preuve : une piste d'audit horodatée

La valeur de cette automatisation ne tient pas qu'au blocage d'un mauvais numéro au moment T : elle tient à la capacité de prouver, des mois plus tard, qu'un contrôle a bien eu lieu. Chaque appel à VIES doit écrire une ligne dans une table Supabase — client, numéro interrogé, résultat (isValid), requestIdentifier renvoyé par VIES, et horodatage serveur. Ce patron est exactement celui décrit dans notre guide sur la piste d'audit RGPD avec Supabase : rien ne repose sur une capture d'écran ou une mémoire humaine, tout est reconstituable depuis la base. Voir notre guide de connexion Supabase à n8n pour la mise en place du credential et de la table.

Revérifier périodiquement les clients existants

Un numéro validé à l'onboarding peut devenir invalide plus tard — radiation, changement de statut, ou fraude découverte après coup, exactement le schéma que documente l'étude de Podlipnik citée plus haut. Un second workflow, sur un Schedule Trigger mensuel, reparcourt la liste des clients B2B intracommunautaires actifs et relance l'appel VIES pour chacun, en ne loguant que les changements de statut. C'est le même principe que la revue périodique appliquée au registre des traitements RGPD : la vérification initiale a une date de péremption, seule sa relance automatisée la maintient à jour.

Ce que cette automatisation ne remplace pas

Ce workflow sécurise un point de contrôle précis — l'existence et la validité formelle du numéro de TVA au moment de la facturation — et en conserve la preuve. Il ne remplace ni l'appréciation de votre expert-comptable sur le régime de TVA applicable à une opération donnée, ni les justificatifs de transport et de réalité économique exigés en cas de contrôle approfondi, ni une analyse de risque fraude plus large sur vos clients à l'international. Son rôle est plus modeste et plus utile au quotidien : garantir qu'aucune facture hors taxes ne part sans ce contrôle de base, et que la preuve en existe.

En résumé

Vérifier un numéro de TVA intracommunautaire sur VIES prend trente secondes à la main — le problème n'est jamais la première vérification, c'est la centième oubliée trois mois plus tard. L'API REST publique de VIES, un node HTTP Request avec retries, un déclenchement à la création du client et avant chaque facture, une écriture horodatée en base pour la preuve, et une revérification périodique : ces cinq briques suffisent à transformer un contrôle ponctuel en garde-fou permanent. Les workflows du Pack Conformité & Audit (149 €) appliquent le même principe de traçabilité horodatée à vos questionnaires et audits internes — la piste d'audit VIES s'y intègre naturellement pour couvrir l'ensemble de vos obligations de facturation B2B intracommunautaire.

FAQ

Questions fréquentes

L'API VIES est-elle gratuite et sans clé d'API ?

Oui. L'API REST officielle de la Commission européenne (ec.europa.eu/taxation_customs/vies/rest-api) est accessible sans authentification ni clé, aussi bien pour l'endpoint GET simple que pour l'endpoint POST check-vat-number. C'est un service public gratuit, mais sans garantie de disponibilité contractuelle : prévoyez des retries.

Un numéro de TVA valide dans VIES suffit-il à sécuriser une facture sans TVA ?

C'est une condition nécessaire mais pas suffisante. L'exonération de TVA intracommunautaire suppose aussi que le bien ou service quitte réellement le territoire vers un autre État membre et que le client agisse en tant qu'assujetti pour cette opération. Conserver la preuve horodatée de la vérification VIES protège en cas de contrôle, mais ne remplace pas les autres justificatifs (bon de transport, contrat, etc.).

Pourquoi VIES renvoie-t-il parfois une erreur alors que le numéro est correct ?

VIES interroge en temps réel les bases nationales des États membres, dont la disponibilité varie : certaines connaissent des pannes ou des fenêtres de maintenance récurrentes. Une erreur ponctuelle ne signifie pas que le numéro est invalide — elle signifie que le service n'a pas pu répondre. D'où l'intérêt d'un mécanisme de retry avant de conclure à une invalidité.

Faut-il revérifier un numéro de TVA déjà validé une fois ?

Oui, périodiquement. Un numéro de TVA peut devenir invalide après la vérification initiale : radiation, changement de statut, fraude découverte a posteriori. Pour des clients récurrents, une revérification mensuelle ou trimestrielle automatisée est la pratique recommandée plutôt qu'un contrôle figé au moment de l'onboarding.

Bundle FlowKit Complet

269 €