blinking
← Wszystkie artykuły
Automatyzacja AI26 października 2026· 10 min czytania

Integracja KSeF z n8n: jak zbudować własny automat do faktur

Jak krok po kroku zbudować w n8n automat pobierający faktury z KSeF: węzły, uwierzytelnienie, harmonogram, obsługa błędów i realne koszty utrzymania.

n8n nie ma gotowego węzła do KSeF i prawdopodobnie długo nie będzie miał. Integrację budujesz z klocków, które n8n ma od zawsze: węzeł HTTP Request do rozmowy z API Ministerstwa Finansów, Schedule Trigger do cyklicznego odpytywania, Code do podpisania żądania i rozbioru XML-a, oraz zwykłą bazę lub arkusz do pamiętania, co już pobrałeś. Brzmi jak więcej pracy niż kliknięcie „zainstaluj" — i jest. W zamian dostajesz automat, który robi dokładnie to, co ustaliłeś, i który należy do Ciebie.

Ten tekst jest dla kogoś, kto już wie, czy chce automatyzować faktury, i pyta jak to złożyć. Jeśli jesteś na wcześniejszym etapie, zacznij od przewodnika po KSeF 2026 z terminami 1 lutego i 1 kwietnia 2026, a potem od porównania trzech sposobów pobierania faktur — n8n to tylko jeden z nich i nie zawsze najlepszy.

Opisuję stan z października 2026 i swoją praktykę wdrożeniową. API KSeF jest rozwijane przez Ministerstwo Finansów, a n8n wydaje nową wersję niemal co tydzień — przed startem zawsze sprawdzam aktualną specyfikację i changelog.

Dlaczego w ogóle n8n, a nie skrypt

Pytanie uzasadnione, bo w Pythonie napisałbym to szybciej. Argumenty za n8n są trzy i wszystkie dotyczą tego, co dzieje się po wdrożeniu.

Widać, co się stało. Każdy przebieg ma historię: które żądanie poszło, co wróciło, gdzie się przerwało. Właściciel firmy może sam zajrzeć i zobaczyć, że dziś o 7:00 pobrało się sześć faktur. W skrypcie na serwerze zobaczy log, jeśli ktoś mu go pokaże.

Dalsze kroki dokłada się bez programisty. Dodanie powiadomienia na Teams, wpisu w arkuszu albo wrzucenia PDF-a na dysk firmowy to w n8n przeciągnięcie węzła. To właśnie te kroki, nie samo pobieranie, dają oszczędność czasu.

Nie jesteś przywiązany do jednego wykonawcy. Workflow da się wyeksportować do pliku JSON i odtworzyć u siebie. Mój skrypt bez komentarzy jest dla Twojej firmy czarną skrzynką — i tak go nie powinna kupować.

Przeciwko n8n jest jedna rzecz: zadania naprawdę nietypowe (ciężkie przetwarzanie XML-a, własna kryptografia) wygodniej zapisać kodem. Dlatego w praktyce robię hybrydę — logika w n8n, a trudne fragmenty w węźle Code.

Anatomia workflow: osiem węzłów

Poniżej szkielet, który odtwarzam w kolejnych wdrożeniach. Nie jest to kopia konkretnego klienta, tylko wzorzec.

#WęzełZadanie
1Schedule TriggerUruchamia przebieg co 2–4 godziny w godzinach pracy
2Code / HTTP Request (auth)Uwierzytelnia się w KSeF tokenem lub certyfikatem i otwiera sesję
3HTTP Request (zapytanie)Pyta o faktury, w których firma jest nabywcą, od zapamiętanego punktu
4Code (deduplikacja)Odrzuca numery KSeF, które są już w bazie
5HTTP Request (pobranie)Ściąga XML każdej nowej faktury
6Code (parsowanie)Wyciąga sprzedawcę, NIP, kwoty, termin płatności, rachunek
7Switch (routing)Kieruje fakturę do właściwej osoby według reguł
8Baza / Sheets + Teams/SlackZapisuje stan i powiadamia akceptującego

Do tego dwa węzły, o których łatwo zapomnieć: zapis punktu startowego na końcu udanego przebiegu i gałąź błędu podłączona do osobnego workflow alarmowego.

Uwierzytelnienie: najtrudniejszy węzeł

Tu wysypuje się większość pierwszych prób. KSeF nie przyjmuje zwykłego klucza API w nagłówku. Trzeba otworzyć sesję: pobrać od systemu element do podpisania, podpisać go tokenem lub certyfikatem firmy, odebrać token sesyjny i dopiero nim posługiwać się w kolejnych żądaniach. Sesja wygasa, więc automat musi umieć ją odnowić w środku przebiegu.

