Krajowy System e-Faktur - KSeF
KSeF, czyli Krajowy System e-Faktur, to rządowy system teleinformatyczny będący repozytorium faktur sprzedaży wystawianych przez podatników VAT. Faktury są w nim przechowywane w jednolitej, ustrukturyzowanej postaci (jako pliki XML). Wystawca faktury wysyła ją do systemu, a następnie odbiorca może ją z niego pobrać. Administracja skarbowa ma kompleksowy wgląd do tego rejestru.
Co ważne, Klienci systemu enova365 nie płacą dodatkowo za integrację z KSeF.
Od kiedy
Od 01.01.2022 r. – korzystanie z KSeF dobrowolne
Od 01.02.2026 r. – obowiązkowe dla największych podmiotów (tych, których obroty w poprzednim roku przekroczą 200 mln złotych)
Od 01.04.2026 r. – obowiązkowe dla wszystkich podatników VAT
Podstawa prawna
Ustawa o zmianie ustawy o podatku od towarów i usług oraz niektórych innych ustaw z dnia 29.10.2021 r.
W celu wysłania i pobrania faktury należy:
- Założyć konto na platformie KSeF.
- Zadeklarować listę osób (fizycznych) uprawnionych do wysyłania i do odbierania faktur.
- Wystawić fakturę dla odbiorcy.
- Wygenerować plik XML z tą fakturą, zgodny ze specyfikacją KSeF, po czym wysłać ją na platformę KSeF (za pośrednictwem systemu ERP łączącego się z Web API KSeF). Wysłanie faktury wymaga autoryzacji procesu przez zarejestrowaną osobę fizyczną, za pomocą podpisu elektronicznego lub profilu zaufanego.
- KSeF waliduje fakturę i wysyła informację zwrotną o jej poprawności wraz z nadanym numerem w KSeF.
- Odbiorca, który również założył konto w KSeF, pobiera ją z platformy i importuje do swojego systemu, w którym powstaje faktura zakupu.
- Sprzedawca może dostarczyć nabywcy fakturę w dowolnej formie, nie tylko przez KSeF. Odbiorca faktury nie jest zobowiązany do pobierania faktury wyłącznie za pośrednictwem KSeF.

Działanie KSeF na bazach ANSI oraz UNICODE
Bazy ANSI to starszy typ baz danych Microsoft SQL Server, które używają kodowania znaków ANSI (np. Windows-1250).
System nie wspiera integracji z KSeF (Krajowym Systemem e-Faktur) w przypadku instalacji opartych na tzw. bazach ANSI. Nowoczesne systemy z obsługą KSeF, wymagają baz danych w formacie Unicode (np. UTF-8 lub UTF-16), które lepiej wspierają różnorodne znaki i są zgodne z aktualnymi standardami wymiany danych (np. XML w KSeF).
Dlaczego to ważne?
- KSeF wymaga przesyłania danych w formacie ustrukturyzowanym XML, który może zawierać znaki spoza podstawowego zestawu ANSI.
- Bazy ANSI mogą niepoprawnie przechowywać lub przetwarzać takie znaki, co prowadzi do błędów przy komunikacji z KSeF.
Rozwiązanie:
Skonwertowanie bazy do formatu UNICODE.
Czynności dotyczące mechanizmu KSeF
Wysyłanie faktur do KSeF
Na liście faktur sprzedaży dla dokumentów z kategorii Sprzedaż/KorektaSprzedaży dostępne są czynności dotyczące mechanizmu KSeF:
- Eksport - umożliwia wygenerowanie komunikatu KSeF dla zaznaczonych dokumentów. Dostępne tylko, gdy plik XML nie jest wygenerowany.
- Wyślij - umożliwia wysyłanie faktury w formacie KSeF do serwisu udostępnionego przez MF. Działa również bez czynności Eksport. W przypadku gdy plik XML nie jest wygenerowany nastąpi wygenerowanie pliku a następnie jego wysyłka.
- Sprawdź strukturę pliku - sprawdza zgodność struktury wygenerowanego pliku XML ze schemą (wzorcem) ustaloną przez Ministerstwo Finansów.
- Sprawdź status - sprawdza status wysłanego pliku XML na platformie KSeF. Służy np. do pobrania numeru KSeF.
- Usuń - umożliwia usunięcie wyeksportowanego pliku XML.
- Import z pliku - importuje dokumenty pobrane z platformy KSeF jako faktury zakupu (analogiczna czynność dostępna jest również w ewidencji dokumentów/faktury zakupu).

Czynności KSeF dla dokumentów sprzedaży
Istnieje również dedykowana lista (Handel/KSeF/Wysyłanie) dla wysyłanych faktur, gdzie możemy dowolnie filtrować wg pól:

