Konto
Polski

DE-R-020: "Identyfikator rachunku obciążanego" powinien być poprawnym IBAN przy kodzie 59 SEPA…

Krajowa reguła Peppol · Ostrzeżenie · UBL

StandardReguły krajowe Peppol BIS Billing 3.0 (NL, DE, IT, SE, DK, NO, GR, IS)KrajNiemcyWagaOstrzeżenie: faktura jest przyjmowana, ale należy ją poprawićSkładniaUBLPojęcia biznesowe
  • BT-81 Payment means type code
  • BT-91 Debited account identifier
DotyczyTylko gdy sprzedawca (w niektórych regułach nabywca) ma siedzibę we wskazanym kraju; wyzwalaczem jest kod kraju strony.

Oficjalna treść reguły

[DE-R-020] The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).

Tekst normatywny jest w języku angielskim i cytowany bez zmian.

Dlaczego pojawia się ten błąd

Wartość istnieje, ale nie pasuje do wymaganego wzorca: zły format daty, IBAN z błędną cyfrą kontrolną, adres e-mail o niepoprawnej budowie, URL bez schematu lub tekst z niedozwolonymi znakami.

Jak to naprawić

Popraw wartość zgodnie z formatem wskazanym w regule: daty jako RRRR-MM-DD w UBL i RRRRMMDD z format="102" w CII, IBAN bez spacji i z poprawną sumą kontrolną, e-mail z dokładnie jednym @, URL zaczynający się od http:// lub https://.

Co sprawdza walidator

Sprawdzany element (kontekst):

UBL

(/ubl-invoice:Invoice/cac:PaymentMeans[cbc:PaymentMeansCode = 59] | /ubl-creditnote:CreditNote/cac:PaymentMeans[cbc:PaymentMeansCode = 59])[$supplierCountryIsDE and $customerCountryIsDE]

Test (XPath):

not(cbc:PaymentMeansCode = '59') or                     matches(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and                     xs:decimal(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, '([ \n\r\t\s])', '')),3,2))) return  (if($cp > 64) then string($cp - 55) else  string($cp - 48)),'')) mod 97 = 1

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.

Sprawdź swoją fakturę →

To samo sprawdzenie przez API:

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

Powiązane reguły

Najczęstsze pytania

Co oznacza DE-R-020?

DE-R-020 to krajowa reguła peppol: The element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81).

Czy moja faktura zostanie odrzucona z powodu DE-R-020?

Nie. DE-R-020 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 DE-R-020?

Tylko gdy sprzedawca (w niektórych regułach nabywca) ma siedzibę we wskazanym kraju; wyzwalaczem jest kod kraju strony. Składnia: UBL.

Źródło: Peppol BIS Billing 3.0.20 national rules (November 2025). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.