Praktyczne wnioski z moich wdrożeń:

  • Token na start, certyfikat przy większej firmie. Token wklejasz do credentiali n8n i masz spokój. Certyfikat jest wygodniejszy, kiedy dostęp ma kilka systemów naraz i chcesz odwołać jeden bez ruszania pozostałych.
  • Credentials, nigdy nie w węźle. Token wpisany na sztywno w pole URL trafia do każdego eksportu workflow i do każdego logu. Trzymam go w credentialu n8n i odwołuję się zmienną.
  • Uprawnienie tylko do odczytu faktur. Automat pobierający koszty nie ma po co mieć prawa wystawiania faktur w imieniu firmy.
  • Najpierw środowisko testowe. MF udostępnia środowisko testowe i warto przepuścić przez nie cały workflow, zanim dotkniesz produkcji. Fakturę wysłaną omyłkowo do produkcyjnego KSeF trzeba potem korygować.

Harmonogram i pamięć: skąd biorą się duplikaty

Najczęstsza wada domowych automatów: wyzwalacz ustawiony na „pobierz faktury z ostatnich 24 godzin". Działa idealnie, dopóki n8n nie zatrzyma się na weekend po aktualizacji serwera. W poniedziałek automat pyta o ostatnią dobę i faktury z soboty nie pobiera już nikt.

Robię to inaczej. Po każdym udanym przebiegu zapisuję znacznik czasu, do którego dotarłem. Następny przebieg startuje od tego znacznika z zakładką kilkunastu minut, żeby nic nie wpadło w szczelinę. Zakładka oznacza, że część faktur przyjdzie dwa razy — i dlatego w węźle 4 odrzucam numery KSeF, które już są w bazie. Deduplikacja po numerze KSeF jest pewniejsza niż po numerze faktury sprzedawcy, bo ten drugi potrafi się powtarzać między kontrahentami.

Częstotliwość: co 2–4 godziny w godzinach pracy wystarcza do faktur kosztowych. Odpytywanie co minutę nic nie zmienia, bo i tak czekasz na człowieka, który zatwierdzi koszt.

Obsługa błędów, czyli różnica między zabawką a narzędziem

Automat, który cicho przestaje działać, jest gorszy niż ręczne pobieranie, bo nikt nie wie, że przestał. Minimum, które zawsze dokładam:

  1. Error Workflow. W ustawieniach workflow wskazuję drugi workflow, który odpala się przy każdym nieobsłużonym błędzie i wysyła mi wiadomość z treścią błędu.
  2. Retry na węzłach HTTP. Dwie–trzy próby z odstępem. Chwilowa niedostępność API to normalna rzecz, nie awaria.
  3. Alarm o ciszy. Osobny, bardzo prosty workflow sprawdza raz dziennie, czy był jakiś udany przebieg. Jeśli od 12 godzin nie było żadnego, dostaję wiadomość. Ten jeden węzeł wyłapał u mnie więcej problemów niż wszystkie pozostałe zabezpieczenia razem.
  4. Ostrzeżenie o wygasającym dostępie. Tokeny i certyfikaty mają termin ważności. Przypomnienie dwa tygodnie przed oszczędza piątkowego wieczoru.

Self-hosted czy n8n Cloud

Obie opcje są sensowne i wybór zależy od tego, kto ma utrzymywać serwer.

n8n self-hostedn8n Cloud
Koszt narzędziaLicencja community bezpłatna, płacisz za serwerAbonament miesięczny według planu
Gdzie są dane fakturNa Twoim serwerze (możesz wybrać Polskę/UE)U dostawcy, zgodnie z regionem planu
Aktualizacje i kopieTwoje zadanie albo zadanie wykonawcyPo stronie dostawcy
Dobre dlaFirm wrażliwych na to, gdzie leżą daneFirm bez własnego IT

Orientacyjnie: VPS wystarczający dla jednego automatu fakturowego to u polskich dostawców kilkadziesiąt złotych miesięcznie, a doliczam do tego koszt opieki — bo ktoś musi aktualizować i sprawdzać kopie. Na stronie usługi podaję widełki narzędzi na poziomie 0–500 zł miesięcznie dla automatyzacji procesów; automat KSeF mieści się w dolnej części tego zakresu. Przy kliencie z Lubonia, który miał już serwer pod inne usługi, dołożenie n8n nie zmieniło rachunku za hosting w ogóle.

Jedna rzecz niezależna od wariantu: konto administratora musi być Twoje. Jeśli instancja n8n stoi na koncie wykonawcy, przy rozstaniu zostajesz z eksportem JSON i problemem.

Czego nauczyłem się po pierwszym miesiącu działania

