Aller au contenu

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

BR-G-08 : Faire correspondre la base imposable de l'exportation à ses lignes, frais et remises

La base imposable de la ventilation G doit être égale aux montants nets des lignes d'exportation plus les frais G moins les remises G, sans aucune tolérance.

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

Sur cette page

La réponse courte

BR-G-08 échoue lorsque le cbc:TaxableAmount de la ventilation G diffère du contenu net exporté : le cbc:LineExtensionAmount de chaque ligne dont l'article est en G, plus les frais racine en G, moins les remises racine en G. La ventilation enregistrée indique 25.00, la ligne seule, et oublie la remise sur quantité de 2.50 ; le bon montant est 22.50.

Comme une exportation ne porte aucune taxe, une base imposable fausse laisse intacts tous les totaux de TVA, et cette règle peut être le seul constat qui la révèle.

Ce que la règle vérifie

Pour chaque cac:TaxCategory avec un cbc:ID à G sous le régime VAT dans le cac:TaxTotal racine, la règle compare la base imposable de la ventilation à une somme calculée sur tout le document, et signale sur cette catégorie.

La remise doit être retranchée, ni ignorée ni ajoutée. Lors d'un essai, 25.00 et 27.50 ont tous deux échoué face aux 22.50 attendus, et des frais de transport oubliés ont échoué de la même façon, 25.00 face à 29.00 dans l'exemple avec frais.

La comparaison est exacte. Lors d'un essai, 22.51 a échoué, tandis que 22.5 a passé car c'est le même nombre.

Seules les lignes et les remises et frais racine en G entrent dans la somme. C'est la catégorie de chaque article ou remise qui décide ; les taux ne sont pas lus.

Chaque ventilation G est comparée à la somme complète : deux copies du bon montant passent donc toutes les deux ici, ce qui laisse un doublon à BR-G-01.

TermeSignificationÉlément UBL
BT-116Base imposable de la catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
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 :

  • La ventilation est construite à partir des totaux de ligne avant application des remises au niveau du document.
  • La remise est ajoutée au lieu d'être retranchée, car son montant est stocké comme un nombre positif.
  • Des frais de transport d'exportation sont facturés en G, mais la construction de la ventilation ne lit que les lignes.
  • La base imposable est copiée depuis cbc:LineExtensionAmount dans cac:LegalMonetaryTotal, qui n'inclut jamais les remises ni les frais au niveau du document.

Comment corriger le document

  1. Additionnez le cbc:LineExtensionAmount de chaque ligne dont le cac:Item/cac:ClassifiedTaxCategory/cbc:ID vaut G, en conservant les signes.
  2. Ajoutez le cbc:Amount des éléments cac:AllowanceCharge racine en G dont le cbc:ChargeIndicator vaut true, et retranchez ceux à false.
  3. Écrivez le résultat, avec deux décimales, comme cbc:TaxableAmount de l'unique cac:TaxSubtotal G, en laissant son montant de taxe à 0.00.
  4. Vérifiez que cbc:TaxExclusiveAmount dans cac:LegalMonetaryTotal concorde. Dans l'exemple enregistré, il vaut déjà 22.50, et BR-CO-13 le compare aux lignes, remises et frais.

L'exemple enregistré comporte une ligne d'exportation et une remise sur quantité au niveau du document, toutes deux en catégorie G.

Montant net de la ligne d'exportation : 25.00
Frais au niveau du document en G : 0.00
Remise au niveau du document en G : - 2.50
Base imposable d'exportation attendue : 25.00 + 0.00 - 2.50 = 22.50
Envoyé : 25.00, sans la remise, 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 : 25.00 de base imposable en G, alors que la remise G de 2.50 ramène le contenu exporté à 22.50

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <!-- reason code 95 and reason omitted from this fragment -->
  <cbc:Amount currencyID="GBP">2.50</cbc:Amount>
  <!-- tax category G at 0 omitted from this fragment -->
</cac:AllowanceCharge>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>G</cbc:ID>
      <!-- rate 0, reason VATEX-EU-G, reason text and tax scheme omitted from this fragment -->
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

<!-- export line in G: LineExtensionAmount 25.00 -->

Fragment de la facture corrigée : 25.00 - 2.50 = 22.50

<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="GBP">22.50</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>G</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cbc:TaxExemptionReasonCode>VATEX-EU-G</cbc:TaxExemptionReasonCode>
    <cbc:TaxExemptionReason>Export outside the EU</cbc:TaxExemptionReason>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

Seul le cbc:TaxableAmount de l'exportation diffère : 25.00 dans la facture en échec, 22.50 dans la facture corrigée. Le document en échec ne signale que BR-G-08. Son cac:LegalMonetaryTotal déduit déjà la remise, donc les règles de totaux sont satisfaites, et le montant de taxe de la ventilation vaut 0.00 dans les deux.

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, en additionnant les cac:CreditNoteLine dans un avoir. Lors d'un essai, la facture en échec transformée en avoir a signalé cette règle sur la même ventilation.
  • Les ventilations exonérées et intracommunautaires ont le même contrôle exact avec BR-E-08 et BR-IC-08. La règle du taux normal, BR-S-08, regroupe par taux et tolère un écart inférieur à 1.00.
  • La ventilation d'exportation doit aussi exister une seule fois (BR-G-01), ne porter aucune taxe (BR-G-09) et indiquer son motif (BR-G-10).

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