Skip to main content

How to issue your first invoice in KSeF: step by step

From logging in to the KSeF panel, through choosing a system, to the acceptance of the KSeF number. A practical guide for a company issuing in KSeF for the first time.

Profais Team
Accounting firm in Łódź · KIBR member
· updated · 5 min read

Issuing your first invoice in KSeF (the national e-invoicing system) can seem complicated for a company that has until now sent PDFs by email, but in practice it is simpler than traditional invoicing. The whole process, from preparation to receiving the KSeF number, takes a few minutes. The difficulty lies in the initial set-up (connecting the system, permissions, testing), which you do once and forget.

This article takes you step by step: from logging in to the panel, through issuing a test invoice, to the first live invoice.

Step 0: make sure you have access

Before you issue anything for the first time, you must have access to KSeF as a company. You check this in the KSeF Taxpayer Application (the address is given by the Ministry of Finance (MF) at ksef.podatki.gov.pl):

  1. You log in to KSeF with a Trusted Profile, a qualified signature or seal, or a KSeF certificate (during the transitional period also with a token)
  2. The system checks your NIP (tax identification number) and shows the company panel
  3. You see the tabs: Sales invoices, Purchase invoices, Permissions, Settings

If after logging in you see the message “No company assigned to your profile”, your NIP has not yet been registered in KSeF (this happens just after registration in the Central Register and Information on Business (CEIDG) or the National Court Register (KRS)).

Step 1: choose how you will issue

You have three options for issuing:

A. The KSeF Taxpayer Application (the address is given by the Ministry of Finance at ksef.podatki.gov.pl): manual

The simplest, but the slowest. You log in to the panel, click “New sales invoice” and fill in the form:

  • the buyer’s details (NIP; the rest of the data is fetched automatically from CEIDG/KRS)
  • line items (name of the service/goods, quantity, net price, VAT rate)
  • totals (calculated automatically)
  • payment deadline, payment method

You save → the system validates → assigns a KSeF number → the invoice is ready.

Who it is for: companies with a small number of invoices that do not want to, or cannot, integrate their own system.

The standard in 2026. Your invoicing or accounting program has a KSeF module, so you can stay with your program. After you set up the connection to KSeF (granting permissions and authenticating the program):

  1. You issue the invoice in your program as always
  2. You click “Approve” or “Send to KSeF”
  3. In the background the program sends a file with the invoice data (XML format) to KSeF
  4. You receive a KSeF number, which you see next to the invoice number
  5. The status changes to “Approved in KSeF”

Who it is for: companies with a larger number of invoices or with their own sales software.

C. Your own API integration

For companies with bespoke business management software (ERP) or a sales platform (e-commerce, SaaS). Developers will integrate your system with the KSeF API. The interface documentation: the address is given by the Ministry of Finance at ksef.podatki.gov.pl.

Who it is for: IT companies, platforms, large invoicing volumes.

Step 2: prepare the data for the first invoice

Before you issue the first invoice, check that you have:

  • The buyer’s NIP: exactly, with no hyphens or spaces. With a wrong NIP, KSeF will reject the invoice
  • Net and VAT amounts: the system calculates the totals itself, but you enter the net price and the rate. If you enter a gross amount, mark it as such
  • Payment deadline: a date or a number of days. A required field
  • Payment method: transfer, cash, card, other. A drop-down list

Step 3: issue a test invoice

Before an invoice for a real customer, issue one test invoice, either to yourself (buyer’s NIP = your NIP) or to the special KSeF test NIP (made available in the KSeF test environment; the address is given by the Ministry of Finance at ksef.podatki.gov.pl).

The test will show you:

  • Whether your system communicates with KSeF correctly
  • Which fields are required (sometimes small ones, for example the currency code or country code)
  • How the KSeF number is returned (whether you copy it into the system or it appears automatically)

Step 4: issue the first live invoice

After a successful test you issue the first real invoice:

  1. In the system you choose the business partner (or enter the NIP)
  2. You add line items (name, quantity, price, VAT)
  3. You set the issue date and the sale date (usually the same)
  4. You approve

The program generates the invoice file (FA(3) structure), sends it to KSeF, receives the KSeF number and saves it in its database. The invoice status: “Accepted in KSeF”.

PDF view: the system generates a PDF for your archive (optional) or for a foreign business partner. You no longer need to email a PDF to a Polish business partner, who sees your invoice in their own KSeF panel automatically.

Step 5: what if the invoice is rejected

KSeF rejects an invoice if:

  • The buyer’s NIP is wrong: the NIP does not exist in the VAT register or has been removed
  • There is a mathematical error: the sum of the line items does not match the declared net/VAT/gross total
  • The XML schema is invalid: your program sent an out-of-date structure (since 1 February 2026 KSeF accepts only FA(3))
  • A required field is missing: for example the sale date, country code, invoice type

The system returns an error message with a code. You correct it and send it again. The invoice is rejected without tax consequences (it does not count towards the registers or the JPK_V7).

Step 6: get purchases under control in KSeF

Alongside sales invoices, your system fetches purchase invoices from business partners. There is no email and there are no attachments: they appear automatically in the “Purchase invoices” tab of the KSeF panel.

Your task:

  1. Every day or every few days, check whether new purchase invoices have appeared
  2. In KSeF you do not accept or reject purchase invoices. An invoice is received on the day it is given its KSeF number. If you disagree with it, ask the issuer for a correction.
  3. Invoices from KSeF must be included in the VAT register (JPK_V7). The taxpayer keeps the register and KSeF only delivers the invoices. A program that fetches them from KSeF can make them easier to post
  4. An invoice is treated as received by the buyer on the day it is given its KSeF number (Article 106na of the VAT Act)

What next

After issuing your first invoices it is worth setting up an emergency procedure. See the article on KSeF outage: offline mode. You can stay with your invoicing program, and we help you configure it to work with KSeF and grant permissions. See Profais’s KSeF service or write to us. When you sign a contract with us, we guide you through setting up the company, registration and KSeF access free of charge.

Sources: ksef.podatki.gov.pl, podatki.gov.pl, KSeF API documentation.

FAQ

Frequently asked questions

Do I have to use the Ministry of Finance portal, or can I issue invoices through my own system?
You have three options: (1) the KSeF Taxpayer Application (the address is given by the Ministry of Finance at ksef.podatki.gov.pl), manual issuing, good for low volumes, (2) your invoicing or accounting program with a KSeF module, automatic sending in the background, (3) your own connection to KSeF through the programming interface (API). Most companies choose option 2, because it does not change how they already issue invoices.
How long does it take for an invoice to be accepted in KSeF?
The Ministry of Finance system validates the XML and assigns a KSeF number. If the invoice has an error (for example a non-existent NIP, wrong amounts), the rejection comes with a diagnostic message.
What about the invoice number: do I still assign my own?
Yes. The number you assign (for example FV/2026/04/001) remains a mandatory element of the invoice. KSeF additionally assigns the invoice an identifying number (the KSeF number). It does not replace the invoice number assigned by the issuer, and the invoice has both. The KSeF number is given, among other places, in a corrective invoice, and from 2027 also in payments for invoices.