# BR-O-04 Des frais de catégorie O interdisent les identifiants de TVA

Une facture comportant des frais au niveau du document (BG-21) dont le code de catégorie de TVA des frais (BT-102) est « non soumis à la TVA » (O) ne doit pas contenir l’identifiant de TVA du vendeur (BT-31), du représentant fiscal du vendeur (BT-63) ni de l’acheteur (BT-48).

## Description du problème

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

## Contexte et importance

Des frais au niveau du document de catégorie O, par exemple des débours hors du champ de la TVA, ne doivent pas figurer avec les identifiants de TVA BT-31, BT-63 ou BT-48. En pratique, l’erreur survient quand des débours sont codés O sur une facture qui porte toujours l’identifiant de TVA du vendeur issu de la fiche société.

## Solution

Supprimez les identifiants de TVA BT-31, BT-63 et BT-48 dès que des frais au niveau du document utilisent la catégorie O. L’identifiant d’enregistrement fiscal du vendeur (BT-32) peut rester.

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

## Exemples valides

- Frais au niveau du document avec BT-102 = O et aucun identifiant de TVA pour les parties

## Exemples invalides

- Frais au niveau du document avec BT-102 = O mais identifiant de TVA du vendeur BT-31 = DE123456789 présent

## Exemples de code

### XML valide
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">15.00</cbc:Amount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AccountingSupplierParty>
  <cac:Party/>
</cac:AccountingSupplierParty>
```

### XML invalide
```
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">15.00</cbc:Amount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>
```

## Champs concernés

- [BT-31 Identifiant de TVA du vendeur](/resources/xrechnung/bt-31-seller-vat-identifier)
- [BT-63 Identifiant de TVA du représentant fiscal du vendeur](/resources/xrechnung/bt-63-seller-tax-representative-vat-identifier)
- [BT-48 Identifiant de TVA de l’acheteur](/resources/xrechnung/bt-48-buyer-vat-identifier)
- [BT-102 Code de catégorie de TVA des frais au niveau du document](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)

## Règles associées

- [BR-O-01](/resources/kosit-validator-errors/br-o-01-not-subject-vat-breakdown-required)
- [BR-O-02](/resources/kosit-validator-errors/br-o-02-line-forbids-vat-identifiers)
- [BR-O-03](/resources/kosit-validator-errors/br-o-03-allowance-forbids-vat-identifiers)

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