SYSTEMBOX
Pobierz audyt PDFUmów rozmowę
KSeF 2026 · Przewodnik

KSeF 2026 — co naprawdę musisz zrobić, żeby nie dostać 100% kary VAT

Od 1 lutego 2026 KSeF (Krajowy System e-Faktur) jest obowiązkowy dla każdego B2B w Polsce. Bez wpięcia faktury są nieważne, a Urząd nalicza karę do 100% wartości VAT. Pokażę co dokładnie się zmienia, jak wpiąć Subiekt/Comarch/Symfonia w 2 tygodnie i czego nie powie Ci dostawca ERP.

·12 min czytania·KSeF

Co się zmienia 1 lutego 2026 — w trzech zdaniach

Wszystkie faktury B2B w Polsce muszą trafiać do centralnego systemu Ministerstwa Finansów (KSeF) przez API. Twoja faktura PDF wysłana mailem nie jest fakturą prawną dopóki nie pojawi się w KSeF z numerem KSeF (UID). Klient B2B nie ma prawa odebrać faktury, której nie ma w KSeF — nie odliczy VAT-u i może odrzucić płatność.

Kto musi się wpiąć (i kiedy)

  • Firmy VAT-czynne (czynni podatnicy VAT) — wszystkie, niezależnie od skali. Od 1 lutego 2026.
  • Firmy zwolnione z VAT (do 200k obrotu) — odroczone do 1 kwietnia 2026 (jest projekt rozporządzenia).
  • Faktury B2C (do osoby fizycznej) — nadal poza KSeF, można wystawiać tradycyjnie.
  • Faktury międzynarodowe / eksport — KSeF nieobowiązkowy, ale można dobrowolnie.

Co dokładnie robi KSeF API

KSeF to nie jest aplikacja w którą się logujesz i klikasz "wystaw fakturę". To zewnętrzny system, do którego Twój ERP / księgowa wysyła ustrukturyzowany plik XML (format FA(2)) — KSeF go waliduje, przydziela unikalny numer KSeF i archiwizuje na 10 lat. Klient odbiorca dostaje fakturę bezpośrednio z KSeF — Ty wystawiasz, on odbiera, Urząd widzi w czasie rzeczywistym.

Flow techniczny — 4 kroki

  1. Twój ERP generuje fakturę XML w formacie FA(2) (struktura zdefiniowana przez MF).
  2. ERP autoryzuje się w KSeF tokenem (certyfikat kwalifikowany lub Token API z e-Urząd).
  3. POST /api/online/Session/InitSigned + POST /api/online/Invoice/Send — XML trafia do KSeF.
  4. KSeF zwraca status (Accepted / Rejected) + numer KSeF. Ten numer ZASTĘPUJE Twój numer faktury.

Co musisz zrobić w swoim ERP

Każdy popularny polski ERP ma już lub będzie miał oficjalny moduł KSeF. Problem: różne wersje są na różnym etapie. Subiekt GT (od insERT) ma KSeF od wersji 1.81 jako moduł dodatkowy (płatny, ~1200 zł netto). Comarch ERP XL ma to natywnie od 2024. Symfonia ma od 2025. Optima dopiero pracuje nad pełną integracją.

Subiekt GT — czego potrzebujesz

  • Subiekt GT v1.81+ (sprawdź "Pomoc → O programie")
  • Moduł KSeF dla Subiekt (zakupujesz osobno u insERT lub partnera)
  • Certyfikat kwalifikowany lub Token e-Urzędu firmy
  • Konto testowe na ksef-test.mf.gov.pl (do testów przed produkcją)

Comarch — czego potrzebujesz

  • Comarch ERP XL 2024.0+ lub Optima 2025.4+
  • Modul "Faktury elektroniczne KSeF" aktywowany w licencji
  • Token dostępu KSeF (jednorazowa konfiguracja w Konfiguracji → KSeF)
  • Mapowanie pól (NIP, JPK_FA, kody GTU) — sprawdź czy dane klientów są kompletne

Kiedy potrzebna jest automatyzacja (i kiedy nie)

Jeśli wystawiasz do 50 faktur miesięcznie i wszystkie są w ERP — moduł natywny wystarczy. Klikasz w Subiekt "wyślij do KSeF", on robi POST i odbiera UID. Koniec. Problem zaczyna się gdy faktury są wystawiane w wielu miejscach:

  • Sklep Shopify / WooCommerce wystawia faktury proforma dla klientów B2B
  • BaseLinker generuje paragony/faktury dla Allegro
  • Subiekt obsługuje hurt + sklep stacjonarny
  • Księgowa zewnętrzna wystawia faktury dla niektórych klientów ręcznie

