KSeF 2026: jak przygotować małą firmę do e-fakturowania

KSeF obowiązuje od 1 kwietnia 2026 dla firm z obrotem rocznym powyżej 10 000 zł. Każda faktura B2B wystawiona bez numeru KSeF to dokument, z którego kontrahent nie odliczy VAT. Nie "może mieć trudności" - po prostu nie może. System Ministerstwa Finansów albo przyjął fakturę i przydzielił numer, albo nie.

Obsługuję kilka firm jako zewnętrzny informatyk i przez ostatnie miesiące KSeF był tematem w niemal każdym projekcie. Od weryfikacji czy program do fakturowania rzeczywiście wysyła faktury automatycznie, po budowanie integracji dla systemów własnych, które tego nie robiły. Zebrane obserwacje poniżej.

Co KSeF zmienia w praktyce?

Przed KSeF faktura to był PDF wysłany mailem. Teraz każda faktura B2B musi:

  • trafić do systemu KSeF w formacie XML (schemat FA(2))
  • dostać unikalny numer KSeF przydzielony przez serwer MF
  • być przechowywana przez MF przez 10 lat (odpada obowiązek własnego archiwum papierowego)

Firma, która wystawia faktury ręcznie w PDF i nie wysyła ich do KSeF, wystawia dokument bez ważnego numeru. Kontrahent nie odliczy VAT, a kara może wynieść do 100% kwoty podatku z tej faktury. To nie jest ryzyko do zignorowania.

Czy Twój program do fakturowania już obsługuje KSeF?

Większość popularnych programów wdrożyła integrację. Ale "integracja jest" to nie to samo co "działa bez ręcznej obsługi".

Sprawdź konkretnie cztery rzeczy:

  • czy faktura trafia do KSeF automatycznie po wystawieniu, bez dodatkowego klikania
  • czy program pobiera numer KSeF i dołącza go do dokumentu
  • czy masz podgląd statusu: sukces / błąd / w kolejce
  • czy korekty i faktury zaliczkowe działają tak samo jak zwykłe faktury

Jeśli program wymaga ręcznego eksportu XML i wgrywania pliku do portalu MF, to półśrodek. Przy kilkunastu fakturach miesięcznie da się żyć, przy kilkudziesięciu to droga do błędów.

Jak działa integracja przez API?

Dokumentacja techniczna KSeF jest publiczna i szczegółowa. Struktura API jest prosta: uwierzytelniasz się tokenem lub podpisem kwalifikowanym, wysyłasz XML faktury zgodny ze schematem FA(2), dostajesz w odpowiedzi numer KSeF.

Schemat FA(2) definiuje co musi, a co może być w fakturze. Niektóre pola są obowiązkowe zawsze, inne zależą od rodzaju transakcji. Dokumentacja schematu jest dostępna na stronie MF.

Jeśli masz własny system sprzedażowy, CRM albo aplikację generującą faktury, integracja z KSeF wymaga czterech elementów:

  1. generowania XML w formacie FA(2)
  2. wysyłki do API KSeF z obsługą autoryzacji
  3. odbioru i zapisania numeru KSeF przy rekordzie faktury
  4. obsługi błędów walidacji i ponowień przy timeoutach

Robiłem to dla systemu wewnętrznego przez Python. Wysyłka faktury trwa ok. 2 sekundy. Błędy walidacji lądują w bazie i generują powiadomienie mailowe. Całość działa bez żadnej ręcznej ingerencji.

Gdzie Python i n8n mają sens?

Jeśli korzystasz z gotowego programu z certyfikowaną integracją KSeF, Pythona do samej wysyłki nie potrzebujesz. Ale jest kilka scenariuszy, gdzie automatyzacja dokłada realną wartość:

Systemy własne. Masz aplikację generującą faktury na podstawie zamówień lub umów. Moduł KSeF to zadanie dla Pythona - lxml do generowania XML, requests do wysyłki, kilka godzin roboty.

Masowe przetwarzanie. Wystawiasz faktury z pliku Excel albo bazy danych. Skrypt przetwarzający rekordy w pętli i wysyłający je do KSeF eliminuje ręczną robotę przy setkach dokumentów miesięcznie.

Monitoring statusów. n8n może sprawdzać status wysłanych faktur i wysyłać alert gdy pojawi się błąd walidacji - zanim klient zadzwoni z pytaniem dlaczego nie może odliczyć VAT.

