FAQ — KSeF Questions Answered

Answers to the most common questions about KSeF — from the basics to technical details.

KSeF Basics

What is KSeF?

KSeF (Krajowy System e-Faktur) is the Polish Ministry of Finance platform for issuing and receiving structured invoices. Every B2B invoice must be submitted to KSeF as an XML file and receive an official number before it reaches the buyer. The system acts as a central tax invoice register maintained by the state.

When did KSeF become mandatory?

For large businesses (sales above 200M PLN per year), KSeF became mandatory on February 1, 2026. For all other active VAT taxpayers — from April 1, 2026. VAT-exempt taxpayers follow the same deadlines as everyone else. From January 1, 2027 the obligation applies to all, with no monthly sales limit.

Who does KSeF apply to?

KSeF applies to all active VAT taxpayers with a registered office or fixed place of business in Poland. The obligation covers B2B invoices and invoices issued to individuals outside the cash register system. VAT-exempt entities are covered too, on the same deadlines as other taxpayers.

Does KSeF apply to consumer invoices (B2C)?

Consumer invoices (B2C) are generally subject to KSeF, with one important exception: invoices issued via cash registers are excluded. If you issue an invoice outside the cash register system — e.g. in invoicing software — it must go through KSeF. In practice, most retail invoices issued via a cash register remain outside the system.

Does KSeF apply to till receipts with a NIP number?

Till receipts with the buyer's NIP number issued via a cash register are treated as simplified invoices and are not subject to KSeF. These receipts still have full legal force as proof of purchase. Only regular VAT invoices issued outside the cash register system are subject to the KSeF obligation.

What is FA(3)?

FA(3) is the current XML schema for structured invoices, published by the Polish Ministry of Finance. The number 3 indicates the third version of the format. All invoices submitted to KSeF must comply with this schema — any deviation results in rejection by the system.

What is the difference between FA(2) and FA(3)?

FA(2) was the previous schema version, used in KSeF 1.0 (until 31 January 2026). FA(3) introduced a new XML namespace, updated fields, and expanded annotation requirements. FA(2) invoices are not accepted by KSeF 2.0 — if your software was generating FA(2), confirm with your vendor that an update to FA(3) has been released.

Can I still send PDF invoices?

No — PDF is not accepted by KSeF as a tax document. The system requires a structured XML file compliant with FA(3). You can still send the buyer a PDF visualization for convenience, but the legal version of the document is the XML file registered in KSeF. Good invoicing software generates both: XML for KSeF and PDF for the buyer.

What is a KSeF number?

A KSeF number is a unique invoice identifier assigned by the MF system upon successful registration of the document. This number is required when correcting an invoice that was issued through KSeF — the correction must reference the KSeF number of the original invoice, otherwise it will be rejected. If the original invoice was issued outside KSeF (before the system was introduced), the NrKSeFN marker is used instead.

What is UPO?

UPO (Urzędowe Poświadczenie Odbioru — Official Receipt Confirmation) is a document confirming that an invoice was accepted by KSeF. It contains the KSeF number, acceptance date, and a digital signature from the system. UPO proves that the invoice was correctly registered — it is worth archiving alongside the invoice XML file.

Thresholds and Exemptions

What is the 10,000 PLN threshold?

Taxpayers with monthly invoiced sales not exceeding 10,000 PLN can issue invoices outside KSeF until December 31, 2026. This applies to any taxpayer, including VAT-exempt ones (Art. 145m of the VAT Act). From January 1, 2027 there is no limit. Check the current regulations at ksef.podatki.gov.pl or consult your accountant.

How is the 10,000 PLN threshold calculated?

The threshold is calculated as the total gross (including VAT) value of invoices subject to the KSeF obligation issued in a given calendar month — not total revenue or the number of invoices. Both VAT-taxable and VAT-exempt B2B invoices subject to KSeF count. Sales through cash registers, B2C invoices (for private individuals), and simplified invoices (receipts with NIP up to 450 PLN) do not count. If you are approaching the threshold or are unsure how the rules apply to you, consult your accountant — the regulations in this area have been amended.

When does KSeF apply to me if I'm below the threshold?

The date from which KSeF applies to smaller taxpayers depends on VAT status and current regulations — the rules have been amended several times. Always verify the applicable dates directly at ksef.podatki.gov.pl or consult your accountant.

Does a flat-rate farmer need to use KSeF?

Flat-rate farmers use a special tax regime and are generally exempt from the KSeF obligation. RR invoices (issued by the buyer to the flat-rate farmer) are subject to separate regulations. If you also run other VAT-taxable activities, consult your accountant.

