Technique

Erreur n° TVA intracommunautaire Factur-X : format par pays — vérification VIES

2 min de lecture Par FacturX API

Le numéro de TVA intracommunautaire suit un format propre à chaque pays UE. En cas de doute, VIES reste la référence opérationnelle.

En bref

  • Le numéro de TVA intracommunautaire (SpecifiedTaxRegistration/ID) suit un format propre à chaque pays.
  • France : FR + clé informatique 2 chiffres + SIREN 9 chiffres (ex. FR12345678901).
  • Allemagne : DE + 9 chiffres. Belgique : BE + 10 chiffres (historiquement commencent par 0, mais des numéros commençant par 1 existent aussi).
  • L’attribut schemeID="VA" est obligatoire pour identifier le numéro comme « VAT ID ».
  • En cas de doute, la vérification VIES (Commission européenne) reste la référence opérationnelle.

Ce que l’erreur veut dire

Le numéro de TVA intracommunautaire est exposé via SpecifiedTaxRegistration/ID avec l’attribut schemeID="VA". Chaque pays UE a un format propre : préfixe ISO pays sur 2 lettres, suivi du numéro national selon les règles du pays (longueur, lettres autorisées, clé de contrôle). Sans préfixe pays ou avec un format invalide, le validateur rejette le champ. La vérification de validité opérationnelle se fait via VIES (système européen de validation TVA).

Quand cette erreur arrive

Survient quand : (a) ERP exporte le numéro sans le préfixe pays (ex. 12345678901 au lieu de FR12345678901) ; (b) format inversé (ex. SIREN avant la clé) ; (c) schemeID manquant ou faux ; (d) numéro de TVA confondu avec SIREN (FR : SIREN = 9 chiffres, n° TVA = 13 caractères).

Exemple XML qui déclenche l’erreur

<ram:SellerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="FR">12345678901</ram:ID>  <!-- ❌ schemeID doit être "VA" + préfixe pays manquant -->
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>

Exemple XML corrigé

<ram:SellerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">FR12345678901</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>

Correction manuelle

Toujours utiliser schemeID="VA". Préfixer la valeur par le code pays ISO 3166-1 alpha-2 (FR, DE, BE, IT, ES, NL, LU, PT…). Pour la France, format courant = FR + 2 chiffres clé + 9 chiffres SIREN (13 caractères au total). Pour la Belgique, format = BE + 10 chiffres. En cas de doute sur la validité d’un numéro, la vérification VIES reste la référence opérationnelle.

Réparable automatiquement par /repair ?

Oui, sous conditions — l’endpoint /repair corrige automatiquement cette erreur quand les données structurées sont récupérables. Dans les cas ambigus, une décision humaine reste nécessaire.

Et maintenant ?

Réparer mon Factur-X →

curl -X POST https://api.facturxapi.com/api/v1/repair \
  -H "Authorization: Bearer VOTRE_CLE" \
  -F "file=@facture.xml"

Voir aussi

#en16931 #schematron #factur-x #erreurs #validation