Skip to main content

BR-DE-23-a Credit transfer payment means require the credit transfer group (BG-17)

Under the German XRechnung rule BR-DE-23-a, every payment means with a credit transfer code in BT-81 (30 = credit transfer, 58 = SEPA credit transfer) must contain the credit transfer group BG-17. BG-17 holds the payment account identifier BT-84 (usually the IBAN), the optional account name BT-85 and the optional payment service provider identifier BT-86 (BIC). The validator checks each payment means separately: in UBL it looks for cac:PayeeFinancialAccount inside the cac:PaymentMeans element, in CII for ram:PayeePartyCreditorFinancialAccount inside ram:SpecifiedTradeSettlementPaymentMeans. KoSIT flags a missing BG-17 as fatal, so the invoice is not valid.

Problem Description

ERROR

German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0

Interactive pipeline

Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.

Try:

BR-DE-23-a XRechnung rule (Germany)

Reported in stage 3: National rules (CIUS).

Level error: the report recommends rejecting the invoice.

Stage 3 · What it checks

  • The specification identifier in BT-24 selects the rule set, for example XRechnung 3.0 or Peppol BIS Billing 3.0.
  • XRechnung adds the German BR-DE rules: buyer reference (BT-10), seller contact, payment instructions.
  • Peppol adds PEPPOL-EN16931 and country rules. XRechnung applies some PEPPOL-EN16931 rules too.

Example codes

Typical fix

Fill the fields the rule set requires in your master data, such as the Leitweg-ID in BT-10 or the seller contact.

A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. BR-DE-23-a: XRechnung rule (Germany), reported in the stage “National rules (CIUS)”. Rule sets: KoSIT validator 1.6.3 with the XRechnung configuration of 31 Aug 2026 (EN 16931 artefacts 1.3.16), Peppol BIS Billing 3.0.21.

Context and Significance

The error usually appears when an export writes payment means code 58 but keeps the bank details only in free text, such as the payment terms (BT-20) or an invoice note, or writes the account into a different payment means element. The buyer’s accounts payable system then has no structured account to pay into. BR-DE-23-a checks only that BG-17 is present: BR-50 requires the account identifier BT-84 inside BG-17, and BR-DE-19 reports a BT-84 value that is not a valid IBAN when code 58 is used.

Solution

Store the seller’s bank account in your ERP or invoicing tool and export it with every credit transfer payment means. In UBL 2.1, add <cac:PayeeFinancialAccount><cbc:ID>DE89370400440532013000</cbc:ID></cac:PayeeFinancialAccount> inside the <cac:PaymentMeans> that has <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>. In CII, add <ram:PayeePartyCreditorFinancialAccount><ram:IBANID>DE89370400440532013000</ram:IBANID></ram:PayeePartyCreditorFinancialAccount> inside the <ram:SpecifiedTradeSettlementPaymentMeans> with <ram:TypeCode>58</ram:TypeCode>; use ram:ProprietaryID for an account number that is not an IBAN. If the buyer does not pay by credit transfer, set BT-81 to the code of the payment means that is actually used.

Quick actions

Valid Examples

  • BT-81 = 58 (SEPA credit transfer) with BG-17 and BT-84 = "DE89370400440532013000"
  • BT-81 = 30 (credit transfer) with BG-17 and a non-IBAN account number in BT-84

Invalid Examples

  • BT-81 = 58, but the IBAN appears only in the payment terms text (BT-20)
  • BT-81 = 30 and cac:PaymentMeans contains only cbc:PaymentMeansCode and cbc:PaymentID, without cac:PayeeFinancialAccount

Code Examples

Valid XML
<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>
Invalid XML
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
  <cbc:PaymentID>RE-2026-0042</cbc:PaymentID>
</cac:PaymentMeans>

Affected Fields

Validation Tools