Aller au contenu

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

BR-G-09 : Mettre à zéro le montant de taxe de la ventilation de TVA d'exportation

Les biens exportés hors de l'UE sont facturés sans TVA : une ventilation de la TVA de catégorie G doit donc afficher un montant de taxe d'exactement 0.

EN 16931Erreur : le document n'est pas valideTVATotaux

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.

TermeSignificationÉlément UBL
BT-117Montant de la TVA de la catégoriecac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
BT-110Montant total de la TVA de la facturecac: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

  1. Confirmez que les biens quittent l'UE et que la livraison est une exportation en G.
  2. Mettez cbc:TaxAmount à 0.00 dans le cac:TaxSubtotal G, et assurez-vous que son cbc:Percent vaut 0.
  3. Recalculez cac:TaxTotal/cbc:TaxAmount, cbc:TaxInclusiveAmount et cbc:PayableAmount. Dans l'exemple enregistré, ils reviennent à 0.00, 29.00 et 29.00.
  4. 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é

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é cette règle et BR-CO-17.
  • Signalée par l'étape EN 16931 comme un constat fatal sur le cac:TaxCategory de la ventilation d'exportation.
  • La ventilation intracommunautaire de catégorie K a la même exigence avec BR-IC-09, et la ventilation exonérée avec BR-E-09.

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.