Who is exempt from KSeF?

Exemptions include taxpayers without a registered office or fixed place of business in Poland, invoices issued under special procedures (OSS/IOSS), and invoices from cash registers (until December 31, 2026, Art. 145n). The full list of exemptions is defined in the Polish VAT Act and secondary legislation — check ksef.podatki.gov.pl for details.

Does a foundation or association need to use KSeF?

It depends on whether the organization is registered as an active VAT taxpayer. If so — from April 1, 2026 it must use KSeF for its VAT invoices. Organizations conducting exclusively VAT-exempt activities are subject to KSeF on the same deadlines as other taxpayers. Organizations that do not issue VAT invoices at all are not subject to the obligation.

Issuing Invoices

How do I issue my first invoice in KSeF?

First, gain access to KSeF — log in through the Taxpayer Application KSeF (ap.ksef.mf.gov.pl) or integrate your invoicing software with the KSeF API. Then prepare an XML file compliant with FA(3) and submit it to the system. After successful acceptance, you receive a KSeF number and UPO — from that moment the invoice is legally effective.

What if my invoicing software doesn't support KSeF?

Contact your software vendor and ask about an update to KSeF 2.0 with FA(3) support. Most popular invoicing programs already have or are planning such an update. As a temporary alternative, you can use the free Taxpayer Application KSeF from the Ministry of Finance — it is basic but sufficient for manual invoice issuance.

Are there free tools from the Ministry of Finance?

Yes — the Ministry of Finance provides the free Taxpayer Application KSeF (ap.ksef.mf.gov.pl) for issuing, receiving, and viewing KSeF invoices. It is a good solution for people issuing a few invoices per month. For higher volumes, a dedicated invoicing program with KSeF integration is more convenient.

What is e-mikrofirma?

e-mikrofirma is a free MF web application for the smallest businesses, enabling invoice issuance and tax settlement. It supports KSeF in a limited scope and is an alternative to commercial invoicing software. It works well for people who issue invoices occasionally.

What is the Taxpayer Application KSeF?

This is the official MF application (ap.ksef.mf.gov.pl) for managing invoices in KSeF. It allows you to issue invoices manually via a form, upload ready-made XML files, view received invoices, and manage permissions. Access via Trusted Profile, e-ID, or qualified certificate. It is free and requires no installation.

How does a corrective invoice work in KSeF?

A corrective invoice in KSeF must include the KSeF number of the original invoice — when that invoice was issued through KSeF. You submit it the same way as a regular invoice: as an XML file to KSeF. After acceptance, it receives its own KSeF number. The rules for agreeing corrections with the buyer remain unchanged.

How do I issue a foreign currency invoice?

A foreign currency invoice in KSeF must include VAT amounts converted to Polish zloty (PLN) at the NBP exchange rate. In the XML file, you provide both the foreign currency amounts and the PLN equivalent. The exchange rate must match the rate from the day before the invoice date. PLN fields are mandatory — missing the conversion results in rejection.

How do I invoice a foreign buyer?

Invoices for EU or non-EU buyers submitted to KSeF use different VAT rates. For intra-EU supply (WDT) use 0%, for exported services — the not-subject-to-VAT designation with the appropriate code. Enter the buyer's EU VAT number in the NrVatUE field. Validate the file before submitting — errors in foreign buyer address fields are common.

What is self-invoicing in KSeF?

Self-invoicing is when the buyer issues an invoice on behalf of the seller — based on a prior agreement between the parties. In KSeF it requires special permissions: the seller must authorize the buyer to issue invoices in their name. The document in KSeF is marked as issued under self-invoicing.

Offline Mode and Failures

What should I do if KSeF is down?

When KSeF is unavailable, the Ministry of Finance officially announces emergency mode. During this time you can issue invoices outside the system with appropriate markings. After KSeF is restored, you have a set time to submit the pending invoices. Check status at ksef.podatki.gov.pl.

What is offline mode?

Offline mode allows you to issue invoices outside KSeF when you have no internet access or the system is unavailable. An offline invoice gets a special QR code downloaded in advance from MF and must be submitted to KSeF once connectivity is restored. You can use offline mode proactively, not just during failures.

What is emergency mode?

Emergency mode is officially declared by the Ministry of Finance when KSeF is unavailable due to technical or administrative reasons. During this time the obligation to send invoices to KSeF is suspended — you issue invoices outside the system and commit to uploading them after the outage. Status updates appear on ksef.podatki.gov.pl.

How long do I have to submit invoices after an outage?