Lista KSeF/Wysyłanie
Pobieranie oraz import do systemu faktur z KSeF
Na liście faktur zakupu dla kategorii Zakup/KorektaZakupu oraz Dokumentów ewidencji dostępne są czynności dotyczące mechanizmu KSeF:
- Import z pliku - importuje ze wskazanego pliku dokumenty pobrane z platformy KSeF, jako faktury zakupu (analogiczna czynność dostępna jest również w ewidencji dokumentów).
- Utwórz dokument - importuje z pobranych do bazy danych plików KSeF.

Czynności KSeF dla dokumentów zakupu
Istnieje również dedykowana lista (Handel/KSeF/Pobieranie) służące do obsługi pobierania naszych faktury. Znajdują się na niej czynności:
- Zapytaj o dostępne faktury - służy do tworzenia nowych zapytań o faktury KSeF wystawione na nasz NIP. W parametrach należy określić zakres dat, za który chcemy pobrać faktury.
- Sprawdź status zapytania - służy do sprawdzenia statusu istniejących zapytań na liście KSeF/Pobieranie. Odświeżamy wszystkie zapytania na liście nie starsze niż 2 h.

Lista KSeF/Pobieranie
Rekordy na liście mogą przyjmować statusy:
- 100 - Zainicjowano
- 3XX - W realizacji
- 200 - Przetworzono
- 400 - Błędne (bad request, złe żądanie)
API dostarczone przez MF pozwala tylko na tworzenie takich zapytań z ważnością do 2 h. Zapytania po 2 h od utworzenia mogą być niedostępne do przetworzenia. Zapytania tracą również ważność w chwili przelogowania systemu, gdyż wysłanie zapytania oraz jego przetworzenie muszą zostać wykonane w ramach tej samej sesji (połączenia do KSeF). Przelogowanie systemu powoduje zamknięcie używanej sesji, co powoduje, że zapytania nieprzetworzone w tej sesji także tracą ważność. W takich przypadkach należy ręcznie usunąć unieważnione zapytania i utworzyć nowe.
Po uruchomieniu rekordu z tej listy mamy okno zapytania z dwoma zakładkami:

Zakładka Ogólne
Na zakładce Pakiety danych znajdują się części, w których umieszczone są faktury KSeF w formacie XML. Za pomocą dostępnych czynności można je pobrać do ścieżki wskazanej w konfiguracji (Handel/KSeF) "Pliki do importu" lub bezpośrednio do bazy danych, jeżeli został zaznaczony odpowiedni parametr. Raz pobrane pakiety zostaną oznaczone jako pobrane i nie będzie możliwości ich ponownego pobrania do bazy danych ani do wskazanej ścieżki. Czynność pobrania pakietów jest również dostępna na głównej liście KSeF/Pobieranie.

Zakładka Pakiety danych

Zakładka Pliki KSeF
Przy pobraniu weryfikowane jest czy pliki nie zostały już pobrane wcześniej oraz to, czy dany numer faktury KSeF nie został już zaimportowany ręcznie do Dokumentów handlowych lub Dokumentów ewidencji. W logu pojawia się odpowiedni komunikat:

Komunikaty przy pobieraniu
Ominięte zostają zdublowane pliki XML, które są widoczne w KSeF/Pobrane. W przypadku, gdy system odnajdzie zaimportowane numery KSeF w dokumentach handlowych lub ewidencji, dostaniemy komunikat o tym, że dokument już został zaimportowany. Jest to tylko ostrzeżenie, pliki XML zostaną dodane do KSeF/Pobrane.
Przechodząc na listę KSeF/Pobrane mamy widoczne wszystkie pliki XML pobrane z KSeF:

Lista KSeF/Pobrane
Ta lista będzie uzupełniona tylko wtedy, gdy zdecydowaliśmy się przechowywać pliki XML w bazie danych. Mamy dostępne dwie czynności.
- Ustaw kategorie - dla zaznaczonych rekordów określamy do jakiego modułu (Handel lub Ewidencja) zostanie zaimportowany plik.
- Utwórz dokument - dla zaznaczonych rekordów uruchamiamy import do Handlu lub Ewidencji. Zaznaczone rekordy muszą być w tej samej kategorii.
UWAGA! Można powiązać importowane faktury z istniejącym zamówieniem w systemie. W tym celu kontrahent, od którego otrzymujemy fakturę, musi zamieścić w pliku XML numer zamówienia z systemu. Zamówienie będzie widoczne z poziomu importowanej faktury w dokumentach powiązanych.
Działanie funkcjonalności pokazujemy w krótkim filmie.