Walidator KSeF vs Generator Korekt - kiedy używać którego (przewodnik 2026)
Dwa najczęściej mylone narzędzia w naszym produkcie to Walidator KSeF i Generator Korekt. Oba pracują na XML faktury, ale robią coś zupełnie innego. Walidator czyta plik i zwraca raport problemów - niczego nie modyfikuje. Generator bierze XML faktury pierwotnej i wystawia gotowy XML faktury korygującej zgodny z FA(3). Tłumaczymy, którego użyć w której sytuacji, jak są zintegrowane i jak się nie potknąć w typowych pomyłkach.
Walidator KSeF - czyta i raportuje
Walidator dostępny pod /validator (publicznie) i /dashboard/validate (po zalogowaniu) to narzędzie typu read-only. Wgrywasz plik XML, dostajesz raport: lista problemów z severity (critical / error / warning / info), opis każdego z linkiem do bazy błędów, lokalizacja w XML (linia, kolumna, XPath) i - dla wybranych przypadków - szybka naprawa do jednego kliknięcia.
Pod spodem działa katalog około trzydziestu reguł obejmujący schemat FA(2) i FA(1), poprawność formatów (NIP, REGON, IBAN, daty, kody waluty i kraju), spójność sum (netto + VAT = brutto, sumy stawek = sumy z pozycji), wymagane pola, kodowanie i strukturę XML. Auto-fix obsługuje formaty NIP, daty, brakujący kod waluty i typowe literówki w stawkach VAT - kliknięcie „Napraw to!” modyfikuje XML w pamięci i pozwala pobrać poprawiony plik.
Generator Korekt - wystawia nowy XML
Generator dostępny pod /tools/korekta (publicznie, w demo z limitem) i /dashboard/corrections (po zalogowaniu, z pełnym workflow) to narzędzie pisujące. Dostarczasz XML faktury pierwotnej (zwykłej VAT, zaliczkowej ZAL albo rozliczeniowej ROZ), wybierasz scenariusz korekty z listy, generator zwraca gotowy XML faktury korygującej zgodny z FA(3).
Logika decyzyjna stoi na trzech filarach. Pierwszy to parser pierwotnej - wykrywa typ faktury, wartości netto / VAT / brutto według stawek, sygnały kierunkowe (kraj nabywcy, znaczniki P_22 / P_23, stawki 0%) potrzebne do mapowania JPK_VAT. Drugi to katalog 12 scenariuszy (zmiana NIP, zmiana adresu, rabat potransakcyjny, zwrot towaru, błędna stawka VAT, klasyfikacja JPK, kurs waluty, korekta zbiorcza, korekta rozliczeniowa zaliczek itd.) - każdy z nich ma przypisany RodzajFaktury (KOR / KOR_ZAL / KOR_ROZ) i TypKorekty (A - wsteczna, B - bieżąca, C - inna) oraz oznaczenie, czy wymaga korekty „do zera”. Trzeci to builder XML: bierze decyzje z dwóch poprzednich kroków, wypełnia DaneFaKorygowanej (NrKSeFPierwotnej albo NrFaPierwotnej + DataWystPierwotnej), generuje sensowną PrzyczynaKorekty, ustawia TypKorekty i - opcjonalnie - paczkę audytową.
Po wygenerowaniu XML korekty trafia jeszcze raz przez wewnętrzny sub-walidator: sprawdza zgodność z FA(3), spójność deklarowanego pola JPK_VAT z danymi faktury (np. K_22 wymaga znacznika P_22 = 1 i kodu kraju spoza UE) i wykrywa anti-pattern „korekta do zera w niewłaściwym scenariuszu”.
Decyzyjnik - którego użyć
Najprościej: zadaj sobie pytanie „czy chcę dostać raport, czy chcę dostać nowy plik?”.
- Mam fakturę i nie wiem, czy KSeF ją przyjmie → Walidator. Wgrasz, dostaniesz raport, naprawisz literówki w NIP / datach / stawkach.
- Mam poprawną fakturę i muszę ją skorygować (zmienił się NIP nabywcy, kwota, klasyfikacja JPK, znalazłem rabat potransakcyjny) → Generator. Wystawi nowy XML z poprawnym DaneFaKorygowanej i TypKorekty.
- Wystawiłem korektę w innym systemie i KSeF ją odrzucił → najpierw Walidator (sprawdzi schemat i sygnały korekty), a jeśli błąd jest w decyzji biznesowej (zły TypKorekty, brak DaneFaKorygowanej) - Generator wystawi czysty plik na bazie tej samej faktury pierwotnej.
- Mam wątpliwości, czy „korekta do zera” jest właściwa → Generator. Sam dobiera scenariusz; jeśli próbujesz zerować bez zmiany NIP nabywcy, dostaniesz ostrzeżenie KOR-ANTI-001 z uzasadnieniem opartym na wytycznych KIS 2026.
Jak są zintegrowane
Oba narzędzia korzystają z tego samego katalogu reguł korekty wypracowanego w 2026 roku po publikacji wytycznych MF i interpretacji KIS: XML-KOR-001, XML-KOR-002, XML-KOR-003, XML-KOR-004, JPK-KOR-001 oraz KOR-ANTI-001.
Walidator, gdy wykryje fakturę typu KOR / KOR_ZAL / KOR_ROZ, sam wywołuje sub-walidator korekt zaszyty w Generatorze (validateCorrectionXml). Dzięki temu w wynikach walidacji zobaczysz nie tylko ogólny raport schematu FA, ale też konkretne ostrzeżenia z reguł korekty - np. „brak DaneFaKorygowanej”, „TypKorekty B przy korekcie wstecznej”, „zerowanie bez zmiany NIP”. W ekranie z wynikami pojawia się wtedy zielony banner z linkiem do Generatora („Otwórz Generator Korekt”) - bo skoro już masz fakturę korygującą, prawdopodobnie zechcesz ją wystawić od nowa czysto.
Idzie też w drugą stronę: po wygenerowaniu XML korekty Generator proponuje Ci od razu wgranie tego pliku do Walidatora - żeby zobaczyć, że nowy XML przejdzie pełną walidację, a nie tylko sub-walidator korekty.
Najczęstsze błędy procesu
- Próba „naprawienia” korekty walidatorem. Walidator pokazuje, co jest nie tak - ale nie wystawi za Ciebie poprawnej korekty. Jeśli brakuje sekcji DaneFaKorygowanej albo zły jest TypKorekty, użyj Generatora; auto-fix walidatora obsługuje tylko literówki w polach źródłowych, nie strukturę korekty.
- Generator bez walidacji pierwotnej. Jeśli faktura pierwotna ma rozjechane sumy albo błędny NIP, Generator wystawi „poprawną” korektę odwołującą się do błędnego oryginału. Zawsze najpierw przepuść pierwotną przez Walidator.
- Mylenie korekty „do zera” ze zwykłą korektą. Stara praktyka „zeruję pierwotną i wystawiam nową” jest właściwa wyłącznie, gdy zmienia się NIP nabywcy. W każdym innym przypadku KIS oczekuje zwykłej korekty zmieniającej tylko dotknięte pola - zerowanie tam to anti-pattern (KOR-ANTI-001).
- Korekta wysłana do KSeF, JPK_VAT nie zaktualizowany. KSeF i JPK to dwa różne pliki - jeden nie aktualizuje drugiego. Generator pokaże, w jakim okresie ujęć korektę (TypKorekty A - wstecz, B - bieżąco), ale samej korekty JPK musisz złożyć w swoim systemie księgowym.
Spróbuj sam
Oba narzędzia są dostępne publicznie - w wersji demo bez limitu na rozmiar XML, ale z dziennym limitem zapytań. Pełen workflow (paczki audytowe, historia 90 dni, brak limitu) odblokowujesz w panelu zalogowanego użytkownika.
→ Case study: korekta zaliczki K_04 → K_10
Treść ma charakter informacyjny. Jeśli masz wątpliwości co do konkretnej korekty, skonsultuj się z doradcą podatkowym lub Krajową Informacją Skarbową.