How to Issue an Invoice in KSeF in Poland — Step by Step 2026
How to issue an invoice in KSeF (national e-invoicing system) in 2026. Login, invoice structure, errors, deadlines, e-signature. A practical guide for a sole proprietorship (JDG).
KSeF (Krajowy System e-Faktur — national e-invoicing system) is a mandatory invoicing system in Poland. Once fully implemented, every invoice must pass through the system to be valid for tax purposes. In this guide I show you how to issue an invoice in KSeF — from logging in to sending.
If you don't yet know what KSeF is, first check our complete guide: KSeF for a sole proprietorship (JDG) — complete guide 2026.
How to issue an invoice in KSeF — step-by-step guide
The National e-Invoicing System (KSeF) is the Ministry of Finance’s mandatory system for issuing and receiving electronic invoices in the structured FA(2) format. The process consists of 4 steps.
4 steps to issue an invoice in KSeF
- →Trusted Profile / Login.gov.pl — browser login
- →Token — for integration with accounting software (API)
- →Seller and buyer data (NIP, name, address)
- →Invoice line items: description, quantity, price, VAT rate
- →Call the Session endpoint and send the invoice
- →The system validates the structure and data
- →The KSeF number confirms the time and fact of submission
- →The invoice is visible in the Podatki.gov.pl app
Important: From 2026, KSeF becomes mandatory for businesses (phased by company size). Paper invoices and PDFs will cease to be tax documents. Prepare your accounting system now.
Need help implementing KSeF in your company?
Let's check →Information based on KSeF regulations and the Ministry of Finance technical specification (as of 2026). Structured format FA(2). Mandatory rollout phased by turnover. Exact dates may change — check current regulations. This does not constitute tax advice.
Who must use KSeF?
From 2026, KSeF becomes mandatory for entrepreneurs according to the following schedule:
- Large enterprises (>5 mln EUR revenue) — already mandatory
- Medium and small companies — expansion phase
- Micro-enterprises and sole proprietorships (JDG) — per the Ministry of Finance schedule
Even if you are not yet covered by the obligation, it is worth starting to use KSeF voluntarily — to prepare your systems and processes.
Step 1: Get access to KSeF
Login via Trusted Profile
- Go to the KSeF website:
ksef.mf.gov.pl - Select "Login" → "Trusted Profile / e-ID"
- Redirect to login.gov.pl
- Log in with your trusted profile credentials
- Return to KSeF
Login via qualified signature
- Plug in your qualified token (e.g. Certum, KIR)
- Select "Login" → "Qualified signature"
- Select the certificate
- Enter your PIN
KSeF token (for API)
If you use accounting software (e.g. Oxyok), you do not need to log in manually. The program uses a KSeF authorization token:
- Generate a token in the KSeF panel
- Pass the token to your accountant or software
- The program automatically sends invoices
Step 2: Create an invoice
Through the KSeF interface (manually)
- In the KSeF panel, select "Generate invoice"
- Fill in the invoice structure (XML form)
- Enter the buyer's data (NIP (tax identification number), name, address)
- Add line items (name, quantity, net price, VAT rate)
- The system automatically calculates VAT and gross amounts
- Send to KSeF
Through accounting software
Most sole proprietorships (JDG) will not issue invoices in the KSeF panel. Instead, the accounting software (Oxyok, inFakt, iFirma) generates the invoice and sends it to KSeF automatically:
- Issue an invoice in the accounting software as usual
- The program automatically converts the invoice to the KSeF structure (XML FA)
- The program sends the invoice to KSeF via API
- KSeF returns the KSeF number
- The invoice is officially issued
FA invoice structure
An invoice in KSeF has a defined structure (the so-called FA(logical) structure). It must contain:
- Seller entity — NIP (tax identification number), name, address, "JDG" designation
- Buyer entity — NIP (tax identification number), name, address
- Invoice line items — each item separately: name, PKWiU (Polish classification of goods and services) (if required), quantity, unit, net price, VAT rate
- Summary — net amounts by VAT rate, VAT, gross
- Payment — due date, form (transfer/cash), bank account
- Additional information — order number, contract, annotations
Step 3: Check the invoice status
After sending the invoice to KSeF, the system assigns it a status:
- Accepted — the invoice passed validation and is visible in the system. You receive a KSeF number.
- Rejected — validation error (missing field, wrong NIP, invalid structure). You must correct and resend.
- In progress — the invoice is awaiting processing
A KSeF number looks like this, for example: KSeF-2026-07-26-1234567890-123456-1-1
Step 4: Receive a cost invoice
KSeF works both ways — you not only send but also receive:
- When a supplier issues you a cost invoice in KSeF
- It automatically appears in your KSeF panel
- Your accounting software retrieves it via API
- You do not need to send the cost invoice to your accountant — the system does it for you
This is the biggest advantage of KSeF: automation on the cost side. Every invoice arrives instantly, without scanning and forwarding.
Most common mistakes when issuing
1. Wrong buyer NIP
If you enter a wrong NIP, KSeF will reject the invoice. Check the NIP before sending — you can do this on the VAT taxpayer whitelist.
2. Missing required fields
Every line item must have a specified VAT rate. You cannot leave the "rate" field empty. If the service is exempt — select "zw".
3. Inconsistent amounts
The sum of line items must match the final amount. If there is a difference of even 1 grosz, KSeF will reject the invoice.
4. Wrong currency
An invoice can be issued in PLN or foreign currency. If you choose foreign currency, you must provide the exchange rate and convert to PLN.
Pitfalls
1. An invoice without a KSeF number is invalid
Once fully implemented, an invoice WITHOUT a KSeF number is not valid for tax purposes. You cannot deduct it as a cost or deduct VAT from it. The KSeF number is proof that the invoice exists.
2. Correction deadline
A correction of an invoice in KSeF must be completed within a specified deadline. You cannot change a March invoice in November — the correction must be in the original settlement period or in accordance with art. 6 of the Accounting Act.
3. Global and simplified invoices
Global (collective) and simplified invoices have a simplified structure in KSeF, but they still must pass validation. Check whether your accounting software supports these types.
4. No internet
KSeF requires an internet connection. If you have no internet, you cannot issue an invoice. In practice: most accounting programs have an offline mode (they create the invoice locally and send it when the internet comes back).
FAQ
Do I need a qualified signature to use KSeF?
No. You can log in via Trusted Profile (free of charge). A qualified signature is only needed for specific operations (e.g. mass authorization).
What if KSeF is unavailable?
The Ministry of Finance anticipates emergency situations. Then invoices issued offline must be sent to KSeF within 2 business days of the system being restored.
Does an invoice in KSeF replace a paper one?
Yes. After KSeF is implemented, an electronic invoice in the system is the only valid form. Paper invoices and PDFs not sent through KSeF lose their tax validity.
Can I use KSeF through a mobile app?
The official Ministry of Finance KSeF app is available, but most sole proprietorships (JDG) will use accounting software that integrates KSeF automatically.
Need help with KSeF?
Oxyok accounting — from 49 zł + VAT per month. We integrate KSeF with your accounting, help you issue and receive invoices, and make sure everything works.
Write to: [email protected]
Disclaimer: The schedule for mandatory KSeF is determined by the Ministry of Finance and may change. This article is informational in nature — before making a decision, consult an accountant.
Questions about accounting?
I run accounting for sole proprietors from 49 zł + VAT per month.
Get in touch