Parsowanie XML-a jest nudne i tam siedzą błędy. Struktura FA pozwala na warianty: pozycje z różnymi stawkami, korekty, zaliczki, załączniki. Pierwsza wersja parsera zawsze obsługuje typową fakturę za hosting i wywraca się na fakturze z ośmioma pozycjami i rabatem. Dlatego po uruchomieniu zbieram przez dwa tygodnie surowe XML-e wszystkich faktur i dopiero wtedy domykam parser.

Ludzie nie czytają maili, czytają powiadomienia. Ta sama prośba o akceptację wysłana mailem leży trzy dni, a wysłana na Teams z przyciskiem jest klikana w ciągu godziny. Zmiana jednego węzła, duża różnica w czasie obiegu. Resztę reguł akceptacji rozpisałem w tekście o obiegu dokumentów i akceptacji faktur.

Połowa dokumentów kosztowych nie przychodzi z KSeF. Subskrypcje zagraniczne, paragony, bilety, opłaty bankowe. Jeśli automat obsłuży tylko KSeF, firma zostaje z dwoma obiegami i wraca do segregatora. U klienta z Mosiny domknięcie tej drugiej ścieżki — odczyt skanów przez OCR z AI i ta sama kolejka akceptacji — zajęło więcej czasu niż cała integracja z KSeF.

Kiedy odpuścić n8n

Będę szczery wbrew własnemu interesowi: przy kilkunastu fakturach kosztowych miesięcznie i jednej osobie, która je zatwierdza, nie buduj tego. Moduł KSeF w programie księgowym albo upoważnienie dla biura rachunkowego wystarczy, a kosztuje ułamek. Automat w n8n zwraca się, kiedy spełnione są co najmniej dwa warunki:

  • miesięcznie przechodzi przez firmę kilkadziesiąt faktur kosztowych lub więcej,
  • akceptuje je więcej niż jedna osoba albo reguły zależą od kwoty i kategorii,
  • faktura musi trafić do dwóch różnych systemów (np. księgowość i własna baza projektów),
  • chcesz powiadomień i raportu, czego program księgowy nie daje.

Pełny zakres tego, co składam w ramach wdrożenia, opisuję na stronie automatyzacji KSeF i obiegu faktur.

FAQ

Czy n8n ma gotowy węzeł do KSeF?

Nie. Integrację buduje się z węzłów HTTP Request i Code według specyfikacji API Ministerstwa Finansów. Gotowe szablony krążące po internecie traktuję jako punkt wyjścia, nie jako rozwiązanie — zwykle brakuje w nich pamięci punktu startowego i obsługi błędów.

Czy n8n w wersji bezpłatnej wystarczy do faktur?

Do pobierania faktur kosztowych i prostego obiegu akceptacji — tak, licencja community uruchomiona na własnym serwerze wystarcza. Płatne plany zaczynają mieć znaczenie przy wielu użytkownikach i funkcjach zespołowych.

Czy przez n8n można też wystawiać faktury do KSeF?

Technicznie tak, ale rzadko to doradzam. Wystawianie jest bliżej księgowości i lepiej, żeby robił to program, który pilnuje numeracji i korekt. n8n zostawiam po stronie odbioru i obiegu.

Co się stanie z moim automatem, gdy zmieni się API KSeF?

Trzeba będzie poprawić węzły żądań. Przy zmianach wersji API część integracji wymaga przepisania — dlatego przy wdrożeniu ustalam wprost, kto i w jakim czasie wprowadza takie poprawki.

Ile trwa zbudowanie takiej integracji?

Sam szkielet pobierania działa po kilku dniach. Realne wdrożenie z regułami akceptacji, testami na środowisku testowym i dopięciem parsera to orientacyjnie 1–3 tygodnie, zgodnie z widełkami, które podaję w tekście ile kosztuje wdrożenie KSeF w firmie.

Podsumowanie

Integracja KSeF z n8n to nie jeden węzeł, a kilkanaście decyzji: token czy certyfikat, jak pamiętać punkt startowy, co zrobić przy błędzie, gdzie trzymać dane i kto dostaje powiadomienie. Techniczna część zajmuje kilka dni. Dni, które naprawdę decydują o powodzeniu, idą na reguły akceptacji i na faktury spoza KSeF.

Jeśli masz już policzone, ile faktur kosztowych miesięcznie przechodzi przez Twoją firmę, i chcesz wiedzieć, czy własny automat się opłaca, napisz do mnie przez formularz kontaktowy. Wstępna rozmowa jest bezpłatna i czasem kończy się radą, żeby zostać przy programie księgowym.

Potrzebujesz pomocy z wdrożeniem?

Skontaktuj się — bezpłatna konsultacja, wycena w 24h.