Fakturowanie i KSeF w sklepie internetowym
Od kwietnia 2026 faktura dla nabywcy z numerem NIP musi trafić do KSeF, a kary za brak wysyłki ruszają w styczniu 2027. Sklep może wystawiać i wysyłać te dokumenty sam, pod warunkiem że w wątpliwych sytuacjach pyta człowieka zamiast zgadywać.
Kwiecień 2026 to termin, a nie zapowiedź
Od kwietnia 2026 faktura wystawiona na nabywcę rozpoznanego po numerze NIP musi trafić do KSeF, czyli Krajowego Systemu e-Faktur. Kary za brak wysyłki zaczynają obowiązywać w styczniu 2027.
Dla sklepu, który sprzedaje jednocześnie firmom i konsumentom, to znaczy jedno: dokument trzeba wystawić i dodatkowo wysłać, przy czym tylko część dokumentów podlega wysyłce. Robienie tego ręcznie przy kilku zamówieniach dziennie jest do przeżycia. Przy kilkudziesięciu przestaje być, a pomyłka w tym miejscu nie kosztuje reklamacji, tylko korekty i tłumaczenia.
Domyślny tryb wysyłki odwzorowuje dokładnie tę granicę. Faktura dla nabywcy z numerem NIP idzie do KSeF, faktura dla konsumenta nie. Istnieje też tryb, który nie wysyła nigdy, ale należy on do środowiska deweloperskiego i testów, nie do żywego sklepu.
Faktura to dokument, więc program nie ma prawa zgadywać
Większość automatyzacji w sklepie może pomylić się i poprawić po sobie później. Fakturowanie nie może. Dokument z niewłaściwym nabywcą albo niewłaściwą kwotą to nie zgłoszenie błędu, tylko korekta, czas księgowej i rozmowa z klientem.
Dlatego proces dzieli zamówienia na trzy grupy zamiast dwóch. Te, które bez wątpliwości podlegają fakturowaniu, dostają fakturę. Te, które bez wątpliwości nie podlegają, są pomijane z zapisanym powodem. Reszta czeka na człowieka, a odłożenie sprawy jest tu normalnym wynikiem, nie awarią.
Powody pominięcia to zamknięta i konkretna lista: zamówienie już zafakturowane, sprzed ustawionej daty startu, w walucie spoza konfiguracji, anulowane albo nie w pełni opłacone. Żaden z nich nie generuje błędu, bo żaden błędem nie jest.
Kiedy zamówienie jest firmowe
Cała reszta wisi na jednym rozstrzygnięciu: czy przy zamówieniu jest poprawny NIP. Klienci nie ułatwiają tu zadania. Numer ląduje w nazwie firmy, w uwagach do zamówienia, w polu, które akurat było pod kursorem.
Numer szukany jest więc kolejno w metadanych zamówienia, w metadanych adresu rozliczeniowego i wreszcie w polu nazwy firmy przy tym adresie. Kluczowe jest jednak to, co dzieje się dalej: znaleziony ciąg przechodzi walidację sumy kontrolnej. Jeżeli nie jest poprawnym polskim NIP-em, zamówienie zostaje sprzedażą konsumencką i nie trafia do KSeF.
Zagraniczny numer VAT dostaje własną ścieżkę. Wygląda podobnie na tyle, że łatwo o pomyłkę, a potraktowanie go jak NIP oznaczałoby wysłanie do KSeF dokumentu, który nie powinien tam trafić.
Faktury, które ktoś wystawił obok sklepu
Każdy sklep z historią ma faktury wystawione ręcznie, w pośpiechu, bo klient potrzebował dokumentu od razu. Dopasowanie istnieje właśnie dla nich.
Jedynym źródłem jest inFakt i żaden stary system nie jest czytany. O tym, czy dokument należy do zamówienia, decydują trzy twarde warunki. Data faktury musi mieścić się w tolerancji wokół warszawskiego dnia kalendarzowego zamówienia, domyślnie siedem dni, najwyżej trzydzieści jeden. Nabywca musi zgadzać się dokładnie: znormalizowany NIP przy zamówieniu firmowym, a przy konsumenckim dokładny adres e-mail albo dokładne znormalizowane imię i nazwisko. Kwota brutto musi zgadzać się co do grosza, bez tolerancji.
Nazwy pozycji nie są sygnałem w ogóle, bo opisy produktów bywają na fakturach poprawiane, a dopasowywanie po zbliżonej nazwie to najprostsza droga do przypisania jednego dokumentu do dwóch różnych zamówień. Odczyt zawsze jest próbny, a zapis pozostaje próbny, dopóki nie dostanie wyraźnego polecenia zastosowania zmian.
Samo przypisanie jedynie odnotowuje dokument, który już istnieje. Nie powstaje żadna faktura, nic nie leci do KSeF i nie jest emitowane zdarzenie o wystawieniu, więc nic dalej w systemie nie zachowa się tak, jakby właśnie pojawił się nowy dokument.
Czego to nie robi
Faktur korygujących nie wystawia. Zwrócone albo anulowane zamówienie z już wystawioną fakturą trafia do przejrzenia, a korektę robi człowiek w inFakt. Piszemy o tym wprost, bo to realne ograniczenie i lepiej przeczytać o nim tutaj niż zorientować się przy pierwszym zwrocie.
Warto też wiedzieć, jak wtyczka zachowuje się, zanim cokolwiek zdecydujesz. Bez skonfigurowanego klucza API nie robi nic. Po skonfigurowaniu fakturowanie nadal startuje wstrzymane. Ponad tym jest jeszcze osobny wyłącznik w zmiennych środowiskowych. Ta bezczynność jest celowa: najgorszy możliwy scenariusz dla systemu fakturowego to paczka dokumentów wystawionych w dniu instalacji, których nikt nie chciał wystawić.
Rozwijamy ją otwarcie i opisujemy w dokumentacji medusa-infakt, więc powyższe reguły możesz sprawdzić, zamiast brać je na słowo.
Co dostajesz
Faktura z opłaconego zamówienia
Faktura wystawiana w inFakt automatycznie, domyślnie w momencie pobrania płatności, a jeśli Twój proces tego wymaga, już przy złożeniu zamówienia.
Wysyłka do KSeF dla firm, konsument bez wysyłki
Domyślny tryb wysyła do KSeF fakturę wystawioną na nabywcę z numerem NIP i zostawia sprzedaż konsumencką poza systemem, czyli dokładnie tam, gdzie przepis stawia granicę.
Weryfikacja NIP, a nie sama obecność cyfr
Numer szukany kolejno w metadanych zamówienia, w metadanych adresu rozliczeniowego i w polu nazwy firmy, ale zamówienie staje się firmowe dopiero wtedy, gdy suma kontrolna numeru się zgadza.
Pominięcia z powodem zamiast błędów
Zamówienie już zafakturowane, sprzed daty startu, w obcej walucie, anulowane albo nie w pełni opłacone jest pomijane z zapisanym powodem, więc nic nie zalega w kolejce błędów, udając awarię.
Ponowienia, które w końcu odpuszczają
Odstęp rośnie od pięciu minut, podwajając się przy każdej próbie, do sześciu godzin. Po ośmiu próbach wpis dostaje status do przejrzenia, zamiast być ponawiany bez końca.
Dopasowanie faktur wystawionych ręcznie
Dokumenty założone bezpośrednio w inFakt są dopasowywane do zamówień po dacie, tożsamości nabywcy i kwocie brutto, a następnie przypisywane jako istniejący dokument, a nie wystawiane po raz drugi.
Jak pracujemy
- 01
Ustalamy, co w ogóle podlega fakturowaniu
Które waluty, od jakiej daty, w którym momencie życia zamówienia i co robimy z przypadkami niejednoznacznymi. To decyzje biznesowe, nie techniczne, i to one przesądzają o większości ustawień.
- 02
Podpinamy inFakt przy wszystkim wyłączonym
Bez klucza API wtyczka nie robi zupełnie nic, a po skonfigurowaniu fakturowanie startuje wstrzymane. Pierwsze sensowne uruchomienie jest odczytem, nie zapisem.
- 03
Najpierw porządkujemy historię
Istniejące faktury dopasowujemy do zamówień na sucho i tak zostaje, dopóki ktoś świadomie nie poprosi o zapisanie wyniku. Przypisanie odnotowuje dokument, który już istnieje: nic nie powstaje i nic nie leci do KSeF.
- 04
Odblokowujemy wystawianie, potem wysyłkę
Wystawianie i wysyłka do KSeF to dwie osobne decyzje. Uruchomienie samego wystawiania daje Ci prawdziwe dokumenty do obejrzenia, zanim cokolwiek stanie się zgłoszeniem do urzędu.
- 05
Pracujemy na kolejce do przejrzenia
Wszystko, czego proces nie chce rozstrzygnąć sam, ląduje w jednym miejscu razem z powodem. Ta kolejka jest równie ważnym efektem pracy co same faktury, bo to w niej widać sprawy wymagające człowieka.
Narzędzia i technologie
Tam, gdzie istnieje dobre narzędzie open source, wybieramy je zamiast zamkniętego. Bez uzależnienia od jednego dostawcy i z kosztami, które da się przewidzieć.
- Medusa v2
- inFakt
- KSeF
- TypeScript
- Node.js
- PostgreSQL
- Redis
- Next.js
- medusa-infakt
- medusa-admin-kit
Najczęściej zadawane pytania
Pozostałe usługi w tej kategorii
Wdrożenia headless commerce na Medusie
Sklep pudełkowy narzuca własny model danych, własne reguły koszyka i własny harmonogram wydań. Medusa v2 jest frameworkiem, który stoi u Ciebie, więc to, co w Twojej sprzedaży odstaje od szablonu, da się zbudować zamiast obchodzić dookoła.
Integracje z marketplace'ami — Allegro
Sprzedaż na Allegro obok własnego sklepu zwykle kończy się jednym katalogiem prowadzonym w dwóch miejscach i arkuszem, który to wszystko spina. Oferty, stany i zamówienia mogą być w tym samym panelu co reszta asortymentu.
Automatyzacja cen i kontrola marży
Ceny w walutach obcych, które przeliczają się same każdego dnia po kursie średnim NBP, i koszt zakupu widoczny przy produkcie, dzięki czemu marża jest liczbą w panelu, a nie czymś, co raz na miesiąc składa się w arkuszu.
Przeczytaj opinie firm, które nam zaufały
Dostarczone znacznie wcześniej niż termin.
Indywidualne podejście ZanReal jest imponujące.
Wiedza i intuicja biznesowa czynią ich wartościowym partnerem.
Szybkie rozwiązania, które obniżyły koszty o 99%.
+20% dostarczalności dla naszych kampanii e-mail.

Najnowsze
Poradniki techniczne, bezpieczeństwo i nasze doświadczenia z budowania rozwiązań AI.
Ciekawi Cię, co dalej?
Zobacz wszystkie postyKto u Ciebie wystawia faktury do zamówień ze sklepu?
Napisz do nasOpisz, jak dziś zamówienie zamienia się w fakturę, łącznie z tymi wystawianymi ręcznie. Sprawdzimy, co da się wystawiać automatycznie, co musi iść do KSeF, a co powinno zostać decyzją człowieka.
Nie nadążasz za zmianami w świecie AI?
Pozwól, że weźmiemy to na siebie. Co tydzień destylujemy najważniejsze wydarzenia ze świata AI w skupiony, 5-minutowy przegląd - żebyś był na bieżąco bez szumu.
Dowiedz się więcej