Konto
Polski

PEPPOL-EN16931-R061: Polecenie zapłaty bez referencji mandatu (BT-89)

Reguła Peppol BIS Billing 3.0 · Błąd · UBL, CII

StandardPeppol BIS Billing 3.0 (OpenPeppol)WagaBłąd: faktura zostaje odrzuconaSkładniaUBL, CIIDotyczyFaktury i noty kredytowe przesyłane siecią Peppol (UBL) oraz, ponieważ XRechnung zawiera reguły Peppol, każda XRechnung.

Oficjalna treść reguły

[PEPPOL-EN16931-R061] Mandate reference MUST be provided for direct debit.

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 49 (polecenie zapłaty) lub 59 (polecenie zapłaty SEPA), Peppol wymaga referencji mandatu, aby nabywca mógł zweryfikować obciążenie względem podpisanego przez siebie mandatu. Reguła szuka cac:PaymentMeans/cac:PaymentMandate/cbc:ID (UBL) lub ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID (CII) zawsze, gdy kod to 49 lub 59. Błąd pojawia się, gdy referencja mandatu jest zapisana w ERP, ale nie jest mapowana, lub gdy użyto kodu 59, choć klient w rzeczywistości płaci przelewem.

Jak to naprawić

W UBL dodaj cac:PaymentMandate z cbc:ID (referencja mandatu) wewnątrz cac:PaymentMeans oraz cac:PayerFinancialAccount/cbc:ID z obciążanym numerem IBAN (BT-91), jeśli jest znany. W CII umieść ram:DirectDebitMandateID w ram:SpecifiedTradePaymentTerms, a obciążany rachunek w ram:PayerPartyDebtorFinancialAccount/ram:IBANID. Jeśli mandat nie istnieje, zmień kod sposobu płatności na 58 (przelew SEPA) i podaj rachunek odbiorcy płatności.

Przykład (poprawny)

<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cbc:ID>MANDATE-2024-0815</cbc:ID>
    <cac:PayerFinancialAccount><cbc:ID>DE02120300000000202051</cbc:ID></cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Co sprawdza walidator

Sprawdzany element (kontekst):

UBL

cac:PaymentMeans[some $code in tokenize('49 59', '\s')
          satisfies normalize-space(cbc:PaymentMeansCode) = $code]
cac:PaymentMeans[some $code in tokenize('49 59', '\s')           satisfies normalize-space(cbc:PaymentMeansCode) = $code]

Test (XPath):

cac:PaymentMandate/cbc:ID

CII

ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('49 59', '\s')
                    satisfies normalize-space(ram:TypeCode) = $code]
ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('49 59', '\s')                     satisfies normalize-space(ram:TypeCode) = $code]

Test (XPath):

../ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID

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 PEPPOL-EN16931-R061?

PEPPOL-EN16931-R061 to reguła peppol bis billing 3.0: Mandate reference MUST be provided for direct debit.

Czy moja faktura zostanie odrzucona z powodu PEPPOL-EN16931-R061?

Tak. PEPPOL-EN16931-R061 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.

Jakich formatów dotyczy PEPPOL-EN16931-R061?

Faktury i noty kredytowe przesyłane siecią Peppol (UBL) oraz, ponieważ XRechnung zawiera reguły Peppol, każda XRechnung. Składnia: UBL i CII.

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