BG-17Credit transferBT-81Payment means type code
Texte officiel de la règle
[BR-DE-23-a] If BT-81 "Payment means type code" contains a code for credit transfers (30, 58), BG-17 "CREDIT TRANSFER" must be transmitted.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Si le code du moyen de paiement (BT-81) est 30 (virement) ou 58 (virement SEPA), XRechnung exige le groupe virement BG-17 avec le compte du bénéficiaire. La règle recherche cac:PayeeFinancialAccount dans le cac:PaymentMeans portant ce code (UBL) ou ram:PayeePartyCreditorFinancialAccount dans ram:SpecifiedTradeSettlementPaymentMeans (CII). Sans compte, l'administration ne peut pas payer. Elle échoue typiquement lorsque les coordonnées bancaires manquent dans les données de base ou que l'export n'écrit que le code.
Comment corriger
En UBL, ajoutez cac:PayeeFinancialAccount au cac:PaymentMeans avec cbc:ID (IBAN, BT-84), et éventuellement cbc:Name (titulaire du compte, BT-85) et cac:FinancialInstitutionBranch/cbc:ID (BIC, BT-86). En CII, ajoutez ram:PayeePartyCreditorFinancialAccount avec ram:IBANID et ram:AccountName, ainsi que ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID si nécessaire. Pour le code 58, l'IBAN doit être valide (BR-DE-19). N'ajoutez pas de groupe carte ou prélèvement à un virement (BR-DE-23-b).
Exemple (valide)
<cac:PaymentMeans>
<cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
<cac:PayeeFinancialAccount>
<cbc:ID>DE89370400440532013000</cbc:ID>
<cbc:Name>Muster GmbH</cbc:Name>
<cac:FinancialInstitutionBranch><cbc:ID>COBADEFFXXX</cbc:ID></cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]Test (XPath):
cac:PayeeFinancialAccountCII
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('30','58')]Test (XPath):
ram:PayeePartyCreditorFinancialAccount
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
BR-DE-24-bSi BT-81 « Code du moyen de paiement » contient un code de carte (48, 54, 55),…BR-DE-25-bSi BT-81 « Code du moyen de paiement » contient un code de prélèvement (59), BG-17 et…BR-DE-19L'identifiant du compte de paiement (BT-84) n'est pas un IBAN valideBR-DE-20« Compte débité » doit contenir un IBAN valide si « Code du moyen de paiement »…BR-DE-23-bSi BT-81 « Code du moyen de paiement » contient un code de virement (30, 58),…BR-DE-24-aSi BT-81 « Code du moyen de paiement » contient un code de carte (48, 54, 55),…BR-DE-25-aSi BT-81 « Code du moyen de paiement » contient un code de prélèvement (59), exactement…BR-DE-1Les instructions de paiement (BG-16) sont absentes
Questions fréquentes
Que signifie BR-DE-23-a ?
BR-DE-23-a est une règle xrechnung : If BT-81 "Payment means type code" contains a code for credit transfers (30, 58), BG-17 "CREDIT TRANSFER" must be transmitted.
Ma facture sera-t-elle rejetée à cause de BR-DE-23-a ?
Oui. BR-DE-23-a est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique BR-DE-23-a ?
XRechnung en syntaxe UBL ou CII, y compris les PDF Factur-X / ZUGFeRD au profil XRECHNUNG. Obligatoire pour facturer les administrations publiques allemandes. Syntaxe : UBL et CII.
Source: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.