If you sell goods or services to customers in Poland, the invoice you email as a PDF may no longer count as an invoice. Since February 2026, Poland has required most domestic business-to-business invoices to be issued as structured data through its national platform, the Krajowy System e-Faktur (KSeF). If your Polish buyer cannot find your invoice in KSeF, they may treat it as never received — and your payment waits while both sides scramble to fix the paperwork.
This guide walks through who must comply, the phased rollout dates running through September 2026 and into 2027, how the system actually works day to day, and the bookkeeping habits that keep cross-border sales moving.
What KSeF Is and Why Poland Built It
KSeF is Poland's central e-invoicing platform, run by the Ministry of Finance. Instead of sending a PDF or paper invoice directly to your customer, you submit a structured XML file in a government-defined format. The system validates it, assigns it a unique KSeF reference number, and makes it available to the buyer inside the same platform.
The policy goal is straightforward: close the VAT gap. When every domestic B2B invoice flows through one system in a machine-readable format, the tax authority can cross-check seller and buyer reports automatically instead of auditing after the fact. Poland is not alone in this direction — France, Belgium, and several other countries have mandates landing in the same 2026 window — but Poland's system is among the most centralized, with the platform itself acting as the delivery channel rather than just a reporting endpoint.
For sellers, that centralization cuts both ways. You get proof of issuance straight from the tax authority's system, fewer disputes about whether an invoice was sent, and faster buyer-side matching. But you also lose the flexibility of informal invoicing: a nicely formatted PDF sent by email does not satisfy the mandate where KSeF applies.
Who Has to Comply
The mandate covers VAT-registered businesses issuing domestic B2B invoices in Poland. In practice, that means:
- Polish VAT-registered companies issuing invoices to other Polish businesses must use KSeF.
- Certain foreign entities with Polish VAT obligations fall in scope for the domestic transactions they invoice, so a US or UK seller with a Polish VAT registration cannot assume the rules stop at the border.
- Consumers and foreign buyers receive invoices outside KSeF in a manner agreed with the seller — typically with a QR code linking back to the structured invoice — because they have no Polish tax identifier to receive through the platform.
A handful of carve-outs exist. Invoices documenting purchases of agricultural products from flat-rate farmers (the so-called VAT RR invoices) are exempt from the mandatory flow, with optional use postponed into the spring. Certain railway tickets, toll receipts treated as invoices, and self-billed invoices issued by foreign companies without a Polish VAT number sit outside the obligation as well.
If you only sell to Polish consumers, or only export from abroad without a Polish VAT registration, KSeF likely does not touch your invoicing. If you are unsure whether your Polish activity creates a VAT registration duty in the first place, that is the question to settle first — everything else follows from it.
The Rollout Timeline Through 2026 and Into 2027
Poland chose a phased launch rather than a single big-bang date:
- February 1, 2026 — mandatory B2B e-invoicing began for the largest taxpayers, generally those with turnover above 200 million PLN. The upgraded KSeF 2.0 platform went live the same day, and the new FA(3) invoice schema became the only accepted structured format, replacing the earlier FA(2) version.
- April 1, 2026 — the obligation extended to all remaining VAT-registered businesses. From this date, the standard domestic B2B invoice in Poland is a KSeF structured invoice.
- Through December 31, 2026 — a transitional year. Enforcement is deliberately education-focused: no penalties for errors related to invoicing via KSeF, no obligation to include the KSeF number in payments (including split-payment transfers), and continued tolerance for working out integration problems.
- January 1, 2027 — the training wheels come off. KSeF-specific sanctions apply, and the obligation to reference the KSeF identifier in bank transfers takes effect. The smallest businesses, including micro-enterprises at the lowest sales volumes, join the full mandatory flow around this point.
Two practical notes on this timeline. First, the transitional relief is about penalties, not about the obligation itself — large and mid-size sellers have been required to issue through KSeF since the spring even though mistakes are not being fined yet. Second, early rollout data suggests the platform has held up: tens of thousands of invoices and hundreds of thousands of logged-in users in the opening phase, with no major outage. Plan as though the system is permanent, because it is.
How Invoicing Through KSeF Actually Works
The day-to-day flow has four steps:
1. Create the invoice in the FA(3) format
Your accounting or ERP software generates the invoice as structured XML conforming to the FA(3) logical structure published by the Ministry of Finance. This is not a PDF with extra metadata — it is data fields (seller, buyer, line items, VAT rates, totals) in a fixed schema the system can validate automatically. Ask your software vendor one direct question: do you support KSeF 2.0 and FA(3)? If the answer is vague, you do not have a compliant setup.
2. Submit it to KSeF and get the reference number
The invoice travels to the platform via API integration, through the free government tools, or through an authorized e-invoicing provider. KSeF validates the structure, accepts the invoice, and assigns the KSeF number that uniquely identifies it. That number is the invoice's proof of existence in the system.
3. Your buyer retrieves it from KSeF
Domestic business buyers with a Polish tax identifier receive the invoice exclusively through KSeF — they log in (or their software pulls automatically) and the invoice is there. Consumers, foreign entities, and buyers without a Polish identifier get the invoice in an agreed format outside the platform, with a QR code that verifies against the system record. Design your post-sale emails around this split: Polish B2B customers need their KSeF number prominently shown, while everyone else needs a readable document plus the code.
4. Corrections, attachments, and offline backup
Corrections generally flow through the same channel as new structured invoices rather than as side letters. The 2.0 platform supports attachments, a B2C e-invoicing option, and QR codes in a standardized format. For outages — yours or the platform's — the Offline24 mode lets you issue the invoice locally and submit it to KSeF no later than the next business day. Treat Offline24 as a fire exit, not a front door: it is designed for exceptional situations, and routine use will draw attention.
Common Mistakes That Stall Payments
Most early problems are operational rather than legal, and they all delay cash:
- Assuming the PDF still counts. Sending only a PDF to a Polish B2B buyer after your mandate date means the buyer has nothing bookable in their KSeF inbox. Confirm receipt in the system, not just in the email outbox.
- Running an FA(2)-era integration. The old schema stopped being accepted when KSeF 2.0 launched. If your connector was built for the voluntary phase, verify it was upgraded to FA(3) and the 2.0 API.
- Forgetting the buyer-side setup. Your invoice is only half the flow. Make sure your Polish customers know which tax identifier and receiving setup to use, especially if you onboarded them before the mandate.
- Using Offline24 as the normal process. Late submissions, missing KSeF numbers at month-end, and reconciliation gaps follow quickly. Reserve it for genuine outages and log every use.
- Ignoring the January 2027 payment-reference change. Payment runs that omit the KSeF identifier will need rework once the transfer-reference obligation bites. Update your payment templates during the penalty-free window, not after it.
- No fallback owner. When the one person who knows the KSeF login is on vacation, invoicing stops. Assign a backup administrator and store credentials (and the API tokens) where the business — not one laptop — owns them.
What to Do Now: A Practical Checklist
Work through these in order, whether you are a Polish seller or a foreign business with Polish VAT duties:
- Confirm your scope. Are you (or will you become) VAT-registered in Poland, and do you issue domestic B2B invoices? Get a yes-or-no answer from your tax adviser before spending on software.
- Pin down your mandate date. Large taxpayers were in scope from February 2026, everyone else from April 2026, with the smallest sellers phasing in toward January 2027. Know which row you sit in.
- Verify FA(3) and KSeF 2.0 support. Contact your accounting software provider and any e-invoicing intermediary. Test in the official test environment before touching live invoices.
- Map your invoice types. List every document you issue — standard sales invoices, corrections, self-billed items, recurring charges — and confirm each has a KSeF path or a documented exemption.
- Rebuild buyer communications. Update invoice emails to include the KSeF number and QR handling, and brief your Polish B2B customers on where to find their invoices.
- Update payment runs. Add the KSeF reference to your transfer templates and split-payment workflows now, while omitting it is still tolerated.
- Assign roles and permissions. Decide who can issue, who can view, and who administers access. Authentication in KSeF is role-based, and shared logins are an audit finding waiting to happen.
- Rehearse month-end. Run a full close with KSeF invoices: issuance, buyer confirmation, corrections, and the VAT return tie-out. Fix the gaps while errors carry no fines.
- Calendar January 1, 2027. Sanctions, the payment-reference duty, and the final wave of small-seller coverage all converge here. Put the date in front of whoever owns compliance.
Keep Your Cross-Border Books Audit-Ready
E-invoicing mandates like KSeF reward businesses whose underlying records are already clean. When every invoice exists as structured data, the tax authority's questions get sharper: line-item coding, VAT-rate choices, correction chains, and the tie between issued invoices, received payments, and the return all have to agree. Tracking Polish sales in a separate ledger segment — with KSeF numbers stored alongside each transaction — turns a mandate from a scramble into a routine, and it makes the eventual audit a document pull rather than a reconstruction project.
Simplify Your Financial Management
As you adapt your invoicing to rules like Poland's KSeF mandate, maintaining clear, structured financial records is essential. Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — no black boxes, no vendor lock-in. Get started for free and see why developers and finance professionals are switching to plain-text accounting.