Technique

Catégorie TVA EN16931 : S, Z, E, AE, G, K — choisir le bon code UNTDID 5305

3 min de lecture Par FacturX API

Les catégories de TVA EN16931 ont chacune leurs règles. Pour autoliquidation (AE) : breakdown + taux 0 + ExemptionReasonCode VATEX-EU-AE. Table de décision.

En bref

  • Les principales catégories de TVA EN16931 (UNTDID 5305) : S, Z, E, AE, K, G, L, M, O.
  • S (Standard rated) : taux normal applicable. Z (Zero rated) : taux 0 % légal. E (Exempt) : opération exonérée.
  • AE (Reverse charge) : autoliquidation (BTP, intra-UE B2B services). K : livraison intra-UE biens. G : export hors UE.
  • Chaque catégorie a ses propres règles Schematron (BR-S-*, BR-Z-*, BR-AE-*, etc.) — choisir la bonne catégorie conditionne le bon sous-arbre.
  • Pour autoliquidation : AE + taux 0 + ExemptionReasonCode=VATEX-EU-AE (code aligné EN16931).

Ce que l’erreur veut dire

Les catégories de TVA EN16931 (UNTDID 5305) déterminent la sémantique fiscale de chaque ligne et conditionnent les règles Schematron. Les 7 codes les plus utilisés (S, Z, E, AE, K, G, O) couvrent la majorité des cas, mais les listes alignées Peppol peuvent contenir d’autres codes pour certains contextes territoriaux (L, M, etc.). Confondre deux catégories rend inapplicable la bonne grappe de règles — par exemple, Z déclenche les règles BR-Z-*, pas BR-AE-*.

Quand cette erreur arrive

Confusions classiques : (a) Z utilisé pour autoliquidation au lieu de AE ; (b) E utilisé pour autoliquidation au lieu de AE ; (c) S à 0 % utilisé au lieu de Z ; (d) export hors UE marqué Z au lieu de G ; (e) intra-UE B2B biens marqué S au lieu de K.

Exemple XML qui déclenche l’erreur (sous-traitance BTP en Z au lieu d’AE)

<ram:ApplicableTradeTax>
  <ram:CategoryCode>Z</ram:CategoryCode>  <!-- ❌ devrait être AE pour une autoliquidation -->
  <ram:RateApplicablePercent>0.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Exemple XML corrigé (autoliquidation AE + VATEX-EU-AE)

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>AE</ram:CategoryCode>
  <ram:RateApplicablePercent>0.00</ram:RateApplicablePercent>
  <ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode>
  <ram:ExemptionReason>Reverse charge</ram:ExemptionReason>
</ram:ApplicableTradeTax>

Correction manuelle

Choisir la catégorie selon le motif fiscal : autoliquidation BTP/intra-UE B2B services → AE ; export hors UE biens → G ; livraison intra-UE biens → K ; exonération article 261 CGI → E ; opération hors champ → O ; taux 0 légal → Z ; sinon → S. Pour une autoliquidation, la correction normative EN16931 porte sur la catégorie (AE), le taux 0, et la raison d’exonération via ExemptionReasonCode (code aligné VATEX-EU-AE). Une note lisible sur la facture (IncludedNote) peut être utile métier/fiscal mais ne remplace pas les données structurées.

Réparable automatiquement par /repair ?

Non — la correction est sémantique ou structurelle et nécessite une décision humaine (choix de catégorie TVA, URN de profil, etc.). Utilisez /validate pour confirmer après correction manuelle.

Et maintenant ?

Tester ma facture maintenant →

curl -X POST https://api.facturxapi.com/api/v1/validate \
  -H "Authorization: Bearer VOTRE_CLE" \
  -F "[email protected]"

Voir aussi

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