Reguły KSeF FA(3) dotyczą polskiej faktury ustrukturyzowanej: błędy schematu XSD (kolejność elementów, wzorce NIP i dat, dozwolone wartości) oraz reguły semantyczne Ministerstwa Finansów (adnotacje, role podmiotów, rachunki bankowe, kursy walut, kwoty).
Kody statusu zwracane przez samo API KSeF (np. błąd 440, 450): kody błędów KSeF.
Źródło: KSeF FA(3) schema 1-0E + semantic rules (@ksefuj/validator 0.4)
Wszystkie reguły (56)
| ID | Reguła | Waga |
|---|---|---|
ADNOTACJE_NST_MISSING | Element NoweSrodkiTransportu jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_P16_MISSING | Element P_16 jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_P17_MISSING | Element P_17 jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_P18_MISSING | Element P_18 jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_P18A_MISSING | Element P_18A jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_P23_MISSING | Element P_23 jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_PMARZY_MISSING | Element PMarzy jest obowiązkowy w Adnotacje (§9.6) | Błąd |
ADNOTACJE_ZWOLNIENIE_MISSING | Element Zwolnienie jest obowiązkowy w Adnotacje (§9.6) | Błąd |
AMOUNT_NO_SEPARATORS | Pola kwot nie mogą zawierać spacji, przecinków ani znaków nienumerycznych poza… | Błąd |
CURRENCY_RATE_MISMATCH | KursWaluty nie zgadza się z kursem średnim NBP z tabeli A na dzień odniesienia (art. | Ostrzeżenie |
CURRENCY_RATE_UNVERIFIABLE | Nie można zweryfikować KursWaluty — kurs NBP niedostępny lub poza okresem ważności (art. | Ostrzeżenie |
DECIMAL_PRECISION | Pole kwoty przekracza maksymalną liczbę miejsc po przecinku z §2.6 specyfikacji FA(3) | Błąd |
DUPLICATE_LINE_NUMBERS | Numery wierszy (NrWierszaFa) muszą być unikalne w fakturze (z wyjątkiem korygujących… | Błąd |
ELEMENT_NOT_ALLOWED | Element niedozwolony w tym miejscu | Błąd |
ENCODING_ERROR | Błąd kodowania znaków | Błąd |
FOREIGN_CURRENCY_TAX_PLN | Faktura w walucie obcej z kwotami podatku powinna mieć przeliczenia na PLN w P_14_*W… | Ostrzeżenie |
GTU_FORMAT | Wartość GTU musi mieć format GTU_XX (od GTU_01 do GTU_13) | Błąd |
GV_REQUIRES_PODMIOT3 | Gdy Podmiot2/GV = '1', musi istnieć co najmniej jeden Podmiot3 z Rola = '10' (§6.1,… | Błąd |
INVALID_BANK_ACCOUNT_FORMAT | Polski rachunek bankowy (NrRB) musi mieć 28 znaków w formacie IBAN (PL + 26 cyfr) lub… | Błąd |
INVALID_ELEMENT_VALUE | Wartość elementu nie spełnia ograniczeń schematu | Błąd |
IPKSEF_FORMAT | IPKSeF musi mieć dokładnie 13 znaków alfanumerycznych [0-9a-zA-Z] (§12.1) | Ostrzeżenie |
JST_REQUIRES_PODMIOT3 | Gdy Podmiot2/JST = '1', musi istnieć co najmniej jeden Podmiot3 z Rola = '8' (§6.1,… | Błąd |
KOR_NRKSEF_CONSISTENCY | DaneFaKorygowanej | Błąd |
KURS_WALUTA_PAIR | KursUmowny i WalutaUmowna muszą wystąpić razem albo wcale (§13.1, Appendix D #11) | Błąd |
KURS_WALUTY_Z_PLACEMENT | KursWalutyZ na poziomie Fa TYLKO dla faktur zaliczkowych (RodzajFaktury = ZAL lub… | Błąd |
MALFORMED_XML | XML nie jest poprawnie zbudowany | Błąd |
NEGATIVE_QUANTITY_NOT_ALLOWED | Ujemne ilości (P_8B) są dozwolone tylko w fakturach korygujących (RodzajFaktury =… | Błąd |
NIP_IN_WRONG_FIELD | Polski NIP w polu NrVatUE - musi być w polu NIP, by nabywca miał dostęp w KSeF… | Ostrzeżenie |
NRRB_LENGTH | NrRB musi mieć od 10 do 34 znaków (§12.1) | Ostrzeżenie |
NST_LOGIC | NoweSrodkiTransportu | Błąd |
OO_RATE_FOREIGN_BUYER | P_12 = 'oo' dotyczy wyłącznie krajowego odwrotnego obciążenia | Ostrzeżenie |
P6_P6A_MUTUAL_EXCLUSION | P_6 (wspólna data dostawy) i P_6A (data dostawy dla wiersza) wzajemnie się wykluczają… | Błąd |
P12_ENUMERATION | P_12 musi mieć jedną z wartości | Błąd |
P15_MISSING | P_15 (kwota należności ogółem) jest obowiązkowe w Fa (§9.4) | Błąd |
PAYMENT_ZAPLACONO_DATE | Gdy Platnosc/Zaplacono = '1', DataZaplaty musi być podana (§12.1) | Ostrzeżenie |
PMARZY_LOGIC | PMarzy | Błąd |
PODMIOT2_GV_MISSING | Element GV jest obowiązkowy w Podmiot2 (§6.1) | Błąd |
PODMIOT2_JST_MISSING | Element JST jest obowiązkowy w Podmiot2 (§6.1) | Błąd |
PODMIOT3_ROLE_MISSING | Gdy Podmiot3 nie ma elementu Rola, muszą wystąpić RolaInna i OpisRoli | Błąd |
PODMIOT3_UDZIAL_REQUIRES_ROLE_4 | Element Udzial w Podmiot3 jest dozwolony tylko, gdy Rola = '4' (§7.2) | Błąd |
RACHUNEKBANKOWY_NRRB | Gdy wypełniono RachunekBankowy, NrRB jest obowiązkowy (obowiązek zagnieżdżony) (§2.2,… | Błąd |
REQUIRED_ELEMENT_MISSING | Brak elementu wymaganego przez schemat | Błąd |
REVERSE_CHARGE_CONSISTENCY | Odwrotne obciążenie | Ostrzeżenie |
RODZAJ_FAKTURY_SECTIONS | Rodzaj faktury określa wymagane sekcje | Błąd |
SCHEMA_VALIDATION_FAILED | XML nie jest zgodny ze schematem XSD FA(3) | Błąd |
SELF_BILLING_PODMIOT3_CONFLICT | Samofakturowanie (P_17 = '1') | Ostrzeżenie |
TAX_CALCULATION_MISMATCH | Błąd obliczenia podatku | Błąd |
TRANSPORT_MINIMUM_DATA | Transport wymaga | Ostrzeżenie |
WALUTA_UMOWNA_PLN | WalutaUmowna NIGDY nie może mieć wartości 'PLN' (§13.1, Appendix D #10) | Błąd |
XML_BOM_PRESENT | Plik zaczyna się od znacznika BOM UTF-8 | Błąd |
XML_DISCOURAGED_CHARACTER | Znak odradzany przez specyfikację XML W3C ([#x7F-#x84], [#x86-#x9F], [#xFDD0-#xFDEF],… | Błąd |
XML_DISCOURAGED_CHARACTER_MORE | Podsumowanie | Błąd |
XML_ENCODING_NOT_UTF8 | Deklaracja XML wskazuje kodowanie inne niż UTF-8 | Błąd |
XML_PROCESSING_INSTRUCTION | Instrukcja przetwarzania XML (np | Błąd |
XML_PROCESSING_INSTRUCTION_MORE | Podsumowanie | Błąd |
ZWOLNIENIE_LOGIC | Zwolnienie | Błąd |