After emergency mode ends, you generally have until the next business day to submit invoices issued in offline or emergency mode. The exact deadline depends on the length of the outage and may be announced by the MF along with the system restoration notice. We recommend sending pending invoices as soon as possible.

What does the QR code in offline mode look like?

The QR code on an offline invoice is a special token downloaded in advance from the KSeF system — each business can download a pool of codes in case of connectivity loss. The code identifies the invoice and enables its later association with KSeF after the document is uploaded. Without a valid QR code, an offline invoice may be challenged.

How do I know if KSeF is unavailable?

The official KSeF system status is published at ksef.podatki.gov.pl. Your invoicing software should also display a notification when it cannot connect to the MF API. Planned outages are usually announced in advance; unplanned ones — immediately.

Access and Authorizations

How do I log in to KSeF?

Log in to KSeF through the Taxpayer Application (ap.ksef.mf.gov.pl) using one of these methods: Trusted Profile (Profil Zaufany), e-ID, qualified signature, or KSeF certificate. Trusted Profile is the most convenient for most business owners — it can be set up for free via online banking or at a government office. API access (for software integrations) requires a certificate or token.

What is ZAW-FA?

ZAW-FA is a paper form notifying the tax office of granting or revoking KSeF permissions. It is only needed when the taxpayer is not a natural person and has no qualified seal, or when the signature or seal does not contain a NIP or PESEL. In all other cases permissions are granted electronically.

How do I authorize my accountant for KSeF?

You grant permissions electronically in the Taxpayer Application KSeF 2.0 (permissions panel) or via the API. The ZAW-FA form at the tax office is only needed in exceptional cases, for example when you are not a natural person and have no qualified seal. The authorization specifies whether the accountant can only read invoices or also issue them. Your accounting office will usually ask you for the appropriate authorization — check with your accountant.

What is a KSeF certificate?

A KSeF certificate is an electronic identity credential used for authentication in the KSeF API. It is downloaded from the MF system and allows software and integrators to log in to KSeF without a Trusted Profile. Certificate types are defined by function: type 1 is used for authentication in KSeF, type 2 for issuing invoices in offline mode. One certificate has one type.

What is the difference between a type 1 and type 2 certificate?

They differ by function, not by who holds them. A type 1 certificate (API name: Authentication) is used for authentication in KSeF. A type 2 certificate (API name: Offline) is used for issuing invoices in offline mode. One certificate has one type, so you need two certificates for both purposes.

What is an authentication token?

An authentication token is a string generated in the Taxpayer Application KSeF, used in place of a certificate for API authentication. Tokens are more convenient for integrators and smaller systems — they do not require managing PKI certificates. A token has a defined validity period and permission scope, and can be revoked at any time from the Taxpayer Application.

Validation and Errors

How do I check if my invoice is valid?

Before sending your invoice to KSeF, drop the XML file on ksefuj.to — validation runs entirely in your browser, data never leaves your computer. We check both FA(3) schema compliance and MF semantic rules. Errors are described in plain language — you'll know exactly what to fix.

What does an XSD validation error mean?

An XSD error means the XML file structure does not match the FA(3) schema. Common causes: missing required field, wrong element order, typo in element name, or invalid date format. The ksefuj.to validator describes each XSD error clearly and indicates the exact location in the file.

What are the most common errors in KSeF invoices?

The most common errors are: missing required annotation fields (P_16, P_17, P_18, P_18A, P_23 and other Adnotacje section fields), incorrect GTU format (should be GTU_01, not a separate element), missing PLN currency conversions, a Polish NIP entered in the EU VAT number field instead of the NIP field, and excessive decimal precision on amounts. The ksefuj.to validator detects all of these automatically and suggests how to fix them.

Does ksefuj.to store my data?

No. Your XML file never leaves the browser — all processing happens locally on your computer. We have no access to your invoices, do not transmit them to any servers, and keep no content logs. Invoices are sensitive data — which is why we designed ksefuj.to as a fully private tool.

Is ksefuj.to free?

Yes — forever. The ksefuj.to validator is free with no limits, no registration, no paywall. We believe basic KSeF tools should be available to everyone — especially small businesses and freelancers. The full source code is publicly available on GitHub.

How does ksefuj.to differ from the MF validator?

The MF does not provide a standalone XML validator — validation only happens when you submit an invoice to KSeF, meaning you find out about errors too late. ksefuj.to fills that gap: you can check your XML file before sending, without logging in and without risking invoice rejection. We also check semantic rules that the XSD schema alone cannot verify.