# BR-AE-01 L’autoliquidation exige exactement une ventilation de TVA en autoliquidation

Une facture contenant une ligne (BG-25), une remise au niveau du document (BG-20) ou des frais au niveau du document (BG-21) dont le code de catégorie de TVA (BT-151, BT-95 ou BT-102) est « Autoliquidation » (AE) doit comporter dans la ventilation de TVA (BG-23) exactement un code de catégorie de TVA (BT-118) égal à « Autoliquidation de la TVA ».

## Description du problème

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

## Contexte et importance

Cette règle EN 16931 régit l’autoliquidation (catégorie AE), où l’acheteur autoliquide la TVA ; elle garantit une ligne de synthèse AE unique et sans ambiguïté afin que la TVA due par l’acheteur soit déclarée une seule fois. En pratique, l’erreur survient quand des lignes en autoliquidation sont récapitulées dans une ventilation S à 0 % ou réparties sur plusieurs ventilations AE.

## Solution

Ajoutez un unique cac:TaxTotal/cac:TaxSubtotal (BG-23) dont le cac:TaxCategory/cbc:ID (BT-118) vaut AE, résumant toutes les lignes, remises et frais en autoliquidation ; ne le divisez pas en plusieurs ventilations AE.

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

## Exemples valides

- Une ligne en autoliquidation (BT-151 = AE) et une ventilation BG-23 avec BT-118 = AE

## Exemples invalides

- Lignes en autoliquidation présentes mais aucune ventilation BG-23 avec BT-118 = AE

## Exemples de code

### XML valide
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>AE</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

### XML invalide
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

## Champs concernés

- [BG-23 Ventilation de TVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [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-AE-08](/resources/kosit-validator-errors/br-ae-08-reverse-charge-taxable-amount-sum)
- [BR-AE-09](/resources/kosit-validator-errors/br-ae-09-reverse-charge-tax-amount-zero)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-vat-breakdown-required)

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