Blog
Back to Blog
14 April 2026

KSeF in Poland for IT B2B Expats: Step-by-Step Guide to Issuing Invoices in 2026

Running a Polish JDG as a foreign IT contractor? Learn how to issue a KSeF invoice Poland without expensive accounting software. Free FA3 XML generator, no signup.
KSeF in Poland for IT B2B Expats: Step-by-Step Guide to Issuing Invoices in 2026

The KSeF (Krajowy System e-Faktur — Poland's mandatory National e-Invoicing System) rollout has been delayed, but the obligation itself is not going away. For many foreign IT contractors running a Polish sole proprietorship (JDG — Jednoosobowa Działalność Gospodarcza), the news sparked real anxiety: "Do I need to hire a local accountant now? Buy some expensive Polish invoicing subscription?"

Relax. The answer is: no.

If you invoice 1–2 Polish clients per month, all you need is a simple, free FA3 XML generator that produces a valid KSeF-compliant file. Literally 2 minutes and zero subscription fees. This guide is your complete, English-language walkthrough — no Polish required.


Is KSeF Mandatory for IT Contractors on Ryczałt (Lump-Sum Tax)?

Yes — no exceptions, regardless of your tax form.

Many foreign freelancers operating in Poland assume that their tax form — whether Ryczałt (Lump-sum tax / flat-rate) or Liniówka (Flat income tax) — might exempt them from KSeF. It does not. Polish law is clear: if you run a JDG and issue invoices to Polish VAT-registered companies, you must issue structured e-invoices through KSeF.

What this means in practice for an IT contractor on Ryczałt (e.g. the popular 12% rate for IT services)?

  • You still issue invoices as before — just in the standardized FA(3) XML format instead of a PDF.
  • Your Polish client can deduct VAT only from an invoice registered in KSeF.
  • Not sure where to start with KSeF Poland in English? Don't worry — the rules are identical for every type of JDG, regardless of your tax formula.

This is not a reason to panic. The obligation is real, but fulfilling it is genuinely trivial.


Why a Foreign IT Freelancer Doesn't Need Expensive Polish Accounting Software

Before you commit to a full-featured Polish accounting platform (whose complete packages often cost from ~50 PLN/month), ask yourself one question:

How many of their features will you actually use?

A typical B2B IT contractor on a Polish contract needs:

  • ✅ Issue one invoice per month
  • ✅ Generate an FA(3) XML file for KSeF
  • ✅ Download a PDF for the client

But ends up paying for modules they'll never touch:

  • ❌ Warehouse / inventory management
  • ❌ ZUS (social security) calculations and asset depreciation
  • ❌ Multi-user CRM

A free KSeF tool does everything you need — one thing, done correctly: generating a valid XML FA(3) file. That tool exists and costs nothing.


Structured Invoice (FA3) vs. Regular PDF: What Changes for B2B?

Let's demystify this. Many expats are intimidated by the term "structured invoice," but in practice it's just a plain-text file in XML format.

Think of it as two separate documents serving two different audiences:

Regular PDFStructured Invoice FA(3) XML
For whom?For humans (visually readable)For the KSeF server (machine-readable)
Format?Image / PDF documentPlain-text .xml with a strict schema
Mandatory?No (but you can still email it to your client)Yes — from the moment KSeF becomes fully active

For you as a Polish e-invoicing B2B expat, a structured invoice contains the exact same data you already know: seller's NIP (Polish Tax ID), buyer's NIP, line items, VAT amounts. It's just packaged in structured XML code instead of a PDF.

Your role: enter the data → click "Download XML" → upload the file to the system. No coding. No accountant.


How to Generate an FA3 XML File and Send It to KSeF: A 3-Step Guide

This is the core of the guide. Below is a literal, step-by-step instruction you can follow right now — in under 5 minutes.

Step 1: Generate Your Invoice at ksefinvoices.com

Go to ksefinvoices.com — a free FA3 XML generator for KSeF Poland in English. No registration, no email required.

Fill in the fields:

  • Seller: Your JDG data (NIP, address, company name)
  • Buyer: Your client's data (NIP, company name)
  • Line item: e.g., "IT services – April 2026", your Ryczałt rate, net amount

Your data is saved locally in your browser (Local Storage) — it never leaves your device.

KSeF FA3 XML structure and invoice preview on a laptop

Step 2: Download the FA3 XML File

Click the "Download" button in the top right corner, then select from the menu:

XML-KSEF FA3 ← this is exactly what you need

The service instantly generates a valid, schema-validated *.xml file compliant with the FA(3) specification published by the Polish Ministry of Finance. That's how to generate an FA3 XML file — done.

Step 3: Upload the File via the Free Government App (Aplikacja Podatnika KSeF)

Visit the Polish Ministry of Finance website and access the free Aplikacja Podatnika KSeF (Free government KSeF app — podatki.gov.pl).

  1. Log in using Profil Zaufany (Trusted Profile — Poland's free digital identity system, no qualified e-signature needed)
  2. Select "Send invoice"
  3. Upload the .xml file you just downloaded

Done. Your invoice receives an official KSeF number. Your Polish client can pull it from their own accounting system, but as a courtesy it's still good practice to email them the PDF along with a note that you've issued the document. You just saved money by choosing a simple KSeF invoice tool that requires no SaaS subscription.


Start Now — For Free

Handling your KSeF obligation as a foreign B2B contractor in Poland is simpler than your next sprint.

You need:

  1. 2 minutes of your time
  2. Your JDG and client data
  3. A Profil Zaufany (Trusted Profile) account — you likely already have one

Generate your first valid FA(3) XML file at ksefinvoices.com — completely free, no registration, no subscription.

KSEFInvoices

The premier free invoice generator crafted exclusively for fast-moving freelancers, robust contractors & agile small businesses.

Tools

  • Blog
© 2026 KSEFInvoices. All rights reserved.