# BR-DE-20 Le compte de prélèvement SEPA doit être un IBAN valide

Lorsqu’une facture spécifie un prélèvement SEPA (code moyen de paiement BT-81 = 59), la règle XRechnung BR-DE-20 exige que l’identifiant du compte débité (BT-91) soit un IBAN valide conforme à la norme ISO 13616. Il doit comporter un code pays à deux lettres, deux chiffres de contrôle et jusqu’à 30 caractères alphanumériques respectant l’algorithme MOD-97.

## Description du problème

> **AVERTISSEMENT**: Règle nationale allemande XRechnung (KoSIT, BR-DE) · XRechnung 3.0

## Contexte et importance

La règle BR-DE-20 est un avertissement dans XRechnung 3.0. Cependant, des IBAN non valides entraînent le rejet des fichiers de prélèvement SEPA (pain.008) par les banques.

## Solution

Dans les coordonnées bancaires du client, nettoyez l’IBAN en supprimant les espaces, tirets et préfixes textuels (« IBAN: »). En UBL 2.1, insérez l’IBAN nettoyé dans <cac:PaymentMeans><cac:PaymentMandate><cac:PayerFinancialAccount><cbc:ID>. En CII, insérez-le dans <ram:PayerPartyDebtorFinancialAccount><ram:IBANID>.

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

## Exemples valides

- BT-91 = « DE89370400440532013000 » (IBAN allemand valide avec clé de contrôle exacte)
- BT-91 = « AT611904300234573201 » (IBAN autrichien valide)

## Exemples invalides

- BT-91 = « 0532013000 » (Ancien numéro de compte national au lieu d’un IBAN ISO 13616)
- BT-91 = « DE89 3704 0044 0532 0130 00 » (Chaîne IBAN contenant des espaces)

## Exemples de code

### XML valide
```
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>
```

### XML invalide
```
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>0532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>
```

## Champs concernés

- [BT-91 Identifiant du compte débité](/resources/xrechnung/bt-91-debited-account-identifier)
- [BG-19 Prélèvement](/resources/xrechnung/bt-89-mandate-reference-identifier)
- [BT-81 Code du type de moyen de paiement](/resources/xrechnung/bt-81-payment-means-type-code)

## Règles associées

- [BR-DE-31](/resources/kosit-validator-errors/br-de-31-direct-debit-requires-debited-account)

## 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://xeinkauf.de/xrechnung/)
- [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.
