# BR-O-12 Une facture non soumise à la TVA ne doit avoir aucune ligne non O

Une facture qui contient une ventilation de TVA (BG-23) avec le code de catégorie de TVA (BT-118) « non soumis à la TVA » (O) ne doit pas contenir de ligne de facture (BG-25) dont le code de catégorie de TVA de l’article facturé (BT-151) n’est pas « non soumis à la TVA ».

## Description du problème

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

## Contexte et importance

Une facture comportant une ventilation O étant entièrement hors du champ de la TVA, chaque ligne doit aussi utiliser la catégorie O ; le mélange avec des lignes imposables n’est pas autorisé. En pratique, l’erreur survient quand une facture hors champ reçoit une ligne supplémentaire, par exemple des frais de dossier, que le logiciel code S par défaut.

## Solution

Attribuez la catégorie O à chaque ligne (BT-151 = O), ou déplacez les lignes non O sur une facture distincte.

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

## Exemples valides

- Ventilation O présente et chaque ligne a BT-151 = O

## Exemples invalides

- Ventilation O présente mais une ligne a BT-151 = S

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cac:Item>
    <cac:ClassifiedTaxCategory><cbc:ID>O</cbc:ID><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>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

## Champs concernés

- [BT-118 Code de catégorie de TVA](/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)

## Règles associées

- [BR-O-01](/resources/kosit-validator-errors/br-o-01-not-subject-vat-breakdown-required)
- [BR-O-11](/resources/kosit-validator-errors/br-o-11-forbids-other-vat-breakdowns)
- [BR-O-13](/resources/kosit-validator-errors/br-o-13-forbids-non-o-allowances)

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