# BR-G-01 L’exportation hors UE nécessite sa propre ventilation de TVA

Si une ligne de facture (BG-25), une remise au niveau du document (BG-20) ou des frais au niveau du document (BG-21) utilise le code de catégorie de TVA (BT-151, BT-95 ou BT-102) « Exportation hors UE » (G), la ventilation de TVA (BG-23) doit contenir exactement un code de catégorie de TVA (BT-118) égal à « Exportation hors UE ».

## Description du problème

> **ERREUR**: Règle EN 16931 sur la catégorie de TVA

## Contexte et importance

Cette règle EN 16931 concerne les exportations de biens hors de l’UE (catégorie G). Les exportations sont exonérées de TVA, mais leurs montants doivent être récapitulés dans une ventilation G unique. N’utilisez pas G pour une livraison vers un autre État membre : elle relève de la catégorie K. En pratique, l’erreur survient quand des lignes G sont récapitulées dans une ventilation E ou Z, ou réparties sur plusieurs ventilations G.

## Solution

Ajoutez exactement un cac:TaxSubtotal (BG-23) dont l’ID TaxCategory est G pour récapituler tous les montants d’exportation hors UE ; ne le répartissez pas sur plusieurs ventilations G.

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-G-01)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-G-01)

## Exemples valides

- Une BG-23 avec BT-118 = G couvrant les lignes d’exportation d’un vendeur DE vers la Suisse (CH)

## Exemples invalides

- Les lignes portent la catégorie G mais aucune BG-23 avec BT-118 = G n’existe, ou deux ventilations G distinctes sont émises

## Exemples de code

### XML valide
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>G</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

### XML invalide
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
</cac:TaxTotal>
```

## Champs concernés

- [BT-118 Code de catégorie de TVA de la ventilation](/resources/xrechnung/bt-118-vat-category-code)
- [BT-151 Code de catégorie de TVA de l’article facturé](/resources/xrechnung/bt-151-invoice-line-vat-category-code)
- [BG-23 Ventilation de TVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)

## Règles associées

- [BR-G-08](/resources/kosit-validator-errors/br-g-08-export-taxable-amount-sum)
- [BR-G-10](/resources/kosit-validator-errors/br-g-10-export-exemption-reason-required)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-vat-breakdown-required)

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
