Aller au contenu

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

BR-AE-08 : Recalculer la base imposable en autoliquidation à partir des lignes, frais et remises AE

La base imposable de la ventilation AE doit être exactement les montants nets des lignes en autoliquidation, plus les frais AE, moins les remises AE au niveau du document.

EN 16931Erreur : le document n'est pas valideTVATotaux

Sur cette page

La réponse courte

BR-AE-08 échoue lorsque le cbc:TaxableAmount à côté de la catégorie de taxe AE n'est pas égal au contenu en autoliquidation du document : les montants nets des lignes de catégorie AE, plus les frais AE à la racine, moins les remises AE à la racine. Dans l'exemple enregistré, cela donne 25.00 + 5.00 - 1.50 = 28.50, et la facture a envoyé 31.50.

Les 31.50 viennent de l'ajout de la remise au lieu de sa soustraction. Recalculez le montant à partir du document, écrivez-le dans la ventilation, et laissez le montant de TVA en autoliquidation à 0.00.

Ce que la règle vérifie

La règle s'exécute sur chaque cac:TaxCategory dont le cbc:ID vaut AE sous le schéma VAT dans le cac:TaxTotal racine, lit le cbc:TaxableAmount de son cac:TaxSubtotal, et signale le constat sur la catégorie de taxe.

Rien n'est réparti par taux. Les lignes ainsi que les remises et frais à la racine comptent dès que leur catégorie est AE, quel que soit leur cbc:Percent : lors d'un essai, la remise en autoliquidation à 20 a laissé passer 28.50 ici et n'a été signalée que par BR-AE-06.

Les remises et frais placés dans une ligne font déjà partie du cbc:LineExtensionAmount de cette ligne, si bien que seuls les éléments cac:AllowanceCharge placés directement sous la racine du document entrent dans la somme en autoliquidation.

Il n'y a aucune tolérance, contrairement à la marge inférieure à 1.00 de BR-S-08. Lors d'un essai, 28.51 a échoué à cette règle. Écrire 28.500 l'a satisfaite, puisque les valeurs sont comparées comme des nombres, mais trois décimales ont enfreint BR-DEC-19 et UBL-DT-01.

Chaque ventilation en autoliquidation est comparée à la somme complète. Lors d'un essai, répartir les 28.50 en ventilations de 25.00 et 3.50 a signalé cette règle sur les deux, avec BR-AE-01, qui n'autorise qu'une seule ventilation en autoliquidation.

TermeSignificationÉlément UBL
BT-116Base imposable de la catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
BT-131Montant net de ligne de facturecac:InvoiceLine/cbc:LineExtensionAmount (cac:CreditNoteLine/cbc:LineExtensionAmount in a credit note)
BT-99Montant des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cbc:Amount
BT-92Montant de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cbc:Amount

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 :

  • Les remises sont ajoutées à la base imposable avec le même signe que les frais, comme dans l'exemple enregistré.
  • La base imposable est copiée de la somme des montants nets des lignes, avant l'application des remises et frais au niveau du document.
  • Des frais ou une remise en autoliquidation prennent dans la valeur par défaut du document une catégorie au taux normal, alors que leur montant reste compté dans la ventilation AE.
  • Le contenu en autoliquidation est résumé dans une ventilation par source, une pour les lignes et une pour les frais, si bien qu'aucune ne contient le montant complet.
  • La ventilation est construite à partir de totaux de commande enregistrés et n'est pas rafraîchie après la modification d'une ligne ou de frais sur la facture.

Comment corriger le document

  1. Additionnez cbc:LineExtensionAmount pour chaque ligne dont le cac:Item/cac:ClassifiedTaxCategory/cbc:ID vaut AE, en conservant le signe de toute ligne négative.
  2. Ajoutez le cbc:Amount de chaque cac:AllowanceCharge à la racine de catégorie AE dont le cbc:ChargeIndicator vaut true, et soustrayez chacun de ceux à false.
  3. Écrivez le résultat, avec deux décimales, comme cbc:TaxableAmount de l'unique cac:TaxSubtotal AE. Son cbc:TaxAmount reste à 0.00 selon BR-AE-09.
  4. Comparez le résultat avec cbc:TaxExclusiveAmount lorsque tout le document est en autoliquidation : les deux sont construits à partir des mêmes lignes, remises et frais, et dans l'exemple enregistré les deux devraient valoir 28.50.

L'exemple enregistré a une ligne en autoliquidation, une remise en autoliquidation et des frais d'intervention en autoliquidation, tous à 0 %.

Montant net de la ligne en autoliquidation : 25.00
Frais au niveau du document en AE : + 5.00
Remise au niveau du document en AE : - 1.50
Base imposable attendue : 25.00 + 5.00 - 1.50 = 28.50
Envoyé : 31.50, soit 25.00 + 5.00 + 1.50, donc la règle échoue

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 base imposable en autoliquidation de 31.50 à côté d'une remise de 1.50 et de frais de 5.00

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <!-- reason code and reason omitted from this fragment -->
  <cbc:Amount currencyID="GBP">1.50</cbc:Amount>
  <!-- tax category AE at 0 omitted from this fragment -->
</cac:AllowanceCharge>
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <!-- reason omitted from this fragment -->
  <cbc:Amount currencyID="GBP">5.00</cbc:Amount>
  <!-- tax category AE at 0 omitted from this fragment -->
</cac:AllowanceCharge>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">31.50</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>

<!-- reverse-charge line: LineExtensionAmount 25.00 -->

Fragment de la facture corrigée : 25.00 + 5.00 - 1.50 = 28.50

<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="GBP">28.50</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>

Seul le cbc:TaxableAmount en autoliquidation diffère : 31.50 dans la facture en échec, 28.50 dans la facture corrigée. Le document en échec ne signale que BR-AE-08 ; son montant de TVA de 0.00, son total hors TVA et son montant à payer de 28.50 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 aux documents UBL Invoice et CreditNote ; dans un avoir, les lignes additionnées sont des cac:CreditNoteLine. Lors d'un essai, la facture en échec convertie en avoir a signalé la même règle.
  • Signalée par l'étape EN 16931 comme constat fatal sur chaque ventilation en autoliquidation qui ne correspond pas.
  • Les ventilations exonérées, intracommunautaires et au taux normal ont leurs propres règles de base imposable : BR-E-08, BR-IC-08 et BR-S-08.
  • Les totaux sont contrôlés séparément : BR-CO-13 compare le total hors TVA avec le total des lignes, les remises et les frais.

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-08 (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.