En bref
- BR-Z-05 impose qu’une ligne, remise ou charge en catégorie
Z(Zero rated) aitRateApplicablePercent = 0.00. BR-Z-01est DIFFÉRENT : il exige la présence d’un VAT breakdownZquand une ligneZexiste.Zne doit PAS être confondu avec :E(exonération),AE(autoliquidation),G(export hors UE),K(livraison intra-UE).- Cas typiques de
Z: biens légalement taxés à 0 % (rare en France) — pas les exports hors UE (qui relèvent deG). - Réparable automatiquement par
/repair.
Ce que l’erreur veut dire
BR-Z-05 (Schematron EN16931, aligné Peppol) impose qu’une ligne, remise ou charge en catégorie Z (Zero rated) ait son RateApplicablePercent positionné à exactement 0.00. BR-Z-01 contrôle une autre règle — la présence d’un VAT breakdown de catégorie Z quand au moins une ligne Z existe. Attention : Z est réservé au cas du « taux 0 légal applicable » (situation rare en France). Les exports hors UE relèvent de G (Export outside the EU), pas de Z.
Quand cette erreur arrive
Apparaît surtout avec : (a) confusion entre Z, E, AE (les 3 ont 0 € de TVA mais des sémantiques juridiques différentes) ; (b) export ERP qui supprime le taux quand il est nul (croyant simplifier) ; (c) facture intra-UE B2B mal classée en Z au lieu de K (livraison intra-UE) ; (d) vente hors UE mal classée en Z au lieu de G.
Exemple XML qui déclenche l’erreur
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>Z</ram:CategoryCode>
<!-- ❌ pas de RateApplicablePercent -->
</ram:ApplicableTradeTax>
Exemple XML corrigé
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:CategoryCode>Z</ram:CategoryCode>
<ram:RateApplicablePercent>0.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Correction manuelle
Positionner <ram:RateApplicablePercent>0.00</ram:RateApplicablePercent> explicitement (pas d’omission). Avant tout, vérifier que Z est le BON code : pour autoliquidation utiliser AE, pour exonération utiliser E, pour export hors UE utiliser G, pour livraison intra-UE utiliser K. Z est strictement réservé au taux 0 légal applicable.
Réparable automatiquement par /repair ?
Oui — l’endpoint /repair corrige automatiquement cette erreur dans la majorité des cas.
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]"