Aller au contenu principal

Référence

Export Markdown

BR-DE-23-a Un virement comme moyen de paiement exige le groupe Virement (BG-17)

Selon la règle allemande XRechnung BR-DE-23-a, chaque moyen de paiement dont BT-81 porte un code de virement (30 = virement, 58 = virement SEPA) doit contenir le groupe Virement BG-17. BG-17 regroupe l’identifiant du compte de paiement BT-84 (en général l’IBAN), le nom du compte BT-85, facultatif, et l’identifiant du prestataire de services de paiement BT-86 (BIC), facultatif. Le validateur contrôle chaque moyen de paiement séparément : en UBL, il recherche cac:PayeeFinancialAccount dans l’élément cac:PaymentMeans ; en CII, ram:PayeePartyCreditorFinancialAccount dans ram:SpecifiedTradeSettlementPaymentMeans. KoSIT classe l’absence de BG-17 comme erreur fatale : la facture n’est pas valide.

Description du problème

ERREUR

Règle nationale allemande XRechnung (KoSIT, BR-DE) · XRechnung 3.0

Contexte et importance

L’erreur apparaît surtout lorsqu’un export écrit le code 58 mais laisse les coordonnées bancaires en texte libre, par exemple dans les conditions de paiement (BT-20) ou une note de facture, ou place le compte dans un autre élément de moyen de paiement. Le service fournisseurs de l’acheteur ne dispose alors d’aucun compte structuré pour payer. BR-DE-23-a vérifie seulement la présence de BG-17 : BR-50 exige l’identifiant de compte BT-84 dans BG-17, et BR-DE-19 signale, avec le code 58, une valeur BT-84 qui n’est pas un IBAN valide.

Solution

Enregistrez le compte bancaire du vendeur dans votre ERP ou votre outil de facturation et exportez-le avec chaque moyen de paiement de type virement. En UBL 2.1, ajoutez <cac:PayeeFinancialAccount><cbc:ID>DE89370400440532013000</cbc:ID></cac:PayeeFinancialAccount> dans le <cac:PaymentMeans> qui porte <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>. En CII, ajoutez <ram:PayeePartyCreditorFinancialAccount><ram:IBANID>DE89370400440532013000</ram:IBANID></ram:PayeePartyCreditorFinancialAccount> dans le <ram:SpecifiedTradeSettlementPaymentMeans> qui porte <ram:TypeCode>58</ram:TypeCode> ; pour un numéro de compte qui n’est pas un IBAN, utilisez ram:ProprietaryID. Si l’acheteur ne paie pas par virement, indiquez dans BT-81 le code du moyen de paiement réellement utilisé.

Actions rapides

Exemples valides

  • BT-81 = 58 (virement SEPA) avec BG-17 et BT-84 = « DE89370400440532013000 »
  • BT-81 = 30 (virement) avec BG-17 et un numéro de compte hors format IBAN dans BT-84

Exemples invalides

  • BT-81 = 58, mais l’IBAN figure uniquement dans le texte des conditions de paiement (BT-20)
  • BT-81 = 30 et cac:PaymentMeans ne contient que cbc:PaymentMeansCode et cbc:PaymentID, sans cac:PayeeFinancialAccount

Exemples de code

XML valide
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
  <cbc:PaymentID>RE-2026-0042</cbc:PaymentID>
  <cac:PayeeFinancialAccount>
    <cbc:ID>DE89370400440532013000</cbc:ID>
    <cbc:Name>Lieferant GmbH</cbc:Name>
  </cac:PayeeFinancialAccount>
</cac:PaymentMeans>
XML invalide
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
  <cbc:PaymentID>RE-2026-0042</cbc:PaymentID>
</cac:PaymentMeans>

Champs concernés

Outils de validation