← Automatyzacja procesów

Automatyzacja · KSeF

Faktury z Allegro w KSeF 2026 bez ręcznego CSV (jak połączyć Allegro, BaseLinker i KSeF krok po kroku)

W skrócie

Największym problemem nie jest podłączenie KSeF do sklepu, tylko to, że faktura potrafi wystawić się dwa razy: raz automatycznie z BaseLinkera, raz ręcznie przy reklamacji. Rozwiązaniem jest jeden, precyzyjnie zaprojektowany trigger: status zamówienia „zapłacone” plus warunek, że dla tego zamówienia nie istnieje jeszcze numer KSeF. Dopiero na tym fundamencie ma sens rozmowa o tym, czy BaseLinker wystawi fakturę sam, czy potrzebny jest pośrednik typu n8n albo Make.

Problem nie leży w KSeF, tylko w tym, co dzieje się wokół niego

Kiedy klient sklepu internetowego przychodzi do nas z pytaniem „jak podłączyć KSeF do BaseLinkera”, zwykle po dwóch rozmowach okazuje się, że chodzi o zupełnie inny problem. Integracja techniczna jest prostą częścią zadania. Trudniejsze jest zaprojektowanie procesu tak, żeby faktura nie wystawiła się dwa razy dla tego samego zamówienia, kiedy w grę wchodzi zwrot, reklamacja, ręczna korekta konsultanta albo zwykła zmiana statusu w BaseLinkerze, która wygląda niewinnie, a w praktyce odpala trigger po raz drugi.

KSeF nie wybacza takich pomyłek. System nie ma mechanizmu „nadpisz poprzedni dokument”. Każda faktura, która trafi do Krajowego Systemu e-Faktur, dostaje numer i zostaje w systemie na stałe. Jeśli trzeba coś poprawić, nie edytuje się pierwotnego dokumentu, tylko wystawia fakturę korygującą. To oznacza, że błąd w logice automatyzacji nie znika sam, tylko mnoży się w czasie: po miesiącu masz dziesiątki zduplikowanych dokumentów i księgowość, która ręcznie próbuje ustalić, który numer jest „ten prawdziwy”.

Mapa procesu: od kliknięcia „kupuję teraz” do numeru KSeF

Zanim zaprojektuje się regułę antyduplikacyjną, warto rozrysować cały łańcuch zdarzeń, bo większość błędów bierze się z tego, że ktoś pominął jedno ogniwo. W typowym sklepie wielokanałowym wygląda to tak: zamówienie powstaje na Allegro, trafia do BaseLinkera przez integrację API, system pobiera informację o płatności (albo z operatora płatności, albo ze statusu Allegro), zmienia status zamówienia na „opłacone”, generuje dokument sprzedażowy i wysyła go dalej, do KSeF, a równolegle do klienta i do etykiety kurierskiej.

Allegro udostępnia REST API z limitami zapytań na minutę, więc przy sklepie, który obsługuje kilkaset zamówień dziennie, zwykłe odpytywanie co minutę o nowe zamówienia prędzej czy później zacznie się wysypywać albo dublować dane. W praktyce lepiej opierać integrację na webhookach zdarzeń zamówienia i dopiero po ich otrzymaniu pobierać szczegóły, zamiast robić ciągły polling. To drobna rzecz, ale decyduje o tym, czy BaseLinker dostaje jedno zdarzenie na zamówienie, czy trzy, co później trzeba będzie filtrować już na poziomie triggera fakturowania.

Jeden trigger, nie trzy: jak zaprojektować regułę bez dubli

Naiwne podejście to ustawienie automatu na „zmiana statusu zamówienia na zapłacone → wystaw fakturę”. Działa świetnie do pierwszego zwrotu częściowego. Wtedy status zamówienia w BaseLinkerze często wraca do „w realizacji”, a po uregulowaniu sprawy ponownie zmienia się na „zapłacone”. Automat, który reaguje wyłącznie na zmianę statusu, odpali się po raz drugi i spróbuje wystawić drugą fakturę dla tego samego zamówienia.

