# BR-S-5 Le taux de TVA d’une ligne de catégorie S doit être supérieur à zéro

Dans une ligne de facture (BG-25) dont le code de catégorie de TVA de l’article facturé (BT-151) est « Taux normal » (S), le taux de TVA de l’article facturé (BT-152) doit être supérieur à zéro.

## Description du problème

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

> **Où BR-S-05 est contrôlée**
>
> Un validateur contrôle une facture électronique par étapes. D’abord, le fichier doit être un XML bien formé conforme au schéma UBL ou CII (XSD). Viennent ensuite les règles métier de l’EN 16931 : règles de base BR, calculs BR-CO, listes de codes BR-CL, décimales BR-DEC et règles par catégorie de TVA comme BR-S. Puis les règles nationales ou de réseau sélectionnées par BT-24 : BR-DE pour XRechnung, PEPPOL-EN16931 pour Peppol BIS Billing. Le rapport liste chaque règle en échec : une erreur signifie rejet, des avertissements seuls signifient toujours acceptation. BR-S-05 : règle de catégorie de TVA EN 16931, étape « Règles EN 16931 ».

## Contexte et importance

Un taux nul ou absent avec le code « S » est contradictoire : la catégorie S signifie que la TVA est due au taux normal ou à un taux réduit. En pratique, l’erreur survient quand un logiciel exporte une ligne exonérée ou hors champ avec le code S par défaut et un taux de 0 %, ou quand le taux n’est pas repris de la fiche article. Les remises et frais au niveau du document de catégorie S relèvent de BR-S-06 et BR-S-07.

## Solution

Renseignez dans cac:Item/cac:ClassifiedTaxCategory/cbc:Percent (BT-152 ; en CII : ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercent) le taux applicable, par exemple 20 ou 5,5 en France. Si aucune TVA n’est due sur la ligne, remplacez le code S par la catégorie correcte (Z, E, AE, K, G ou O).

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

## Exemples valides

- BT-151 = « S », BT-152 = 20
- BT-151 = « S », BT-152 = 5,5

## Exemples invalides

- BT-151 = « S », BT-152 = 0
- BT-151 = « S », BT-152 absent

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

## Champs concernés

- [BT-151 Code de catégorie de TVA de l’article facturé](/resources/xrechnung/bt-151-invoice-line-vat-category-code)
- [BT-152 Taux de TVA de l’article facturé](/resources/xrechnung/bt-152-invoice-line-vat-category-rate)

## Règles associées

- [BR-S-1](/resources/kosit-validator-errors/br-s-01-standard-rated-items-require-standard-rated-vat-breakdown)
- [BR-S-06](/resources/kosit-validator-errors/br-s-06-standard-rated-allowance-rate-positive)
- [BR-S-07](/resources/kosit-validator-errors/br-s-07-standard-rated-charge-rate-positive)
- [BR-CO-4](/resources/kosit-validator-errors/br-co-4-each-invoice-line-must-have-vat-category-code)

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