KSeF and the FA(3) schema: a checklist for companies and software vendors
Expert knowledge. Content verified: 31 October 2026.
The list below organizes what is worth checking before invoices start flowing to the National e-Invoicing System. The source document is always the official Ministry of Finance documentation, which changes, so confirm deadlines and technical details there.
Schema and data
- An invoice in the current FA(3) schema, validated against the official XSD before sending.
- Correct buyer data (tax ID and name) and a VAT scenario that matches the type of sale.
- Gap-free numbering and invoice uniqueness (the same number and tax ID cannot occur twice).
- Foreign-currency invoices with the NBP rate from the right day and tax converted to zloty.
Authentication and security
- Your own token or certificate with permissions to issue and read invoices, generated in the KSeF application for the company tax ID.
- The token is stored encrypted, never shown again and never written to logs.
- Separate environments (test, DEMO, production) and an explicit environment choice so a trial does not go to production.
Statuses, UPO and errors
- Storing the official acknowledgement of receipt (UPO) with the invoice, together with the KSeF number.
- Retrying the UPO download when it is not ready yet, and an explicit invoice status (draft, sent, accepted, rejected).
- Readable rejection messages: the error code translated into what the user needs to fix.
- Reading the invoice status before resending after an interrupted connection, so a duplicate is not sent.
QR codes and fallback modes
- QR codes on the invoice printout in the modes where they are required.
- Support for offline mode, unavailability and failure with resend deadlines counted in working days.
- A resend queue with reminders and an alert before the deadline.
Corrections and purchase invoices
- Correction invoices with the KSeF number of the original invoice and the correct deadline for settling the VAT reduction.
- Downloading purchase invoices from KSeF and posting them with a person able to approve.