BT-81Payment means type codeBT-84Payment account identifier
Oficjalna treść reguły
[BR-DE-19] "Payment account identifier" (BT-84) shall contain a valid IBAN if "Payment means type code" (BT-81) requests SEPA as the means of payment with code 58.
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Jeśli kod sposobu płatności (BT-81) to 58 (przelew SEPA), XRechnung oczekuje, że identyfikator rachunku odbiorcy płatności (BT-84) będzie poprawnym numerem IBAN. Reguła stosuje kontrolę IBAN (format kraju i suma kontrolna mod-97) do cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID (UBL) lub ram:PayeePartyCreditorFinancialAccount/ram:IBANID (CII) zawsze, gdy kod wynosi 58. Typowe przyczyny: literówka lub przestawiona cyfra, spacje lub formatowanie wewnątrz IBAN, krajowy numer rachunku zamiast IBAN albo kod 58 użyty dla rachunku spoza SEPA.
Jak to naprawić
Wpisz IBAN jako ciągły ciąg wielkich liter i cyfr bez spacji, np. DE89370400440532013000, i sprawdź go z wyciągiem bankowym. Jeśli rachunek nie jest rachunkiem SEPA (brak IBAN), użyj kodu sposobu płatności 30 (przelew) zamiast 58 i podaj numer rachunku wraz z BIC w cac:FinancialInstitutionBranch/cbc:ID. Nazwę posiadacza rachunku umieść w cbc:Name / ram:AccountName. To ostrzeżenie, ale błędny IBAN opóźnia płatność.
Przykład (poprawny)
<cac:PaymentMeans>
<cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
<cac:PayeeFinancialAccount>
<cbc:ID>DE89370400440532013000</cbc:ID>
<cbc:Name>Muster GmbH</cbc:Name>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')]Test (XPath):
not(normalize-space(cbc:PaymentMeansCode) = '58') or xr:checkIBAN(string(cac:PayeeFinancialAccount/cbc:ID))CII
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = ('30','58')]Test (XPath):
not(normalize-space(ram:TypeCode) = '58') or xr:checkIBAN(string(ram:PayeePartyCreditorFinancialAccount/ram:IBANID))
Sprawdź swoją fakturę
Upuść plik XML lub PDF w walidatorze; każda naruszona reguła ma link do swojej strony tutaj. Bezpłatnie, bez konta, plik nie jest zapisywany.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
BR-DE-20„Rachunek obciążany” musi zawierać poprawny IBAN, jeśli „Kod środka płatności”…BR-DE-23-aWybrano przelew, ale brak rachunku odbiorcy płatności (BG-17)BR-DE-23-bJeśli BT-81 „Kod środka płatności” zawiera kod przelewu (30, 58),…BR-DE-24-aJeśli BT-81 „Kod środka płatności” zawiera kod płatności kartą (48, 54, 55),…BR-DE-24-bJeśli BT-81 „Kod środka płatności” zawiera kod płatności kartą (48, 54, 55),…BR-DE-25-aJeśli BT-81 „Kod środka płatności” zawiera kod polecenia zapłaty (59), dokładnie…BR-DE-25-bJeśli BT-81 „Kod środka płatności” zawiera kod polecenia zapłaty (59), BG-17 i…BR-DE-1Brak instrukcji płatności (BG-16)
Najczęstsze pytania
Co oznacza BR-DE-19?
BR-DE-19 to reguła xrechnung: "Payment account identifier" (BT-84) shall contain a valid IBAN if "Payment means type code" (BT-81) requests SEPA as the means of payment with code 58.
Czy moja faktura zostanie odrzucona z powodu BR-DE-19?
Nie. BR-DE-19 to ostrzeżenie: faktura jest przyjmowana, ale odbiorca widzi uwagę. Mimo to popraw ją, ostrzeżenia często stają się błędami w kolejnych wersjach reguł.
Jakich formatów dotyczy BR-DE-19?
XRechnung w składni UBL lub CII, w tym PDF ZUGFeRD / Factur-X z profilem XRECHNUNG. Faktury dla niemieckich instytucji publicznych muszą ją spełniać. Składnia: UBL i CII.
Źródło: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.