Dlatego trigger, który faktycznie działa w produkcji, musi sprawdzać dwa warunki jednocześnie: status „zapłacone” oraz brak istniejącego numeru KSeF przypisanego do tego zamówienia. Numer KSeF zapisujemy w polu niestandardowym zamówienia zaraz po jego otrzymaniu z systemu. To pole pełni funkcję blokady idempotencji: zanim cokolwiek zostanie wysłane do KSeF, automat najpierw sprawdza, czy pole jest puste. Jeśli nie jest, nic się nie dzieje, niezależnie od tego, ile razy status zamówienia zmieni się tam i z powrotem.

W jednym z wdrożeń klient miał trigger uruchamiany na każdą zmianę statusu zamówienia w BaseLinkerze. Przy zwrocie częściowym status wracał do „w trakcie realizacji”, a potem znowu do „zapłacone”, więc system próbował wystawić drugi dokument dla tego samego zamówienia. Rozwiązaniem było dodanie pola z numerem KSeF jako blokady: trigger sprawdza najpierw, czy pole jest puste, zanim cokolwiek wyśle dalej.

Druga rzecz, o której firmy zapominają, to mapowanie statusów osobno dla każdego kanału sprzedaży. „Zapłacone” na Allegro Smart nie znaczy tego samego co „zapłacone” w sklepie własnym z płatnością przelewem, gdzie księgowanie wpłaty może trwać dzień czy dwa. Jeden uniwersalny trigger dla wszystkich kanałów to najczęstsza przyczyna fałszywie pozytywnych wystawień faktury przed faktycznym zaksięgowaniem wpłaty.

Zwroty i korekty: miejsce, gdzie automatyzacja najczęściej się sypie

Tu trzeba być szczery: w pełni automatyczne korekty faktur w sklepie z realnym wolumenem zwrotów to zły pomysł. Automat dobrze radzi sobie z prostym przypadkiem: pełny zwrot całego zamówienia, jedna stawka VAT, brak rabatów. Gorzej, kiedy zwrot jest częściowy, dotyczy jednej pozycji z kilku, a do tego klient skorzystał z kodu rabatowego rozłożonego proporcjonalnie na cały koszyk. Wtedy przeliczenie kwoty netto, VAT i podstawy korekty wymaga decyzji, a nie tylko podstawienia liczb do szablonu.

Nasze podejście w takich wdrożeniach jest konsekwentne: automat generuje dla zwrotu gotowy szkic faktury korygującej z wyliczonymi kwotami, ale wysłanie do KSeF wymaga ręcznej akceptacji osoby z działu księgowości, przynajmniej dla zwrotów częściowych albo powyżej ustalonego progu kwotowego. Automat robi 80% pracy, czyli zbiera dane, liczy proporcje, przygotowuje dokument. Decyzję o ostatecznym kształcie korekty zostawiamy człowiekowi. To nie jest kompromis z lenistwa, tylko wniosek z obserwacji: błędna korekta w KSeF to kolejny dokument do poprawienia, a nie coś, co da się po cichu usunąć.

Jeśli chcesz zobaczyć, jak wygląda to w praktyce na pełnym procesie faktur, a nie tylko w kontekście e-commerce, warto przejrzeć automatyzację faktur jako osobny temat, bo logika idempotencji i akceptacji wyjątków powtarza się też poza sklepami internetowymi, np. w fakturach kosztowych.

Natywny moduł KSeF w BaseLinkerze czy pośrednik (n8n, Make)?

BaseLinker rozwija własną integrację z KSeF w ramach modułu faktur, ale zakres dostępnych funkcji zależy od wariantu konta i tego, z jakiego dokładnie modułu fakturowania korzysta dany sklep. W praktyce, przy prostszych konfiguracjach wbudowana ścieżka wystarcza. Przy bardziej złożonych procesach, szczególnie tam, gdzie trzeba połączyć kilka kanałów sprzedaży z różną logiką VAT albo z zewnętrznym systemem księgowym innym niż domyślny, lepiej dołożyć warstwę pośredniczącą opartą na n8n lub Make, która pilnuje reguł, loguje błędy walidacji i pozwala wstrzymać wysyłkę do ręcznej weryfikacji, zamiast polegać wyłącznie na wbudowanym mechanizmie.

Natywny moduł KSeF w BaseLinkerze

Kiedy wystarcza

  • Jeden główny kanał sprzedaży i prosta logika statusów
  • Standardowe stawki VAT, bez sprzedaży do innych krajów UE
  • Brak potrzeby integracji z dodatkowym systemem ERP
  • Niski wolumen zwrotów częściowych