W takim setupie każde z tych źródeł musi się komunikować z KSeF — albo każde osobno (4 integracje), albo wszystkie przez wspólny hub. Hub-and-spoke (jeden centralny middleware → KSeF) jest tańsze, łatwiejsze do debugowania i nie wymaga zmian w każdym systemie osobno.

Architektura: n8n jako hub dla KSeF

Najczęstszy setup który wdrażam dla klientów z 200+ fakturami/mc: workflow w n8n nasłuchuje na webhooki z każdego źródła (Shopify, Subiekt, BaseLinker), normalizuje dane do struktury FA(2), strzela do KSeF API, zapisuje UID z powrotem w źródłowym systemie. Wszystko w 6 sekund.

Konkretny flow — przykład hurtowni

  1. Klient B2B składa zamówienie na sklepie Shopify (15 000 zł netto).
  2. Shopify wysyła webhook order.created do n8n.
  3. n8n walidate NIP przez API GUS (REGON), dopisuje dane do CRM Laravel.
  4. n8n generuje XML FA(2) z templatu (dane firmy, klient, pozycje, kwoty, GTU).
  5. n8n autoryzuje się w KSeF tokenem, POST /Invoice/Send.
  6. KSeF zwraca status + UID (np. "20260514-12345-ABC123-FF").
  7. n8n zapisuje UID w Subiekt GT (przez insERT API) i w Shopify order metafields.
  8. Klient dostaje mail z linkiem do faktury w KSeF + numer UID do księgowości.

Co się dzieje gdy KSeF padnie (i tak — czasem pada)

Ministerstwo Finansów przewidziało "tryb offline" — gdy KSeF jest niedostępny (zaplanowane przerwy techniczne lub awaria), masz prawo wystawić fakturę offline z czasowym numerem i przesłać ją do KSeF w ciągu 7 dni roboczych po przywróceniu serwisu. W praktyce: Twój workflow musi mieć fallback queue (np. Redis lub PostgreSQL), który łapie nieprzesłane faktury i retry po przywróceniu połączenia.

Realne koszty wdrożenia — bez waterglasów

  • Moduł KSeF do Twojego ERP: 800 – 2400 zł netto (one-time, opłata licencyjna producenta)
  • Certyfikat kwalifikowany (jeśli nie masz): 200 – 400 zł / rok
  • Wdrożenie modułu natywnego + szkolenie (do 100 faktur/mc): 1500 – 4000 zł
  • Hub-and-spoke automation (200+ fak/mc, wiele źródeł): 4 900 – 12 000 zł (one-time)
  • Self-hosted infrastruktura (n8n + monitoring): od 80 zł/mc na serwer + setup

Dla typowej hurtowni 18 osób, ~400 faktur/mc z trzech źródeł (Subiekt + Shopify + BaseLinker), wdrożenie hub-and-spoke kosztuje 7 900 zł netto i trwa 2 tygodnie. Po wdrożeniu księgowa odzyskuje ~4 godziny dziennie (przepisywanie + walidacja UID po stronie klientów).

Czego dostawca ERP Ci nie powie

  • Moduł natywny obsługuje TYLKO faktury z tego ERP. Faktury z Shopify, BaseLinker, Allegro — pomijane.
  • Mapping NIP do KSeF wymaga aktualizacji bazy klientów — często 30%+ wymaga ręcznego dopisania kraju, kodu pocztowego, formatu NIP.
  • Format FA(2) jest sztywny — pola opcjonalne w starym formacie są tu wymagane (np. kod GTU dla niektórych branż).
  • Faktury korygujące w KSeF mają inny flow niż zwykłe — potrzebny osobny endpoint i osobna logika.
  • Wystawienie błędnej faktury w KSeF NIE jest cofalne. Korekta = nowa faktura korygująca z odwołaniem do UID oryginału.

Checklist: czy jesteś gotowy

  1. Czy znasz aktualny status modułu KSeF w swoim ERP? (Zadzwoń do dostawcy)
  2. Czy masz certyfikat kwalifikowany lub Token e-Urzędu? Jeśli nie — wyrobienie trwa 5–10 dni roboczych.
  3. Czy Twoja baza klientów ma kompletne dane (pełny NIP, kraj, kod pocztowy)?
  4. Czy wiesz ile masz źródeł wystawiających faktury? (ERP, sklep online, BaseLinker, marketplace, ręcznie)
  5. Czy masz plan B na awarię KSeF? (Fallback queue, monitoring, alerty)
  6. Czy księgowa była przeszkolona z korekt w KSeF i obsługi statusów (Accepted / Rejected / Processing)?

