Skip to content

Commit

Permalink
Create article about Introduction to KSeF
Browse files Browse the repository at this point in the history
  • Loading branch information
torrocus committed Apr 4, 2024
1 parent b16dd3e commit 112b860
Showing 1 changed file with 155 additions and 0 deletions.
155 changes: 155 additions & 0 deletions _posts/2024-04-04-introduction-to-ksef.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
---
categories: development
date: 2024-04-04 19:00:00 +0200
excerpt: >
How to start integration with KSeF?
Generate API Token and use KSeF.
lang: en
layout: post
title: Introduction to KSeF
---

**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](https://www.podatki.gov.pl/media/9417/wniosek-o-przyznanie-dost%C4%99pu-odebranie-dost%C4%99pu-do-konta-organizacji-w-e-urz%C4%99dzie-skarbowym.pdf)

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.

<!-- markdownlint-disable MD029 -->
> 2. Identyfikator podatkowy NIP
> 3. Nazwa pełna
> 4. Ulica
> 5. Nr domu
> 6. Nr lokalu
> 7. Kod pocztowy
> 8. Miejscowość
> 9. Telefon
<!-- markdownlint-enable MD029 -->
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.
Basic access allows performing most actions in the e-Tax Office.
For accounting purposes, this access is sufficient.
Extended access additionally allows granting
and revoking access to the organization's account.
Therefore, for the first time,
I personally recommend granting extended access to at least one person.
In the future, this will facilitate managing access for other users.

### Part D

<!-- markdownlint-disable MD029 -->
> 10. PESEL
> 11. Nazwisko
> 12. Imię
<!-- markdownlint-enable MD029 -->
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.
🧑‍💻️

0 comments on commit 112b860

Please sign in to comment.