KSeF stands for “Krajowy System e-Faktur”, which means “National e-Invoice System”. It’s an online platform created in Poland 🇵🇱 that enables electronic issuance, transmission, and storage of invoices. The aim of KSeF is to streamline the invoicing process, improve transparency, and enhance efficiency in business transactions. This system allows companies to manage their financial documents more easily and expedite accounting processes. Additionally, KSeF plays a role in combating tax fraud by providing a secure environment for transmitting electronic invoices.

KSeF is intended for companies, sole proprietors, foundations, associations, and cooperatives. I’m implementing this procedure within a limited liability company. To utilize KSeF, an organization must possess an API token. It serves for authorization of access to the system, user authentication, as well as for issuing and viewing invoices.

The KSeF API token can be generated by the organization. However, to do so, access to the e-Tax Office (e-Urząd Skarbowy) is required. This is a mandatory step, and without it, further progress is not possible.

Essential Pre-Step

Up to now, I didn’t need access to the e-Tax Office. 🏦 Large companies usually already have it. Small businesses haven’t needed it yet until they implement KSeF. This procedure requires submitting a paper application.

The name of the application is: “Application for granting access / revoking access to the organization’s account in the e-Tax Office.” The template for the application on podatki.gov.pl

Here is link:

Wniosek o przyznanie dostępu / odebranie dostępu do konta organizacji w e-Urzędzie Skarbowym

The application consists of parts A, B, C, D, E. A single application allows granting or revoking access for one user of the organization’s account (UKO).

Part A

  1. Naczelnik urzędu skarbowego właściwy w sprawach ewidencji

In this point, you enter the chief of your tax office. Typically, it’s sufficient to write “Chief of the Tax Office in…” (and provide the locality).

Part B

B. Cel złożenia wniosku

  • [ ] Przyznanie dostępu do konta organizacji
  • [ ] Odebranie dostępu do konta organizacji

This part is responsible for stating the purpose of submitting the application. Since we don’t have access yet, we want to grant it to someone.

Part C

C.1. Dane identyfikacyjne organizacji i aktualny adres siedziby

Here, you provide the company’s details.

  1. Identyfikator podatkowy NIP
  2. Nazwa pełna
  3. Ulica
  4. Nr domu
  5. Nr lokalu
  6. Kod pocztowy
  7. Miejscowość
  8. Telefon

In short, we enter the Tax Identification Number (NIP), the full company name, and the company’s registered address.

C.2. Rodzaj przyznawanego dostępu do konta organizacji

  • [ ] Podstawowy
  • [ ] Rozszerzony

In this part, we specify the access scope within the company. The “Podstawowy” (Basic) access allows performing most actions in the e-Tax Office. For accounting purposes, this access is sufficient. The “Rozszerzony” (Extended) access additionally allows granting and revoking access to the organization’s account. Therefore, for the first user, I recommend granting extended access to at least exactly one person. In the future, this will facilitate managing access for other users.

Attention! After consulting the Tax Office, only 1 person may have extended access.

Part D

  1. PESEL
  2. Nazwisko
  3. Imię

This part is responsible for whom we grant access to. The Personal Identification Number (PESEL), last name, and first name are required.

Part E

The last part contains the representation of the company (organizational unit). The representation must be in accordance with the National Court Register (KRS) or arise from the Civil Partnership Agreement.

The “Podpis” (Signature) field must be filled in manually.

Submission

Applications, upon submission, 📝 undergo the following process:

  1. Registration in the system
  2. Formal verification
  3. Entry into the register (within 3 business days)

Access to the account is conditional upon authentication in the e-Tax Office.

This can be done using:

  • Profil Zaufany (Trusted Profile)
  • e-Dowód (e-ID)
  • online banking
  • mObywatel (mCitizen app)

e-Tax Office Access

I log in using the Trusted Profile. Unfortunately, the office has not yet processed my application. Therefore, I cannot switch the account to the selected organization. 🏢

Generate KSeF API Token

When I reach that point, I will complete the article. 🧑‍💻️


Dictionary for Non-Polish Speakers

  • KSeF: Krajowy System e-Faktur. 🧾 National e-Invoice System in Poland.
  • e-US: e-Urząd Skarbowy, e-Tax Office. 🏢 Online platform for tax-related transactions.
  • NIP: Numer Identyfikacji Podatkowej, Tax Identification Number. 💼 NIP is used for tax identification purposes in Poland.
  • PZ: Profil Zaufany, Trusted Profile. 🔐 Secure electronic identity used for authentication.
  • mObywatel: mCitizen app. 📱 Mobile application for accessing government services in Poland.