Account
English

BR-DE-25-b: If BT-81 "Payment means type code" contains a code for direct debits (59), BG-17 and…

XRechnung rule · Error · UBL / CII

StandardXRechnung 3.0.2 (KoSIT, German CIUS of EN 16931)SeverityError: the invoice is rejectedSyntaxUBL, CIIBusiness terms
  • BG-17 Credit transfer
  • BG-18 Payment card information
  • BT-81 Payment means type code
Applies toXRechnung in UBL or CII syntax, including ZUGFeRD / Factur-X PDFs with the XRECHNUNG profile. Invoices to German public authorities (federal, state and municipal) must pass it.

Official rule text

[BR-DE-25-b] If BT-81 "Payment means type code" contains a code for direct debits (59), BG-17 and BG-18 must not be transmitted.

Official text (German): Wenn BT-81 "Payment means type code" einen Schlüssel für Lastschriften enthält (59), dürfen BG-17 und BG-18 nicht übermittelt werden.

Why this error occurs

The element or combination is not allowed in this context. The file contains something the standard forbids: an element that must not be repeated, a value that contradicts another field, or data that belongs to a different profile.

How to fix it

Remove the offending element or make the two fields consistent as described in the rule text. If your software adds the element automatically, check for a profile setting (e.g. "EN 16931" vs "EXTENDED") or an export option that suppresses it.

What the validator checks

Checked element (context):

UBL

/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59'] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59']

Test (XPath):

not(cac:PayeeFinancialAccount) and                     not(cac:CardAccount)

CII

/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = '59']

Test (XPath):

not(ram:PayeePartyCreditorFinancialAccount) and                     not(ram:PayeeSpecifiedCreditorFinancialInstitution) and                     not(ram:PayerSpecifiedDebtorFinancialInstitution) and                     not(ram:ApplicableTradeSettlementFinancialCard)

Check your invoice

Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.

Check your invoice →

Same check via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Related rules

Frequently asked questions

What does BR-DE-25-b mean?

BR-DE-25-b is a xrechnung rule: If BT-81 "Payment means type code" contains a code for direct debits (59), BG-17 and BG-18 must not be transmitted.

Will my invoice be rejected because of BR-DE-25-b?

Yes. BR-DE-25-b is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.

Which formats does BR-DE-25-b apply to?

XRechnung in UBL or CII syntax, including ZUGFeRD / Factur-X PDFs with the XRECHNUNG profile. Invoices to German public authorities (federal, state and municipal) must pass it. Syntax: UBL and CII.

Source: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Catalogue generated from the official schematron on 2026-10-14.