# BR-DE-14 Le taux de catégorie TVA doit être indiqué

Dans la norme XRechnung, chaque ventilation de TVA (BG-23) doit obligatoirement comporter le taux de catégorie TVA (BT-119) sous forme de pourcentage. Alors que la norme EN 16931 autorise l’omission du taux pour certains cas exonérés ou d’autoliquidation (AE, E), XRechnung exige la mention explicite de BT-119 (ex. 0.00 pour exonéré/autoliquidation, 19.00 ou 7.00 pour les taux standard/réduit) pour permettre un calcul déterministe.

## Description du problème

> **ERREUR**: Règle nationale allemande XRechnung (KoSIT, BR-DE) · XRechnung 3.0

## Contexte et importance

Sans BT-119, les moteurs de validation ne peuvent pas vérifier la formule arithmétique MontantTVA = arrondi(BaseImposable * Taux / 100). La présence de BT-119 est obligatoire pour toutes les ventilations TVA.

## Solution

Dans la configuration fiscale de votre ERP, assurez-vous que le taux de TVA est exporté dans chaque sous-total. Pour l’autoliquidation (AE), les exportations (G), le taux zéro (Z) et les exonérations (E), indiquez explicitement 0.00 dans BT-119. En UBL 2.1, renseignez <cbc:Percent> sous <cac:TaxSubtotal><cac:TaxCategory>. En CII, renseignez <ram:RateApplicablePercent> sous <ram:ApplicableTradeTax>.

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

## Exemples valides

- Ventilation taux standard avec BT-118 = « S », BT-119 = 19.00, BT-116 = 100.00, BT-117 = 19.00
- Ventilation autoliquidation avec BT-118 = « AE », BT-119 = 0.00, BT-116 = 500.00, BT-117 = 0.00

## Exemples invalides

- L’élément TaxSubtotal spécifie la catégorie S et la base mais omet l’élément cbc:Percent
- La ventilation autoliquidation (catégorie AE) est exportée sans pourcentage sous prétexte que le taux zéro est implicite

## Exemples de code

### XML valide
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19.00</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
```

### XML invalide
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
```

## Champs concernés

- [BT-119 Taux de catégorie TVA](/resources/xrechnung/bt-119-vat-category-rate)
- [BG-23 Ventilation TVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-118 Code de catégorie de TVA](/resources/xrechnung/bt-118-vat-category-code)
- [BT-116 Base imposable de catégorie TVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)

## Règles associées

- [BR-48](/resources/kosit-validator-errors/br-48-vat-breakdown-category-rate-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://xeinkauf.de/xrechnung/)
- [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.
