BR-DE-23-afatal

How to fix BR-DE-23-a

Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden.

XRechnung rule from the KoSIT XRechnung 3.0 schematron (German CIUS of EN 16931). It applies only to invoices whose specification identifier (BT-24) is XRechnung. Such files are checked against EN 16931 and the KoSIT XRechnung rules instead of the full Peppol BIS rule set. Check your file with the XRechnung validator.

What this rule checks

When a payment means has type code 30 (credit transfer) or 58 (SEPA credit transfer) in BT-81, XRechnung requires the CREDIT TRANSFER group (BG-17) in the same payment means. In UBL this is cac:PayeeFinancialAccount with the account identifier (BT-84, usually the IBAN) in cbc:ID. In CII it is ram:PayeePartyCreditorFinancialAccount with ram:IBANID or ram:ProprietaryID.

Referenced business terms

This rule references the following EN 16931 business terms. Click through for the full definition, the UBL XPath and the cardinality.

How to fix it

Add cac:PayeeFinancialAccount with cbc:ID (the IBAN) inside the cac:PaymentMeans that has code 30 or 58. In CII, add ram:PayeePartyCreditorFinancialAccount → ram:IBANID (or ram:ProprietaryID) inside ram:SpecifiedTradeSettlementPaymentMeans.

Common causes

  • PaymentMeansCode 58 is set, but the IBAN is only given in free text or in the payment terms.
  • The account was placed in cac:PaymentMandate (direct debit) instead of cac:PayeeFinancialAccount.
  • Several cac:PaymentMeans blocks exist and only one of them carries the account.
  • In CII, the IBAN is in ram:PayerPartyDebtorFinancialAccount (the buyer's account) instead of the creditor account.

Example: before (broken)

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
    <cbc:PaymentID>RE-2026-0042</cbc:PaymentID>
    <!-- cac:PayeeFinancialAccount is missing -->
  </cac:PaymentMeans>
</Invoice>

Example: after (fixed)

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
    <cbc:PaymentID>RE-2026-0042</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>DE75512108001245126199</cbc:ID>
      <cbc:Name>Muster GmbH</cbc:Name>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
</Invoice>

Related rules

Validate your invoice

Upload your corrected invoice to check it passes BR-DE-23-a and all other EN 16931 and XRechnung (BR-DE) rules. Free, instant, no signup.