Pośrednik: n8n lub Make między BaseLinker a KSeF

Kiedy warto dołożyć

  • Sprzedaż wielokanałowa: Allegro, własny sklep, hurtownia, czasem Amazon
  • Potrzeba logiki warunkowej (różne stawki VAT, rabaty, proporcje)
  • Integracja z systemem księgowym innym niż domyślny w BaseLinkerze
  • Potrzeba alertów i logów przy błędach walidacji KSeF

Terminy KSeF 2026, o których sklep internetowy musi pamiętać

Obowiązkowy KSeF wchodzi etapami. Od 1 lutego 2026 obejmuje firmy, których wartość sprzedaży w 2024 roku przekroczyła 200 mln złotych. Od 1 kwietnia 2026 obowiązek dotyczy pozostałych czynnych podatników VAT, czyli w praktyce większości średnich i małych sklepów internetowych. To oznacza, że właściciel sklepu, który dziś generuje kilkadziesiąt zamówień dziennie, formalnie ma jeszcze trochę czasu, ale testowanie integracji warto zacząć wcześniej, niż wynika to z twardego terminu.

Powód jest prozaiczny: sklep internetowy generuje dziesiątki albo setki faktur dziennie, więc błąd w logice triggera, który w firmie usługowej wystawiającej dziesięć faktur miesięcznie ujawniłby się po kilku tygodniach, w e-commerce wychodzi na jaw po dwóch dniach i od razu w dużej skali. Uruchomienie automatu na próbie 20-30 realnych zamówień, zanim włączy się go dla całego ruchu, to najtańsza polisa ubezpieczeniowa, jaką można sobie kupić przed kwietniem 2026.

Osobny temat to faktura do paragonu z NIP nabywcy. Jeśli sprzedaż online wiąże się z wystawieniem paragonu fiskalnego zawierającego NIP klienta, fakturę można wystawić tylko na ten sam NIP, który widnieje na paragonie. W BaseLinkerze dane NIP pochodzą czasem z innego pola niż dane do faktury wpisane przez klienta przy składaniu zamówienia, zwłaszcza gdy zamówienie wpada z Allegro, gdzie dane do faktury klient uzupełnia osobno. Rozjazd między tymi polami to kolejne miejsce, gdzie automat potrafi próbować wystawić dokument niezgodny z paragonem, a KSeF go odrzuci na etapie walidacji.

Krótka checklista przed włączeniem automatu

Zanim przełączysz cały ruch na automatyczne fakturowanie, warto przejść przez kilka punktów, które w naszych wdrożeniach oszczędzają najwięcej czasu później:

  • Zmapuj statusy zamówień osobno dla każdego kanału sprzedaży i zaznacz, który status faktycznie oznacza zaksięgowaną wpłatę, a nie tylko deklarację płatności.
  • Dodaj pole niestandardowe z numerem KSeF i datą wystawienia jako blokadę przed podwójnym wysłaniem dokumentu.
  • Oddziel ścieżkę zwrotów i korekt od ścieżki standardowego wystawiania, z wymaganą akceptacją człowieka przy zwrotach częściowych.
  • Przetestuj cały łańcuch na próbce 20-30 realnych zamówień, zanim włączysz automat dla całego ruchu.
  • Ustaw alert e-mail lub na Slacka przy błędzie walidacji KSeF, żeby dowiedzieć się o problemie w ciągu godzin, nie podczas kwartalnego audytu.

Jeśli dopiero porządkujesz całą automatyzację sklepu, nie tylko sam obszar faktur, warto spojrzeć na to szerzej, bo logistyka, obsługa zwrotów i fakturowanie często opierają się na tych samych danych źródłowych z BaseLinkera. Więcej o tym, jak to ogarnąć całościowo, znajdziesz przy automatyzacji e-commerce.

Częste pytania

Czy BaseLinker wystawi fakturę do KSeF całkowicie bez mojego udziału?

Dla prostych, pełnych płatności tak, jeśli reguła jest dobrze zaprojektowana i ma blokadę przed duplikacją. Przy zwrotach częściowych i korektach zalecamy pozostawienie akceptacji po stronie człowieka, bo błędna korekta w KSeF generuje kolejny dokument do poprawy, a nie coś do cichego usunięcia.

