Sur cette page
La réponse courte
BR-G-09 échoue lorsque le cbc:TaxAmount d'un cac:TaxSubtotal de catégorie G n'est pas nul. L'exportation enregistrée facture 5.80, soit 20 % des 29.00 de biens et de transport ; mettez le montant de taxe de la ventilation à 0.00 et retirez les 5.80 du total de TVA, du total TVA comprise et du montant à payer.
Une exportation en G est facturée hors taxe : le montant à payer correspond aux 29.00 de biens et de transport, et les éventuelles taxes à destination se règlent en dehors de cette facture.
Ce que la règle vérifie
Pour chaque cac:TaxCategory G sous le régime VAT dans le cac:TaxTotal racine, le cbc:TaxAmount voisin doit valoir zéro en tant que nombre ; le constat est placé sur la catégorie.
Modifier le taux de la ventilation n'aide pas. Lors d'un essai, les mêmes 5.80 avec un taux de ventilation lui aussi fixé à 20 n'ont signalé que cette règle : BR-CO-17 voyait alors 20 % cohérents de 29.00, et aucune des règles d'exportation ne lit le taux de la ventilation.
Les petits montants échouent aussi. Lors d'un essai, 0.30 de taxe dans la ventilation d'exportation, avec les totaux ajustés en conséquence, n'a signalé que cette règle.
Le total de TVA est comparé ailleurs. Lors d'un essai, 5.80 dans la ventilation d'exportation avec cac:TaxTotal/cbc:TaxAmount laissé à 0.00 a ajouté BR-CO-14 à cette règle et à BR-CO-17.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-117 | Montant de la TVA de la catégorie | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount |
| BT-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-110 | Montant total de la TVA de la facture | cac:TaxTotal/cbc:TaxAmount |
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 TVA est calculée pour chaque ventilation au taux national du vendeur, 20 dans l'exemple enregistré, quelle que soit la catégorie.
- L'adresse de livraison a été changée pour New York après le chiffrage de la commande avec TVA, et le montant de taxe enregistré a été conservé.
- Le statut d'exportation est déterminé après le calcul du prix, par exemple à la réception de la preuve d'exportation, et la facture garde la taxe calculée auparavant.
Comment corriger le document
- Confirmez que les biens quittent l'UE et que la livraison est une exportation en
G. - Mettez
cbc:TaxAmountà0.00dans lecac:TaxSubtotalG, et assurez-vous que soncbc:Percentvaut0. - Recalculez
cac:TaxTotal/cbc:TaxAmount,cbc:TaxInclusiveAmountetcbc:PayableAmount. Dans l'exemple enregistré, ils reviennent à 0.00, 29.00 et 29.00. - Si la TVA est due parce que les biens ne quittent pas réellement l'UE, la livraison n'est pas une exportation : utilisez la catégorie et le taux applicables sur la ligne, les frais de transport et la ventilation.
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 : 5.80 de TVA dans la ventilation d'exportation, reportés dans les totaux
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">5.80</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">29.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">5.80</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>G</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<!-- reason VATEX-EU-G, reason text and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">29.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">34.80</cbc:TaxInclusiveAmount>
<!-- allowance, charge of 4.00, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">34.80</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Fragment de la facture corrigée : aucune taxe dans la ventilation d'exportation, et des totaux sans elle
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">29.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>G</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<!-- reason VATEX-EU-G, reason text and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">29.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">29.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge of 4.00, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">29.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>La facture en échec met 5.80 de TVA dans la ventilation d'exportation et les reporte dans un total de TVA de 5.80 ainsi que dans un total TVA comprise et un montant à payer de 34.80 chacun ; la facture corrigée a 0.00, 29.00 et 29.00. Le document en échec signale aussi BR-CO-17 : sa ventilation d'exportation garde un taux de 0, et 5.80 ne s'arrondit pas à zéro.
Ce que le validateur a signalé
- La facture en erreur signale BR-CO-17 et BR-G-09. 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. Lors d'un essai, la facture en échec transformée en avoir a signalé cette règle etBR-CO-17. - Signalée par l'étape EN 16931 comme un constat fatal sur le
cac:TaxCategoryde la ventilation d'exportation. - La ventilation intracommunautaire de catégorie
Ka la même exigence avecBR-IC-09, et la ventilation exonérée avecBR-E-09.
Règles liées
- BR-IC-09 est la même exigence de taxe nulle pour une livraison intracommunautaire
- BR-CO-17 est signalé à côté de cette règle lorsque la ventilation d'exportation garde un taux de 0 et que son montant de taxe ne s'arrondit pas à zéro
- BR-G-08 contrôle la base imposable de la même ventilation d'exportation
- BR-CO-14 compare le total de TVA aux montants de taxe des ventilations que vous modifiez
- 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-G-09 (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.

