Official rule text
[NST_LOGIC] NoweSrodkiTransportu: exactly one of P_22 or P_22N required. If P_22 = '1', P_42_5 and NowySrodekTransportu required (§9.6)
Why this error occurs
KSeF checks the FA(3) XML in two stages: XSD schema (structure, element order, data types, patterns such as NIP or dates) and semantic rules from the Ministry of Finance information sheet (consistency of amounts, annotations P_16 to P_23, roles of Podmiot2/Podmiot3, bank account formats, currency rates).
How to fix it
Fix the element named in the message. For XSD errors compare the element order and value pattern with the FA(3) schema; for semantic errors apply the cause and fix hints listed on this page. Re-validate before submitting to KSeF: a rejected invoice has no KSeF number and is not issued.
What the validator checks
Typical causes
- Both P_22 and P_22N present or both missing
- P_22 = 1 but vehicle details not provided
- P_22N = 1 but vehicle fields present
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
DUPLICATE_LINE_NUMBERSLine numbers (NrWierszaFa) must be unique within the invoice (except in corrective…GV_REQUIRES_PODMIOT3When Podmiot2/GV = '1', at least one Podmiot3 must exist with Rola = '10' (§6.1,…JST_REQUIRES_PODMIOT3When Podmiot2/JST = '1', at least one Podmiot3 must exist with Rola = '8' (§6.1,…KOR_NRKSEF_CONSISTENCYDaneFaKorygowanejKURS_WALUTA_PAIRKursUmowny and WalutaUmowna must both be present or both absent (§13.1, Appendix D #11)P6_P6A_MUTUAL_EXCLUSIONP_6 (common delivery date) and P_6A (per-line delivery date) are mutually exclusive…PAYMENT_ZAPLACONO_DATEWhen Platnosc/Zaplacono = '1', DataZaplaty must be present (§12.1)PMARZY_LOGICPMarzy
Frequently asked questions
What does NST_LOGIC mean?
NST_LOGIC is a ksef fa(3) rule: NoweSrodkiTransportu: exactly one of P_22 or P_22N required. If P_22 = '1', P_42_5 and NowySrodekTransportu required (§9.6)
Will my invoice be rejected because of NST_LOGIC?
Yes. NST_LOGIC is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals, KSeF) reject the invoice until it is fixed.
Which formats does NST_LOGIC apply to?
Structured invoices (FA(3) schema) submitted to the Polish KSeF. XSD codes come from the schema, semantic codes from the Ministry of Finance information sheet; KSeF rejects invoices that fail an error-level rule. Syntax: FA3.
Source: KSeF FA(3) schema 1-0E + semantic rules (@ksefuj/validator 0.4). Catalogue generated from the official rule sets on 2026-10-15.