Najczęstsze błędy w pierwszych miesiącach

  • "Rejected — invalid GTU code" — produkty z branży medycznej, alkoholowej, IT mają wymagane kody GTU. Wpisz je w karcie produktu w ERP.
  • "Rejected — invalid NIP format" — KSeF wymaga 10 cyfr bez myślników. Stare karty klientów często mają "522-300-13-91".
  • "Timeout" — KSeF czasem zwraca timeout przy peak hours. Implementacja retry z exponential backoff (3 próby, 2s/8s/30s).
  • Faktura wystawiona przez 2 systemy jednocześnie (Shopify wysłał i Subiekt też → duplikat). Lock na zamówieniu w bazie middleware.
  • Brak archiwizacji UID po stronie klienta — przy reklamacjach księgowa nie wie który UID był na pierwotnej fakturze.

Co dalej — od jutra

Jeśli jeszcze nie zacząłeś — pierwsze 3 kroki: (1) Zadzwoń do dostawcy ERP i zapytaj o moduł KSeF — wersja, cena, dostępność. (2) Sprawdź w bazie klientów ile pozycji ma niepełne dane (NIP/kraj/kod). (3) Policz ile masz źródeł wystawiających faktury — jeśli więcej niż 2, rozważ hub-and-spoke zamiast 4 osobnych integracji.

FAQ — najczęstsze pytania

Czy mogę wystawiać faktury bez KSeF jeśli jestem zwolniony z VAT?

Do 1 kwietnia 2026 — tak. Po tej dacie KSeF jest obowiązkowy także dla podatników zwolnionych z VAT (do 200k obrotu). Dobrowolnie można wpiąć się wcześniej.

Co jeśli klient B2B nie ma konta w KSeF?

Każda firma B2B musi mieć dostęp do KSeF (czytelnik) niezależnie od tego czy wystawia faktury. Jeśli klient nie ma — i tak wystawiasz w KSeF, klient zaloguje się przez e-Urząd żeby pobrać.

Czy faktura w KSeF zastępuje fakturę PDF wysłaną mailem?

Prawnie — tak, faktura KSeF jest jedynym ważnym dokumentem. Biznesowo — większość firm dalej wysyła PDF mailem dla wygody klienta (link do KSeF + załącznik PDF jako kopia).

Ile czasu trwa typowe wdrożenie hub-and-spoke (3 źródła faktur)?

2–3 tygodnie. Tydzień 1: audyt + mapping danych + setup n8n + tokeny KSeF. Tydzień 2: integracja źródeł + testy na środowisku ksef-test. Tydzień 3 (opcjonalny): tuning + szkolenie księgowej + go-live z monitoringiem.

Co z fakturami zaliczkowymi?

Faktury zaliczkowe mają osobny typ w formacie FA(2) (kod "ZAL"). Po finalnym rozliczeniu wystawia się fakturę końcową z odwołaniem do UID zaliczki — KSeF łączy je w jeden flow.

Jakie kary za błędną fakturę w KSeF?

Za nieumyślny błąd (zły NIP, brak GTU) — brak kary, wystawiasz korektę. Za świadome niewystawienie faktury obowiązkowo w KSeF — do 100% wartości VAT. Za powtarzające się problemy — możliwa blokada konta bankowego (Sankcja Sił).

Czy mogę testować KSeF przed wdrożeniem na produkcji?

Tak — środowisko ksef-test.mf.gov.pl ma osobny token i pełną funkcjonalność produkcyjnej. Każde wdrożenie powinno przejść 7-dniowe testy na sandbox przed go-live.

Kontakt · bezpośrednio do mnie

Pół godziny rozmowy. Zero kosztów. Konkretne wnioski.

Opowiedz mi, co zabiera Twojemu zespołowi najwięcej czasu. Pokażę, które procesy da się zautomatyzować w 2–3 tygodnie, a które wymagają szerszej rozmowy. Bez 80-slajdowych prezentacji, bez ticketów, bez „proszę wysłać zrzut ekranu".

Biuroul. Wąska 4, lok. U1 · 15-481 Białystok
E-mailkontakt@systembox.pl
Telefon+48 570 923 234 · pn–pt 8–17
NIP / REGON966-211-49-48 · 368242169

Wiadomość trafia bezpośrednio do mnie. Dane nie idą do żadnej bazy marketingowej.