Official rule text
[KURS_WALUTY_Z_PLACEMENT] KursWalutyZ at Fa level is ONLY valid for advance invoices (RodzajFaktury = ZAL or KOR_ZAL) (§9.2, §9.5)
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
- Exchange rate placed at wrong level for non-advance invoice
- Should be in FaWiersz/KursWaluty for regular invoices
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…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 ofSELF_BILLING_PODMIOT3_CONFLICTSelf-billing (P_17 = '1')
Frequently asked questions
What does KURS_WALUTY_Z_PLACEMENT mean?
KURS_WALUTY_Z_PLACEMENT is a ksef fa(3) rule: KursWalutyZ at Fa level is ONLY valid for advance invoices (RodzajFaktury = ZAL or KOR_ZAL) (§9.2, §9.5)
Will my invoice be rejected because of KURS_WALUTY_Z_PLACEMENT?
Yes. KURS_WALUTY_Z_PLACEMENT 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 KURS_WALUTY_Z_PLACEMENT 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.