Archiwizacja lokalna. KSeF trzyma faktury 10 lat, ale jeśli chcesz mieć własną kopię posortowaną wg klientów i dat, skrypt pobierający faktury przez API i układający je lokalnie to kilkanaście linii kodu.

Czego nie robić

Kilka błędów, które widzę najczęściej:

Testowanie od razu na produkcji. MF udostępnia środowisko demo pod adresem ksef-demo.mf.gov.pl - identyczne z produkcją, ale bez skutków prawnych. Każda integracja powinna przejść przez demo zanim trafi na produkcję.

Brak obsługi błędów walidacji. KSeF odrzuca fakturę gdy XML nie zgadza się ze schematem - błędny NIP, brakujące pole, zły format daty. Integracja, która wysyła i nie sprawdza odpowiedzi, będzie cicho gubić faktury.

Ignorowanie faktur korygujących. Korekty mają osobny schemat w FA(2). Upewnij się, że program lub własna integracja obsługuje je tak samo jak faktury pierwotne - wiele programów ma tu lukę.

Własny fallback "na boku" gdy API nie odpowiada. KSeF może mieć przestoje. Tryb offline jest przewidziany w przepisach, ale zasady jego stosowania są precyzyjnie określone. Nie wolno wystawiać faktur poza KSeF "bo system nie działał" bez spełnienia warunków formalnych.

Co zrobić w tym tygodniu?

Trzy rzeczy, które warto zrobić jeśli jeszcze tego nie sprawdziłeś:

Wejdź do programu do fakturowania i wyślij fakturę testową na środowisko demo KSeF. Jeśli wraca z numerem KSeF automatycznie - integracja działa. Jeśli wymaga czegokolwiek ręcznego - zmień ustawienia lub program.

Przejrzyj faktury wystawione od 1 kwietnia 2026 i sprawdź czy każda ma numer KSeF. Brak numeru to problem do wyjaśnienia z księgowym i ewentualnej korekty.

Jeśli masz własny system generujący faktury i integracja z KSeF jeszcze nie istnieje, zrób to przed końcem maja. Im dłużej faktury idą bez numeru KSeF, tym większy potencjalny problem przy kontroli.

Masz własny system albo potrzebujesz niestandardowej integracji? Napisz - powiem co trzeba zrobić i wycenię projekt.

Najczęstsze pytania

Dla podatników VAT z obrotem rocznym powyżej 10 000 zł KSeF jest obowiązkowy od 1 kwietnia 2026. Mniejsze podmioty wejdą w obowiązek w kolejnym etapie. Obejmuje faktury B2B - każda faktura wystawiona dla innego podatnika musi trafić do systemu Ministerstwa Finansów i otrzymać numer KSeF przed przekazaniem do kontrahenta.
Numer KSeF to unikalny identyfikator przydzielany przez system Ministerstwa Finansów po przyjęciu faktury. Bez tego numeru kontrahent nie może odliczyć VAT z dokumentu. Jest też potwierdzeniem, że faktura trafiła do rejestru MF.
Tak, jeśli jesteś czynnym podatnikiem VAT i wystawiasz faktury innym podatnikom VAT. Faktury na rzecz osób prywatnych (B2C) są wyłączone z obowiązku, ale możesz je wysyłać dobrowolnie.
Zaloguj się do programu i sprawdź ustawienia integracji z KSeF. Kluczowe: faktura powinna trafiać do KSeF automatycznie po wystawieniu i wracać z numerem KSeF bez żadnego ręcznego kroku. Jeśli wymaga eksportu XML i ręcznego uploadowania, to niepełna integracja.
Ministerstwo Finansów może nałożyć karę do 100% kwoty VAT z faktury wystawionej z pominięciem KSeF. Poza tym kontrahent traci możliwość odliczenia VAT, co generuje spory i nadpłaty.
Prosta integracja - wysyłka faktur do API KSeF z istniejącego systemu - to kilka godzin roboty. Pełny moduł z obsługą błędów, faktur korygujących i archiwizacją to zazwyczaj 1-3 dni robocze. Wyceniam indywidualnie po opisie systemu.
Faktury dla zagranicznych kontrahentów (eksport, WDT) są wyłączone z obowiązku KSeF. Faktury walutowe wystawiane polskim podatnikom VAT podlegają KSeF - kurs przeliczenia podajesz w XML zgodnie z zasadami ustawy o VAT.

Zbuduję integrację dla gotowego programu lub własnego systemu. Sprawdzę co jest potrzebne i wycenię. Pierwsza rozmowa bezpłatna.

Porozmawiajmy