Aller au contenu

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

BR-G-06 : Donner un taux de TVA de 0 à une remise sur une exportation

Une remise au niveau du document en catégorie G doit indiquer un taux de TVA, et ce taux doit valoir 0. Une remise sans taux échoue aussi.

EN 16931Erreur : le document n'est pas valideTVARemises et frais

Sur cette page

La réponse courte

BR-G-06 échoue lorsqu'un cac:AllowanceCharge avec un cbc:ChargeIndicator à false a un cac:TaxCategory en G dont le cbc:Percent est absent ou non nul. La remise sur quantité enregistrée de 2.50 indique la catégorie G mais aucun taux ; ajoutez <cbc:Percent>0</cbc:Percent> après le code de catégorie.

La remise réduit la base imposable de l'exportation : elle est donc au taux zéro, comme les lignes d'exportation qu'elle réduit.

Ce que la règle vérifie

La règle s'exécute sur chaque cac:TaxCategory de remise avec un cbc:ID à G sous le régime VAT, lit son cbc:Percent comme un nombre décimal et place le constat sur ce cac:TaxCategory.

Un taux absent compte comme non nul. Omettre cbc:Percent, comme le fait la facture en échec, a signalé cette règle et rien d'autre.

Un taux positif échoue de la même façon. Lors d'un essai, la remise à 20 n'a signalé que cette règle ; la ventilation G n'a pas été touchée, car sa base imposable se construit à partir des montants, pas des taux.

Les frais sont hors du champ de cette règle : un cac:AllowanceCharge avec un cbc:ChargeIndicator à true en G est contrôlé par BR-G-07.

TermeSignificationÉlément UBL
BT-95Code de catégorie de TVA de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID
BT-96Taux de TVA de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:Percent

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 catégorie fiscale de la remise est écrite avec le seul code de catégorie, car le mapping traite le taux comme facultatif lorsqu'aucune taxe n'est due.
  • La remise reprend le taux du code fiscal par défaut du vendeur, 20, tandis que sa catégorie est copiée des lignes d'exportation.
  • Les remises viennent d'un module promotionnel qui n'écrit cbc:Percent que s'il est supérieur à zéro.

Comment corriger le document

  1. Dans chaque remise racine de catégorie G, écrivez cbc:Percent avec la valeur 0 juste après cbc:ID et avant cac:TaxScheme.
  2. Lorsque le taux vient d'un code fiscal, assurez-vous que le code d'exportation donne 0 plutôt que rien.
  3. Si la remise concerne une partie de la facture au taux normal, donnez-lui plutôt S et ce taux, et déplacez son montant vers la ventilation au taux normal.

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 remise de 2.50 en catégorie G sans taux

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">2.50</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>G</cbc:ID>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Fragment de la facture corrigée : la même remise à un taux de 0

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">2.50</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>G</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

La facture corrigée a <cbc:Percent>0</cbc:Percent> dans la catégorie fiscale de la remise de 2.50 ; la facture en échec n'y a aucun taux et est identique par ailleurs. Le document en échec ne signale que BR-G-06.

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, la facture en échec transformée en avoir a signalé le même constat sur la même remise.
  • Signalée par l'étape EN 16931 comme un constat fatal.
  • Un document avec une remise G a aussi besoin d'un identifiant TVA du vendeur (BR-G-03), et la remise doit être déduite dans la base imposable de l'exportation (BR-G-08).

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