Official rule text
[WALUTA_UMOWNA_PLN] WalutaUmowna must NEVER be 'PLN' (§13.1, Appendix D #10)
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
- PLN incorrectly used in contract currency field
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
CURRENCY_RATE_MISMATCHKursWaluty does not match the NBP Table A mid-rate for the reference date (ArtCURRENCY_RATE_UNVERIFIABLEKursWaluty cannot be verified — NBP rate unavailable or outside the valid date window (ArtFOREIGN_CURRENCY_TAX_PLNForeign currency invoice with tax amounts should include PLN conversions in P_14_*W…KURS_WALUTY_Z_PLACEMENTKursWalutyZ at Fa level is ONLY valid for advance invoices (RodzajFaktury = ZAL or…NEGATIVE_QUANTITY_NOT_ALLOWEDNegative quantities (P_8B) are only allowed in corrective invoices (RodzajFaktury =…NIP_IN_WRONG_FIELDPolish NIP detected in NrVatUE field - must be in NIP field for purchaser KSeF access…OO_RATE_FOREIGN_BUYERP_12 = 'oo' is for domestic reverse charge onlyP12_ENUMERATIONP_12 must be one of
Frequently asked questions
What does WALUTA_UMOWNA_PLN mean?
WALUTA_UMOWNA_PLN is a ksef fa(3) rule: WalutaUmowna must NEVER be 'PLN' (§13.1, Appendix D #10)
Will my invoice be rejected because of WALUTA_UMOWNA_PLN?
Yes. WALUTA_UMOWNA_PLN 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 WALUTA_UMOWNA_PLN 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.