Aller au contenu

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

BR-AE-01 : Ajouter exactement une ventilation en autoliquidation dès qu'un élément est en autoliquidation

Un document comportant une ligne, une remise ou des frais au niveau du document en autoliquidation exige une ventilation de la TVA de catégorie AE, même à côté d'autres catégories.

EN 16931Erreur : le document n'est pas valideTVA

Sur cette page

La réponse courte

BR-AE-01 échoue lorsque la catégorie AE est utilisée sur une ligne, une remise au niveau du document ou des frais au niveau du document et que le cac:TaxTotal racine ne contient pas exactement un cac:TaxSubtotal de catégorie AE. La facture enregistrée a une ligne au taux normal et une ligne en autoliquidation de 40.00, mais seulement une ventilation au taux normal ; ajoutez la ventilation AE avec une base imposable de 40.00, une taxe de 0.00, un taux de 0 et le motif d'autoliquidation.

Une ventilation qui n'ajoute rien au total de la TVA reste obligatoire. L'omettre retire aussi à l'acheteur le montant sur lequel il déclare lui-même la TVA.

Ce que la règle vérifie

La règle cherche AE sous le schéma VAT dans tout cac:ClassifiedTaxCategory ou cac:TaxCategory du document, puis compte les ventilations AE directement sous le cac:TaxTotal racine. Lors d'un essai, une facture au taux normal dont le seul élément en autoliquidation était des frais de transport de 4.00 a signalé cette règle seule tant qu'elle n'avait pas de ventilation AE.

Deux ventilations AE échouent aussi. Lors d'un essai, les 40.00 scindés en ventilations de 25.00 et 15.00 ont signalé cette règle et BR-AE-08 pour chaque moitié, et donner à la seconde moitié le code VATEX-EU-AE au lieu du texte n'a rien changé.

Le montant en autoliquidation doit figurer dans une ventilation de sa propre catégorie. Lors d'un essai, transformer la ventilation AE en une seconde ventilation S à 0 a signalé cette règle et BR-S-08.

Une ventilation AE superflue passe inaperçue, car sa propre catégorie compte comme contenu en autoliquidation. Lors d'un essai, une ventilation AE de 0.00 ajoutée à une facture ne comportant qu'une ligne au taux normal a passé toutes les étapes.

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 n'est construite que pour les catégories qui portent une taxe, si bien que le montant en autoliquidation, sans taxe, est ignoré.
  • Des lignes en autoliquidation sont mêlées à des lignes au taux normal sur une même facture, et l'export a été écrit pour une seule catégorie par document.
  • La ventilation est regroupée par taux uniquement, si bien que le montant en autoliquidation à 0 est fusionné avec d'autres montants à 0 ou perdu.
  • Une ventilation AE distincte est produite pour chaque ligne ou chaque motif d'autoliquidation.

Comment corriger le document

  1. Additionnez le contenu en autoliquidation : le cbc:LineExtensionAmount des lignes en AE, plus les frais au niveau du document en AE, moins les remises au niveau du document en AE. Dans l'exemple enregistré, ce sont les 40.00 de la ligne 2.
  2. Émettez un seul cac:TaxSubtotal avec ce montant comme cbc:TaxableAmount, un cbc:TaxAmount de 0.00, et un cac:TaxCategory avec cbc:ID à AE, cbc:Percent à 0 et le texte de motif Reverse charge ou le code VATEX-EU-AE.
  3. Placez-le dans le même cac:TaxTotal que les autres ventilations. Le total de la TVA ne change pas, 5.00 dans l'exemple enregistré, car la nouvelle ventilation ne porte aucune taxe.
  4. Si des ventilations AE ont été scindées, fusionnez-les en une seule dont la base imposable est leur somme.

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 : une ligne en autoliquidation de 40.00, et une ventilation de la TVA avec la seule entrée au taux normal

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

<!-- line 1 omitted from this fragment: Standard rated, 25.00 at 20 -->
<cac:InvoiceLine>
  <cbc:ID>2</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">40.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Example installation work</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>AE</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <!-- price omitted from this fragment -->
</cac:InvoiceLine>

Fragment de la facture corrigée : une ventilation en autoliquidation de 40.00 à côté de celle au taux normal

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">40.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>AE</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cbc:TaxExemptionReason>Reverse charge</cbc:TaxExemptionReason>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

La facture corrigée a un second cac:TaxSubtotal, avec une base imposable de 40.00 et une taxe de 0.00 en catégorie AE et le motif Reverse charge ; la facture en échec n'a que la ventilation au taux normal de 25.00. Le document en échec ne signale que BR-AE-01. La ventilation manquante ne portait aucune taxe, si bien que le total de la TVA de 5.00 correspond toujours aux ventilations, et les totaux de 65.00 hors TVA et de 70.00 TVA comprise sont identiques dans les deux documents.

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 à UBL Invoice et CreditNote. Lors d'un essai, l'avoir mixte sans sa ventilation AE a signalé la même règle.
  • Signalé par l'étape EN 16931 comme un seul constat fatal à la racine du document.
  • Le contenu exonéré et le contenu au taux zéro ont la même règle d'exactement une ventilation, BR-E-01 et BR-Z-01, tandis que BR-S-01 permet au contenu au taux normal une ventilation par taux.
  • Une fois la ventilation présente, BR-AE-08 contrôle sa base imposable, BR-AE-09 sa taxe nulle et BR-AE-10 son motif.

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-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.

La définition officielle de BR-AE-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.