{
  "id": "BR-DE-23-a",
  "country": "DE",
  "syntax": "ubl",
  "group": "payment",
  "severity": "fatal",
  "severity_note": "fatal, from the schematron flag attribute on tag v2.6.0. The file has BR-DE-23-a and BR-DE-23-b, not a single rule id BR-DE-23.",
  "spec": "XRechnung Schematron 2.6.0 (itplr-kosit/xrechnung-schematron tag v2.6.0), UBL invoice and credit note",
  "statement": "[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.",
  "statement_lang": "de",
  "context": "/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]",
  "test": "cac:PayeeFinancialAccount",
  "meaning": "If the payment means type code (BT-81) is a credit-transfer code (30 or 58), the credit-transfer group BG-17 must be transmitted. This rule does not check the IBAN characters.",
  "fix": "When BT-81 is 30 or 58, include cac:PayeeFinancialAccount (BG-17).",
  "example_fail": "BT-81 is 30 or 58 and cac:PayeeFinancialAccount is absent.",
  "example_pass": "BT-81 is 30 or 58 and cac:PayeeFinancialAccount is present.",
  "example_note": "Illustration of the condition in the official statement. Not an example published by the source.",
  "source_url": "https://github.com/itplr-kosit/xrechnung-schematron/blob/v2.6.0/src/validation/schematron/ubl/XRechnung-UBL-validation.sch",
  "source_retrieved": "2026-10-17",
  "last_verified": "2026-10-17"
}
