BT-9Payment due dateBT-20Payment termsBT-115Amount due for payment
Oficjalna treść reguły
[BR-CO-25] In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Jeśli kwota do zapłaty (BT-115) jest większa od zera, faktura musi zawierać termin płatności (BT-9) lub warunki płatności (BT-20), aby nabywca wiedział, kiedy zapłacić. W UBL reguła szuka cbc:DueDate lub cac:PaymentTerms/cbc:Note w fakturze z dodatnią wartością cac:LegalMonetaryTotal/cbc:PayableAmount; w CII szuka ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime lub ram:Description, gdy ram:DuePayableAmount jest dodatnie. Błąd zwykle powoduje oprogramowanie, które drukuje warunki na PDF, ale ich nie eksportuje, albo eksportuje je tylko dla wybranych grup klientów.
Jak to naprawić
W UBL dodaj cbc:DueDate (RRRR-MM-DD) wśród pól nagłówka (element znajduje się po cbc:IssueDate i przed cbc:InvoiceTypeCode) i/lub cac:PaymentTerms/cbc:Note z warunkami w formie tekstowej. W CII dodaj ram:SpecifiedTradePaymentTerms z ram:DueDateDateTime/udt:DateTimeString format="102" i/lub ram:Description wewnątrz ram:ApplicableHeaderTradeSettlement. Najlepiej podać oba: data jest czytelna maszynowo, a tekst zawiera warunki, takie jak skonto. Faktury korygujące (noty kredytowe) i faktury w pełni opłacone z góry (BT-115 = 0) nie wymagają żadnego z tych elementów.
Przykład (poprawny)
<cbc:IssueDate>2026-10-14</cbc:IssueDate>
<cbc:DueDate>2026-11-13</cbc:DueDate>
...
<cac:PaymentTerms>
<cbc:Note>Payable within 30 days without deduction.</cbc:Note>
</cac:PaymentTerms>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmountTest (XPath):
((. > 0) and (exists(//cbc:DueDate) or exists(//cac:PaymentTerms/cbc:Note))) or (. <= 0)CII
/rsm:CrossIndustryInvoiceTest (XPath):
(number(//ram:DuePayableAmount) > 0 and ((//ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime) or (//ram:SpecifiedTradePaymentTerms/ram:Description))) or not(number(//ram:DuePayableAmount)>0)
Popraw automatycznie
Walidator poprawi ten błąd po wpisaniu brakującej wartości: upuść plik i kliknij „Popraw automatycznie”.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
BR-CO-16Kwota do zapłaty (BT-115) nie sumuje się poprawnieBR-15Faktura musi zawierać kwotę do zapłatyBR-DEC-18Maksymalna liczba miejsc dziesiętnych dla kwoty do zapłaty to 2BR-CO-03Podano jednocześnie datę i kod daty powstania obowiązku VATBR-CO-04Pozycja faktury bez kodu kategorii VAT (BT-151)BR-CO-05Kod przyczyny i przyczyna rabatu na poziomie dokumentu muszą…BR-CO-06Kod przyczyny i przyczyna opłaty na poziomie dokumentu muszą wskazywać…BR-CO-07Kod przyczyny i przyczyna rabatu pozycji faktury muszą wskazywać…
Najczęstsze pytania
Co oznacza BR-CO-25?
BR-CO-25 to reguła podstawowa en 16931: In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.
Czy moja faktura zostanie odrzucona z powodu BR-CO-25?
Tak. BR-CO-25 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-CO-25?
Każda faktura EN 16931: XRechnung, ZUGFeRD 2.x / Factur-X (profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 oraz krajowe CIUS. Składnia: UBL i CII.
Źródło: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.