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.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-116 | Base imposable de la catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount |
| BT-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-131 | Montant net de ligne de facture | cac:InvoiceLine/cbc:LineExtensionAmount (cac:CreditNoteLine/cbc:LineExtensionAmount in a credit note) |
| BT-99 | Montant des charges ou frais au niveau du document | cac:AllowanceCharge[cbc:ChargeIndicator = true]/cbc:Amount |
| BT-92 | Montant de la remise au niveau du document | cac: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
- Additionnez
cbc:LineExtensionAmountpour chaque ligne dont lecac:Item/cac:ClassifiedTaxCategory/cbc:IDvautAE, en conservant le signe de toute ligne négative. - Ajoutez le
cbc:Amountde chaquecac:AllowanceChargeà la racine de catégorieAEdont lecbc:ChargeIndicatorvauttrue, et soustrayez chacun de ceux àfalse. - Écrivez le résultat, avec deux décimales, comme
cbc:TaxableAmountde l'uniquecac:TaxSubtotalAE. Soncbc:TaxAmountreste à0.00selonBR-AE-09. - Comparez le résultat avec
cbc:TaxExclusiveAmountlorsque 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é
- La facture en erreur signale BR-AE-08. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
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
InvoiceetCreditNote; dans un avoir, les lignes additionnées sont descac: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-08etBR-S-08. - Les totaux sont contrôlés séparément :
BR-CO-13compare le total hors TVA avec le total des lignes, les remises et les frais.
Règles liées
- BR-AE-01 n'autorise qu'une seule ventilation en autoliquidation, celle à laquelle cette somme est comparée
- BR-AE-09 maintient à zéro le montant de TVA à côté de cette base imposable
- BR-E-08 construit la base imposable exonérée de la même façon, elle aussi sans tolérance
- BR-IC-08 est le contrôle de la base imposable de la ventilation intracommunautaire
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
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.

