Validate KSeF invoices for Poland

KSeF (FA(3)) is required in Poland. Poland launched KSeF (Krajowy System e-Faktur) as mandatory for all B2B transactions on February 1, 2026.

Check a KSeF invoiceChecking is free. The tool detects the profile itself.

At a glance

FormatKSeF (FA(3))
MandateB2B mandatory
PeppolNot connected
PortalKSeF ↗

What we validate

FA(3) XSD schema compliance
NIP (tax number) format and checksum validation
Mandatory header fields (Naglowek) completeness
Seller (Podmiot1) identification and NIP presence
Buyer (Podmiot2) identification and NIP/PESEL format
Invoice date (P_1) not in the future
Invoice number (P_2) uniqueness structure
VAT rate and amount calculation consistency
RodzajFaktury (invoice type) enumeration values
Duplicate detection (NIP + invoice type + number)

Common KSeF rejections

XSD-001XML not conforming to FA(3) schema
440Duplicate invoice detected (NIP + type + number)
XSD-NIPInvalid NIP format or checksum failure
XSD-P1Invoice date (P_1) is in the future
XSD-REQMissing mandatory field in Fa section
21405Input data validation error (invalid payload)

Poland e-invoicing requirements

PhaseStatusScope
KSeF voluntaryLive (Jan 2022)All VAT payers (opt-in)
B2B mandatory — Phase 1Live (Feb 1, 2026)Large taxpayers (>200M PLN turnover)
B2B mandatory — Phase 2Live (Apr 1, 2026)All remaining VAT-registered entities (SMEs, sole proprietors, VAT-exempt businesses)
B2GLive (Feb 1, 2026)Included in general KSeF mandate
Financial penaltiesJan 1, 2027Up to 100% of VAT amount on non-compliant invoices
Validation engineKSeF (centralized government validation)
Required CIUSKSeF XML schema (FA(3) — proprietary, replaced FA(2) in February 2026; not EN 16931)
Government portalKSeF (ksef.mf.gov.pl) ↗
Routing identifierNIP (tax identification number)
PeppolNo — KSeF is a closed national system

KSeF is architecturally different from Peppol-based mandates. If you've built for Belgium or Germany, assume nothing transfers.

Read on

About KSeF →Poland e-invoicing guide →All validators →
Related