Aller au contenu

Ironfang Finance - Référence des règles

BR-E-01 : Utiliser une seule ventilation exonérée pour tout le contenu exonéré

Lorsqu'une ligne, une remise ou des frais au niveau du document sont exonérés, la ventilation de la TVA doit avoir exactement une entrée de catégorie E : ni aucune, ni une par motif.

EN 16931Erreur : le document n'est pas valideTVA

Sur cette page

La réponse courte

BR-E-01 échoue lorsque la catégorie E apparaît sur une ligne, une remise au niveau du document ou des frais au niveau du document, et que cac:TaxTotal ne contient pas exactement un cac:TaxSubtotal dont le cac:TaxCategory/cbc:ID vaut E. Émettez une seule ventilation exonérée qui couvre tout le contenu exonéré, en l'ajoutant si elle manque et en la fusionnant si elle est scindée.

Des motifs d'exonération différents ne justifient pas des ventilations distinctes. La ventilation est regroupée par catégorie et par taux, la catégorie exonérée n'a que le taux 0, et le document n'a donc de place que pour une ventilation exonérée avec un seul motif.

Ce que la règle vérifie

La règle cherche d'abord du contenu exonéré : tout cac:ClassifiedTaxCategory ou cac:TaxCategory du document avec un cbc:ID à E sous le régime VAT. S'il y en a, elle compte les éléments cac:TaxCategory exonérés dans les cac:TaxSubtotal sous le cac:TaxTotal racine, et ce nombre doit être exactement 1.

Aucune ventilation fait échouer la règle, et plus d'une aussi. Lors d'un essai, une facture mixte avec une ligne exonérée et sans ventilation exonérée a signalé cette règle seule, tout comme une facture dont le seul élément exonéré était des frais au niveau du document.

Des motifs identiques ne changent rien. Lors d'un essai, reproduire la scission enregistrée avec le même texte de motif dans les deux moitiés a donné les trois mêmes constats.

Comme la catégorie de la ventilation elle-même compte comme contenu exonéré, la règle ne détecte pas une ventilation exonérée sans rien d'exonéré derrière elle. Lors d'un essai, une ventilation E de 0.00 ajoutée à une facture ne comportant que des lignes au taux normal a laissé le document valide.

Empiler les motifs dans l'unique ventilation n'est pas une issue non plus. Lors d'un essai, deux éléments cbc:TaxExemptionReason dans une même ventilation exonérée ont été rejetés par UBL-SR-32.

TermeSignificationÉlément UBL
BG-23Ventilation de la TVAcac:TaxTotal/cac:TaxSubtotal
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
BT-151Code de catégorie de TVA de l'article facturécac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID in a credit note)
BT-95Code de catégorie de TVA de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID
BT-102Code de catégorie de TVA des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID

Comment une intégration en arrive là

Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :

  • La ventilation est regroupée par code fiscal interne au lieu de la catégorie et du taux, et deux codes fiscaux exonérés produisent deux entrées E.
  • Le motif d'exonération fait partie de la clé de regroupement, si bien que chaque motif distinct obtient sa propre ventilation.
  • Les ventilations ne sont émises que là où une taxe est facturée, donc rien n'apparaît pour les montants exonérés.
  • Des frais exonérés au niveau du document sont ajoutés après que la ventilation a été construite à partir des lignes.

Comment corriger le document

  1. Rassemblez les éléments exonérés : les lignes par cac:Item/cac:ClassifiedTaxCategory/cbc:ID, et les éléments cac:AllowanceCharge au niveau racine par cac:TaxCategory/cbc:ID.
  2. Émettez un cac:TaxSubtotal pour la catégorie E, avec un cbc:TaxableAmount égal aux lignes exonérées plus les frais exonérés moins les remises exonérées, un cbc:TaxAmount de 0.00 et un cbc:Percent de 0.
  3. Donnez-lui un seul motif d'exonération, sous forme de texte, de code VATEX, ou des deux. Si les livraisons exonérées reposent sur des fondements différents, reprenez de votre détermination fiscale une formulation qui les couvre tous ; si chaque fondement doit être indiqué séparément, ces livraisons nécessitent des factures distinctes.
  4. Là où la ventilation était scindée, supprimez les entrées E en trop plutôt que de les compléter. Le total de TVA reste le même, puisque chacune portait 0.00.

Valider votre facture corrigée

Avant et après

Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.

Fragment de la facture en échec : l'unique ligne exonérée de 25.00 est répartie sur deux ventilations exonérées

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">15.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>E</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cbc:TaxExemptionReason>Exempt from VAT</cbc:TaxExemptionReason>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">10.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>E</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cbc:TaxExemptionReason>Exempt financial service</cbc:TaxExemptionReason>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

<!-- the only line: LineExtensionAmount 25.00, category E at 0 -->

Fragment de la facture corrigée : une seule ventilation exonérée de 25.00 avec un seul motif

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>E</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cbc:TaxExemptionReason>Exempt from VAT</cbc:TaxExemptionReason>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

La facture en échec a deux ventilations exonérées, 15.00 avec Exempt from VAT et 10.00 avec Exempt financial service ; la facture corrigée a une seule ventilation de 25.00. Le document en échec signale aussi BR-E-08 deux fois, une fois par ventilation exonérée, car cette règle compare chaque base d'imposition exonérée à l'ensemble des lignes exonérées, soit 25.00, et ni 15.00 ni 10.00 ne correspond. Fusionner les deux lève les trois constats.

Ce que le validateur a signalé

Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.

Où la règle s'applique

  • S'applique aux documents UBL Invoice et CreditNote. Lors d'un essai, un avoir exonéré scindé de la même façon a signalé cette règle et deux fois BR-E-08.
  • Signalée par l'étape EN 16931 comme un seul constat de gravité fatal à la racine du document.
  • Seule la catégorie E sous le régime VAT compte. Le contenu au taux zéro a la règle équivalente BR-Z-01, tandis que le contenu au taux normal peut avoir une ventilation par taux selon BR-S-01.
  • L'unique ventilation exonérée doit encore porter un motif selon BR-E-10, correspondre au contenu exonéré selon BR-E-08 et n'indiquer aucune taxe selon BR-E-09.

Portée et source

Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.

La définition officielle de BR-E-01 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.

Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.