# BR-CO-4 Chaque ligne de facture doit comporter un code de catégorie de TVA

Chaque ligne de facture (BG-25) doit porter un code de catégorie de TVA pour l’article facturé (BT-151), faute de quoi la ligne ne peut pas être rattachée à la ventilation de la TVA.

## Description du problème

> **ERREUR**: Règle de calcul et de cohérence EN 16931 (BR-CO)

## Contexte et importance

Sans code de catégorie par ligne, le validateur ne peut pas rattacher la ligne à la ventilation de la TVA (BG-23), et tous les contrôles de catégorie (BR-S, BR-Z, BR-E, BR-AE, etc.) perdent leur base. En UBL, le code figure dans cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID ; en CII, dans ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode. Cas typique : une ligne de frais de port ou de gestion pour laquelle l’ERP n’envoie aucun code de TVA.

## Solution

Ajoutez BT-151 à chaque ligne (par exemple « S » pour le taux normal, « Z » pour le taux zéro, « AE » pour l’autoliquidation). En UBL, cac:ClassifiedTaxCategory doit aussi contenir cac:TaxScheme/cbc:ID = VAT ; sinon le validateur ne trouve pas le code.

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

## Exemples valides

- Ligne 1 BT-151 = « S », BT-152 = 20
- Ligne 2 BT-151 = « Z » (taux zéro), BT-152 = 0

## Exemples invalides

- Ligne sans élément ClassifiedTaxCategory
- Ligne avec BT-151 vide
- Ligne UBL avec cac:ClassifiedTaxCategory/cbc:ID = « S » mais sans cac:TaxScheme/cbc:ID = VAT

## Champs concernés

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

## Règles associées

- [BR-CL-18](/resources/kosit-validator-errors/br-cl-18-uncl5305-line-tax-category)
- [BR-S-1](/resources/kosit-validator-errors/br-s-01-standard-rated-items-require-standard-rated-vat-breakdown)
- [BR-CO-17](/resources/kosit-validator-errors/br-co-17-vat-category-tax-amount-must-match-base-times-rate)

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