Technique

Erreur BR-AE-05 EN16931 : autoliquidation — taux 0 obligatoire par ligne

2 min de lecture Par FacturX API

BR-AE-05 impose taux=0 sur une ligne en catégorie AE. Différent de BR-AE-01 (présence d'un VAT breakdown AE) et BR-AE-10 (raison d'exonération, VATEX-EU-AE).

En bref

  • BR-AE-05 impose qu’une ligne, remise ou charge en catégorie AE (Reverse charge) ait un taux de TVA à 0.00.
  • BR-AE-01 est DIFFÉRENT : il exige la présence d’exactement un VAT breakdown AE au niveau facture.
  • BR-AE-10 est encore DIFFÉRENT : il exige qu’un breakdown AE ait une raison d’exonération (texte ou code VATEX-EU-AE).
  • Cas d’usage : sous-traitance BTP (FR article 283-2 nonies), prestations de services B2B intra-UE (article 196 directive TVA).
  • Réparable automatiquement par /repair pour la partie taux ligne.

Ce que l’erreur veut dire

BR-AE-05 (Schematron EN16931, aligné Peppol) impose qu’une ligne, remise documentaire ou charge documentaire en catégorie de TVA AE (Reverse charge, UNTDID 5305) ait son RateApplicablePercent positionné à 0.00. Cette règle est distincte de BR-AE-01 (présence du VAT breakdown) et de BR-AE-10 (raison d’exonération).

Quand cette erreur arrive

Apparaît quand : (a) ligne BTP sous-traitance générée avec un taux par défaut (20 %) non neutralisé ; (b) prestation services intra-UE B2B où le taux vendeur (20 %) est conservé par erreur ; (c) migration ERP où le mapping autoliquidation n’a pas été revu ; (d) confusion entre AE et E (exonération) ou Z (taux 0 légal) — AE implique taux 0 forcé.

Exemple XML qui déclenche l’erreur

<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>AE</ram:CategoryCode>
  <ram:RateApplicablePercent>20.00</ram:RateApplicablePercent>  <!-- ❌ doit être 0.00 -->
</ram:ApplicableTradeTax>

Exemple XML corrigé (avec raison d’exonération BR-AE-10)

<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

Positionner <ram:RateApplicablePercent>0.00</ram:RateApplicablePercent> sur toute ligne/remise/charge en catégorie AE. Compléter le VAT breakdown avec un code d’exonération aligné (VATEX-EU-AE) via ExemptionReasonCode — c’est BR-AE-10 qui l’exige. Une mention textuelle sur le document (« Autoliquidation — Article 283-2 nonies du CGI ») peut être utile côté métier/fiscal français, mais elle ne remplace PAS les données structurées attendues par EN16931.

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 "[email protected]"

Voir aussi

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