Co się dzieje, jeśli klient zwróci towar już po wystawieniu faktury w KSeF?

Oryginalnego dokumentu nie da się edytować ani wycofać. Trzeba wystawić fakturę korygującą jako osobny dokument powiązany z pierwotnym numerem. Dlatego proces zwrotów powinien mieć własną, osobną ścieżkę w automatyzacji, a nie być obsługiwany przez ten sam trigger co standardowa sprzedaż.

Czy mały sklep musi już teraz wdrażać KSeF?

Formalny obowiązek dla większości czynnych podatników VAT wchodzi od 1 kwietnia 2026, wcześniej, od 1 lutego 2026, obejmuje tylko największych podatników. Mimo to testowanie integracji warto zacząć wcześniej, bo błędy triggera ujawniają się szybciej przy dużym wolumenie zamówień dziennych, typowym dla e-commerce.

Jak uniknąć podwójnych faktur przy zamówieniach z Allegro?

Kluczowe jest oparcie triggera nie tylko na zmianie statusu, ale na połączeniu dwóch warunków: status „zapłacone” oraz brak istniejącego numeru KSeF dla danego zamówienia zapisanego w polu niestandardowym. To eliminuje duplikaty powstające przy wielokrotnej zmianie statusu, np. po zwrocie częściowym.

Czy KSeF obsługuje faktury wystawiane do paragonu z NIP klienta?

Tak, ale faktura musi być wystawiona na ten sam NIP, który widnieje na paragonie fiskalnym. W integracjach z BaseLinkerem warto sprawdzić, czy dane do faktury pobierane automatycznie zgadzają się z danymi użytymi przy wystawieniu paragonu, zwłaszcza przy zamówieniach z Allegro, gdzie klient uzupełnia dane do faktury osobno.

Chcesz sprawdzić, czy twój proces fakturowania jest gotowy na KSeF 2026?

Zrobimy bezpłatny audyt przepływu zamówień między Allegro, BaseLinkerem i systemem księgowym, znajdziemy miejsca, gdzie powstają duplikaty, i zaproponujemy konkretny projekt triggera.

Zacznij audyt

Powiązane materiały

Porównania

n8n, Make czy Zapier pod agentów AI - które narzędzie wybrać w polskiej firmie (i dlaczego cennik to najmniej ważne kryterium)

n8n, Make i Zapier pod agentów AI - porównanie z perspektywy RODO, kosztu utrzymania i realnych wdrożeń, nie tabeli funkcji.

Porównania

Agent AI a chatbot: czym się różnią i co wybrać (i kiedy wystarczy chatbot)

Chatbot odpowiada na pytania, agent AI wykonuje zadania. Wyjaśniamy różnicę na przykładach i podpowiadamy, kiedy wystarczy chatbot, a kiedy potrzebujesz agenta.

Porównania

n8n vs Make vs Zapier dla polskiej małej firmy (co naprawdę liczy się przy wyborze, nie tylko cena)

n8n, Make czy Zapier w polskiej firmie? Porównanie cen, limitów i integracji z KSeF, Fakturownią, wFirmą i Subiektem z perspektywy wdrożeniowca.

Porównania

5 chatbotów na teście: polskie literówki i odmiana (i gdzie wbudowany NLU się gubi)

Sprawdź, który chatbot naprawdę rozumie "chce zwrucic towar" po polsku, zanim wybierzesz platformę na produkcję. Zobacz wyniki testu.

Wdrożenie AI

Agent AI w firmie: 5 wdrożeń i realne liczby ROI (zamiast kolejnej listy pomysłów na AI)

Zobacz 5 wdrożeń agentów AI z czasem zwrotu i kosztem utrzymania, nie listę pomysłów. Sprawdź, które wdrożenie pasuje do Twojej firmy.

Narzędzia

Chatbot AI w WooCommerce bez abonamentu: koszty 2026 (i jak to wdrożyć bez vendor lock-inu)

Dowiedz się, ile naprawdę kosztuje chatbot AI w WooCommerce bez abonamentu i jak go wdrożyć przez API. Sprawdź realne liczby i zacznij od audytu.

Ostatnia aktualizacja: 7 pazdziernika 2026 · Autor: Zespół Ententra · wróć do bazy wiedzy