# BR-O-08 Le montant imposable non soumis à la TVA doit égaler la somme de ses lignes et ajustements

Dans une ventilation de TVA (BG-23) où le code de catégorie de TVA (BT-118) est « non soumis à la TVA » (O), le montant imposable de la catégorie (BT-116) doit être égal à la somme des montants nets des lignes (BT-131) diminuée de la somme des montants de remise au niveau du document (BT-92) augmentée de la somme des montants de frais au niveau du document (BT-99) relevant de la catégorie O.

## Description du problème

Dans une ventilation de TVA (BG-23) où le code de catégorie de TVA (BT-118) est « non soumis à la TVA » (O), le montant imposable de la catégorie (BT-116) doit être égal à la somme des montants nets des lignes (BT-131) diminuée de la somme des montants de remise au niveau du document (BT-92) augmentée de la somme des montants de frais au niveau du document (BT-99) relevant de la catégorie O.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Cette règle EN16931 maintient la base imposable non soumise à la TVA cohérente avec les montants sous-jacents de catégorie O afin que le récapitulatif soit auditable.

## Solution

Calculez BT-116 comme Σ BT-131 − Σ BT-92 + Σ BT-99 limité aux lignes, remises et frais de catégorie O, et inscrivez-le dans le TaxableAmount du TaxSubtotal O.

- validate
- convert

## Exemples valides

- Lignes O nettes 100,00, aucune remise ni frais O → BT-116 = 100,00

## Exemples invalides

- Lignes O nettes 100,00 mais BT-116 déclaré à 90,00

## Exemples de code

### XML valide
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID></cac:TaxCategory>
</cac:TaxSubtotal>
```

### XML invalide
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">90.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID></cac:TaxCategory>
</cac:TaxSubtotal>
```

## Champs concernés

- [BT-116 Montant imposable de la catégorie de TVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-131 Montant net de la ligne de facture](/resources/xrechnung/bt-131-invoice-line-net-amount)
- [BT-92 Montant de remise au niveau du document](/resources/xrechnung/bt-92-document-level-allowance-amount)
- [BT-99 Montant de frais au niveau du document](/resources/xrechnung/bt-99-document-level-charge-amount)

## Règles associées

- [BR-O-01](/resources/kosit-validator-errors/br-o-01-not-subject-vat-breakdown-required)
- [BR-O-09](/resources/kosit-validator-errors/br-o-09-not-subject-tax-amount-zero)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-vat-breakdown-required)

## Outils de validation

- [Validateur KoSIT officiel](https://erechnungsvalidator.service-bw.de/): Validez vos fichiers XRechnung par rapport à toutes les règles BR-DE.
- [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): Aperçu de toutes les règles de validation XRechnung en Allemagne.
