Stripe a KSeF 2026 — jak wystawiać faktury zgodne z polskim prawem (3 ścieżki)
Stripe to wygodny procesor płatności, ale ma jedną słabość, której wielu polskich przedsiębiorców nie widzi do momentu pierwszej kontroli — nie wystawia faktur zgodnych z polskim prawem. PDF, który Stripe generuje po płatności, to dokument księgowy w stylu anglosaskim: brakuje tam NIP-u w naszym formacie, polskich stawek VAT (ZW, NP), numeracji zgodnej z ustawą i — co najważniejsze od 2026 roku — formatu XML FA(2) wymaganego przez KSeF.
Od 1 lutego 2026 r. KSeF jest obowiązkowy dla największych firm (sprzedaż w 2024 powyżej 200 mln zł brutto). Od 1 kwietnia 2026 r. obowiązek obejmuje praktycznie wszystkich pozostałych przedsiębiorców — z drobnym wyjątkiem dla mikropodatników, których miesięczna sprzedaż nie przekracza 10 000 zł brutto (mogą czekać do końca 2026 r.). Jeśli przyjmujesz płatności przez Stripe — Checkout, Payment Links, subskrypcje, API — masz maksymalnie kilka tygodni na ułożenie procesu. Ten poradnik pokazuje trzy realne ścieżki, którymi przepuścisz Stripe przez polski reżim podatkowy bez nadgodzin księgowej.
Dlaczego Stripe nie wystawia faktur dla KSeF (i nie wystawi)
Stripe ma wbudowany moduł "Invoices", który generuje PDF-y dla klientów po płatności. To wygląda jak faktura — i czasami nią jest, ale nie w polskim systemie prawnym. Cztery konkretne braki:
- NIP nabywcy w polskim formacie — Stripe zbiera VAT ID w jednolitym formacie unijnym (np. PL1234567890), ale nie w wymaganym przez polską ustawę o VAT zapisie 10-cyfrowym z myślnikami i nie waliduje go przez Białą Listę.
- Brak polskich stawek VAT — w Stripe ustawiasz "23% VAT" jako standardową stawkę, ale system nie zna stawek ZW (zwolniony przedmiotowo), NP (nie podlega), ani 0% dla WDT. Każda sprzedaż usługi cyfrowej do polskiego klienta na ryczałcie zwolnionym z VAT to ryzyko błędnej stawki na PDF-ie.
- Numeracja — polskie przepisy wymagają ciągłej, niepowtarzalnej numeracji. Stripe numeruje faktury w obrębie konta, ale nie gwarantuje ciągłości w polskim sensie ustawowym (np. miesięczny prefiks).
- Brak XML FA(2) i komunikacji z KSeF — to jest kluczowe. KSeF nie przyjmuje PDF-ów. Wymaga ustrukturyzowanego pliku XML w schemacie FA(2), wysłanego przez API Ministerstwa Finansów po uwierzytelnieniu tokenem podpisu. Stripe nie ma i nie planuje takiej integracji — to byłoby narzędzie tylko dla rynku polskiego.
Stripe oficjalnie traktuje swoje PDF-y jako "payment confirmations" — potwierdzenia, nie dokumenty podatkowe. Jeśli kiedykolwiek dzwoniłeś do Stripe Support z prośbą o "fakturę z polskim NIP-em" — wiesz, że odpowiedź zawsze brzmi: użyj zewnętrznego narzędzia.
Druga warstwa problemu: prowizje Stripe to import usług
Zanim przejdziemy do wystawiania faktur sprzedaży, ważna sprawa po stronie kosztów. Stripe Payments ma siedzibę w Irlandii (Stripe Payments Europe Ltd., Dublin). Każda prowizja, którą pobiera od Twoich transakcji, to z punktu widzenia polskiego VAT import usług, rozliczany przez mechanizm odwrotnego obciążenia (reverse charge).
Co to znaczy w praktyce:
- Czynny podatnik VAT — wykazujesz podatek należny i naliczony jednocześnie (transakcja neutralna), ale zapis w JPK_V7 musi być. Stripe pośrednictwo finansowe to zwolnione z VAT (art. 43 ust. 1 pkt 40 ustawy o VAT). Inne usługi (np. Stripe Atlas, Stripe Tax) — stawka 23%.
- Podatnik zwolniony podmiotowo (limit 200 tys. zł rocznie) — tu jest pułapka. Musisz zarejestrować się jako VAT-UE, a podatek od importu usług rozliczyć przez deklarację VAT-9M. Bez prawa do odliczenia. Płacisz realny VAT od prowizji Stripe.
Praktyka: w temacie "Stripe a import usług stawka VAT" na forum.gofin.pl wątek nr 1288270 pokazuje konkretny przypadek nievatowca, który rozliczał prowizje Stripe z błędną stawką 23%, podczas gdy pośrednictwo finansowe jest zwolnione (art. 43 ust. 1 pkt 40). Sprawdź klasyfikację każdej pozycji na fakturze od Stripe — niekiedy jest tam też "Stripe Tax" lub "Atlas", które już zwolnione nie są.
To jest temat, który zostawiamy księgowej, ale warto mieć go w tyle głowy, gdy konfigurujesz integrację — dobry program księgowy (zwłaszcza wFirma i narzędzia gotowe na KSeF) potrafi zaksięgować taką prowizję automatycznie po wczytaniu wyciągu ze Stripe.
Trzy ścieżki: jak wystawiać faktury KSeF dla płatności Stripe
Architektura jest zawsze taka sama: Stripe wysyła webhook → coś (lub ktoś) tworzy fakturę w polskim programie księgowym → ten program wysyła XML do KSeF. Różni się to, kto siedzi w środku.
Ścieżka 1: Bridge zewnętrzny (Stripto, Striplo, Billio)
Najszybsze wdrożenie. Bridge to małe SaaS-y, które łączą Stripe z polskim programem księgowym i działają jako tłumacz między API. Konfiguracja: 15 minut. Klucz API ze Stripe → klucz API z Fakturowni (lub inFakt, lub wFirma) → mapowanie pól (NIP, opis usługi, stawka VAT) → gotowe.
Trzy najczęściej spotykane na rynku polskim:
- Stripto — najstarszy, integruje Fakturownię, inFakt, wFirma, iFirma. Ceny od 19 zł/mies. (plan Mini do 25 faktur), 39 zł (Starter do 100), 99 zł (Pro do 1000).
- Striplo — nowszy, focus na Fakturownię i inFakt, wspiera KSeF natywnie. Pozwala wybrać tryb automatyczny (faktura od razu) lub półautomatyczny (z akceptacją).
- Billio — Stripe + Fakturownia/inFakt + KSeF, prosty model cenowy.
Każda z tych usług nasłuchuje webhooka checkout.session.completed, invoice.paid lub charge.succeeded i woła API programu księgowego. Faktura ląduje w docelowym systemie, który (jeśli ma włączoną integrację z KSeF) wysyła ją do MF i odbiera numer KSeF + UPO (Urzędowe Poświadczenie Odbioru).
Dla kogo: jednoosobowy biznes online, SaaS, kurs, sklep z 50–500 transakcji/mies. — szkoda Twojego czasu na pisanie webhooka.
Pułapki: bridge nie zna kontekstu Twojej firmy. Jeśli sprzedajesz w wielu walutach, masz mix usług zwolnionych i opodatkowanych, albo część klientów to firmy z UE (WDT, VAT-OSS) — sprawdź dokładnie mapowanie. Część bridge'y nie obsługuje poprawnie odwrotnego obciążenia dla klientów spoza Polski.
Ścieżka 2: Natywna integracja programu księgowego ze Stripe
Niektóre programy księgowe mają wbudowaną integrację Stripe — bez pośrednika. To zwykle taniej, bardziej niezawodnie i daje lepszą kontrolę nad mapowaniem.
| Program | Jak łączy się ze Stripe | KSeF | Uwagi |
|---|---|---|---|
| Fakturownia | Natywna integracja przez API Stripe + automatyczny webhook | Tak, wbudowane wysyłanie XML FA(2) | Po połączeniu Fakturownia sama tworzy webhook w Stripe; konfiguracja w 5 minut. Wybierasz typ dokumentu (FV / paragon / proforma) i tryb (firma / osoba prywatna) |
| inFakt | Brak natywnej; przez webhook + REST API (samodzielnie lub bridge) | Tak, wbudowane KSeF | API REST/JSON jest dobrze udokumentowane. Programista postawi to w 1 dzień |
| wFirma | Przez API + bridge (Stripto), brak natywnej | Tak, automatyczne wysyłanie do KSeF z poziomu API po włączeniu opcji w ustawieniach | Pełny stack księgowy (KPIR, ZUS, JPK) — najlepsza ścieżka jeśli chcesz wszystko w jednym miejscu |
Fakturownia — jedyny program z gotową integracją Stripe out-of-the-box
Po połączeniu konta Stripe (klucz API live + test) Fakturownia sama dodaje webhook i od następnej płatności faktury wystawiają się automatycznie. Włączasz KSeF (token z e-Urzędu Skarbowego, jednorazowo) i każda faktura jedzie do KSeF równo z odbiorem płatności. Konfiguracja: 10 minut.
- ✓Tryb testowy (test API key) — przetestuj cały przepływ przed produkcją
- ✓Faktura VAT dla firm + paragon dla osób prywatnych (auto-detekcja na podstawie NIP)
- ✓Obsługa subskrypcji — każde odnowienie = nowa faktura, automatycznie
Drugi naturalny wybór, jeśli zależy Ci na pełnym pakiecie księgowym (KPiR, deklaracje, ZUS, JPK) zamiast samego fakturowania:
wFirma — pełny stack: faktury, księgowość, KSeF, ZUS
Jeśli prowadzisz JDG i chcesz mieć Stripe, fakturowanie, KPiR i deklaracje w jednym miejscu — wFirma to najlepiej zoptymalizowany stack na polskim rynku. KSeF wbudowany, faktury wysyłane automatycznie po wystawieniu (włączasz w ustawieniach integracji). Stripe podłączasz przez bridge (Stripto) lub własny webhook do API wFirmy.
Wypróbuj wFirmę →Dla kogo: firmy z większym wolumenem (1000+ transakcji/mies.), wymagające pełnej kontroli nad mapowaniem, lub działające w niszy gdzie bridge nie ogarnia (np. mix usług zwolnionych i 23%, sprzedaż międzynarodowa).
Ścieżka 3: Manualnie z eksportu CSV
Najprostsza, najwolniejsza, najbardziej narażona na ludzkie błędy — ale czasami sensowna. Eksportujesz raz w miesiącu transakcje ze Stripe Dashboard (Format: CSV), wczytujesz do programu księgowego (Fakturownia, inFakt i wFirma mają importery CSV) i wystawiasz faktury wsadem. KSeF wysyła je hurtem.
Dla kogo:
- Mikropodatnik z miesięczną sprzedażą poniżej 10 000 zł brutto, który do końca 2026 r. nie musi być na KSeF — i woli papierową/PDF fakturę. Po przekroczeniu progu lub od stycznia 2027 r. musisz przejść na ścieżkę 1 lub 2.
- Sprzedaż jednorazowa lub bardzo nieregularna (kilka transakcji miesięcznie).
- Specyficzny przypadek: każda transakcja wymaga indywidualnej weryfikacji (np. sprzedaż usług doradczych, gdzie zakres usługi i stawka VAT ustalasz po fakcie).
Wada: w 2026 r. opóźnienie między płatnością Stripe a wystawieniem faktury KSeF nie powinno przekraczać terminu ustawowego (15. dnia miesiąca następującego po sprzedaży lub do 7 dni od otrzymania zaliczki). Manualne podejście wymaga dyscypliny.
Klienci spoza UE — osobny scenariusz
Stripe spina płatności globalne. Jeśli sprzedajesz B2B do firmy w USA, Wielkiej Brytanii, Szwajcarii lub innym kraju trzecim — to nie jest sprzedaż krajowa, nie podlega KSeF w sensie ustawowym (faktura wystawiana dla niepolskiego nabywcy nie wymaga formatu FA(2)), ale wymaga prawidłowej kwalifikacji jako eksport usług (stawka NP — nie podlega) oraz wpisu w JPK_V7.
To jest zupełnie osobny temat — szczegółowo opisaliśmy go w poradniku KSeF a faktury zagraniczne. Krótko: faktura dla US/UK klienta nie idzie do KSeF, ale w polskiej księdze przychodów musi się znaleźć (ze stawką NP i adnotacją "reverse charge" jeśli B2B w UE, lub bez VAT dla B2C poza UE z uwzględnieniem pakietu VAT-OSS przy usługach cyfrowych).
Token KSeF — jak go zdobyć krok po kroku
Niezależnie którą ścieżkę wybierzesz, fundamentem jest token KSeF. To 32-znakowy ciąg, który uwierzytelnia Twój program księgowy w API Ministerstwa Finansów. Bez niego żadna faktura nie wyjdzie z systemu do KSeF.
- Zaloguj się do e-Urząd Skarbowy (e-US) przez Profil Zaufany lub kwalifikowany podpis elektroniczny. Konto musi należeć do osoby uprawnionej do reprezentowania firmy (właściciel JDG, członek zarządu sp. z o.o., prokurent).
- Wybierz "KSeF" → "Tokeny" → "Generuj token". System poprosi o nazwę (np. "Fakturownia produkcja") i zakres uprawnień. Dla pełnej funkcjonalności wybierz "wystawianie i odbieranie faktur".
- Skopiuj token natychmiast. System pokazuje go raz, nie zobaczysz go drugi raz. Wklej do programu księgowego (Fakturownia → Ustawienia → KSeF; wFirma → Ustawienia → Integracje → KSeF; inFakt → Konto → KSeF).
- Wykonaj test wystawienia. Każdy program ma "tryb testowy KSeF" — faktura idzie do środowiska test MF, nie produkcyjnego. Sprawdź czy wraca numer KSeF (format: NIP-rok-miesiąc-dzień-XXXXXXXX).
- Backup tokena. Zapisz token w menedżerze haseł. Jeśli zgubisz — musisz wygenerować nowy i przekonfigurować integracje.
Token ma datę ważności (domyślnie 2 lata, ale można skrócić). Po wygaśnięciu faktury nie wyjdą — pojawi się błąd 401 z API. Ustaw przypomnienie w kalendarzu na 30 dni przed.
Subskrypcje Stripe a KSeF — pułapka odnowień
Stripe Subscriptions to mechanizm cyklicznego pobierania płatności. Każde odnowienie generuje webhook invoice.paid i to powinno wywołać wystawienie nowej faktury. Tu czyhają trzy częste błędy:
- Pierwsza faktura jest wystawiona przy zakupie, ale odnowienia idą w pustkę. Sprawdź, czy bridge/integracja nasłuchuje
invoice.paida nie tylkocheckout.session.completed. To dwa różne eventy. - Upgrade/downgrade w trakcie okresu rozliczeniowego. Stripe generuje proration credit — to nie jest sprzedaż w polskim sensie, ale niektóre integracje próbują wystawić korektę. Konsultuj z księgową, jak to ujmować.
- Failed payment + retry. Stripe próbuje pobrać płatność wielokrotnie. Faktura wystaw się dopiero przy
invoice.paid, nie przy próbach. Niektóre konfiguracje generują "fakturę proforma" przy każdej próbie — to nie jest dokument podatkowy, ale śmieci w bazie.
Checklist przed deadlinem 1.04.2026
Lista kontrolna do odhaczenia, najlepiej do końca lutego 2026:
- Token KSeF — pobierz z e-Urzędu Skarbowego (e-US → Profil zaufany → KSeF → Generuj token). Pasuje tylko jednej osobie z konta firmy.
- Wybierz program księgowy z aktywną integracją KSeF — Fakturownia (jedyna z natywną integracją Stripe), wFirma (najpełniejszy stack), inFakt (dobre API).
- Wybierz ścieżkę połączenia ze Stripe: bridge (Stripto/Striplo/Billio) jeśli chcesz szybko, natywna jeśli używasz Fakturowni, custom webhook jeśli masz programistę.
- Skonfiguruj test mode — Stripe pozwala na pełen test z testowymi kluczami. Wystaw kilkanaście testowych faktur, sprawdź czy wpadają do KSeF (po włączeniu opcji "test KSeF" w programie).
- Sprawdź mapowanie pól: NIP nabywcy (wymagany dla B2B), opis usługi (powinien być merytoryczny, nie "Stripe charge #123"), stawka VAT (zwykle 23%, ale dla zwolnionych przedmiotowo ZW), waluta (PLN dla krajowych, kurs NBP z dnia poprzedniego dla walut obcych).
- Ustal proces dla klientów spoza UE — oddzielny szablon faktury (NP, "reverse charge"), nie idzie do KSeF.
- Rozliczenie prowizji Stripe — ustal z księgową, czy Stripe Payments to zwolnione (pośrednictwo finansowe), a Stripe Tax/Atlas to 23% (import usług). Jeśli jesteś zwolniony podmiotowo — rejestracja VAT-UE i comiesięczne VAT-9M.
- Rezerwowy plan B — jeśli KSeF API padnie (już się zdarzało w testach), faktury można wystawić w trybie offline z 7-dniowym oknem na dosłanie. Sprawdź, czy Twój program księgowy obsługuje ten tryb.
VAT-OSS i sprzedaż B2C w UE — jeszcze jedna warstwa
Jeśli sprzedajesz przez Stripe usługi cyfrowe (ebooki, kursy, SaaS) klientom prywatnym (B2C) w innych krajach UE, dotyczy Cię procedura VAT-OSS (One Stop Shop). To znaczy, że VAT od sprzedaży należy się krajowi nabywcy, nie Polsce. Stripe nie wie nic o VAT-OSS — to znowu Twoja odpowiedzialność.
Praktyka:
- W Stripe Checkout włącz "Stripe Tax" (płatne, ale automatyzuje wyliczanie stawki VAT per kraj UE) lub ręcznie zbieraj kraj nabywcy.
- Faktura wystawiona w Twoim programie księgowym musi mieć stawkę VAT kraju nabywcy (np. 25% dla Niemiec, 20% dla Francji), a nie 23% PL.
- Te faktury nie idą do KSeF (KSeF dotyczy tylko transakcji krajowych), ale muszą być wykazane w deklaracji VAT-OSS, składanej kwartalnie.
- Większość bridge'y (Stripto, Striplo) ma podstawową obsługę VAT-OSS, ale konfigurację robisz ręcznie. Dla skomplikowanych przypadków rozważ Stripe Tax + dedykowany OSS-handler.
Dla większości polskich freelancerów i twórców kursów sprzedających głównie do polskich klientów to nie jest problem — ale jeśli masz 30%+ sprzedaży z innych krajów UE, planuj VAT-OSS w tym samym sprincie co KSeF.
Co najczęściej idzie źle (i jak nie wpaść)
Brak NIP-u w Stripe Checkout. Domyślny formularz Stripe Checkout nie zbiera NIP-u. Trzeba ręcznie dodać custom field z walidacją. Bez tego każda faktura ląduje jako "osoba prywatna" → paragon zamiast FV. Dla B2B SaaS to kompletny falstart.
Stripe pobiera od razu, faktura wystawia się dzień później. Niektóre bridge'e działają z opóźnieniem (15 min — 24h). To nie zawsze jest problem, ale zwróć uwagę na datę sprzedaży na fakturze (powinna być datą płatności, nie datą wystawienia) — KSeF rozróżnia te pola.
Klient płaci kartą zagraniczną w PLN. Stripe pobiera prowizję wyższą (cross-border fee), ale to nie wpływa na fakturę dla klienta. Faktura jest na pełną kwotę PLN. Prowizja Stripe to osobny koszt (import usług, reverse charge).
Disputes i refundy. Jeśli klient zwróci pieniądze przez Stripe, faktura już została wystawiona i wysłana do KSeF. Musisz wystawić korektę (faktura korygująca) — wszystkie programy z KSeF to obsługują, ale zwróć uwagę, że bridge nie zawsze nasłuchuje webhooka charge.refunded. Możesz zostać z fakturą bez korekty.
Werdykt: którą ścieżkę wybrać
Bez owijania w bawełnę:
- SaaS, kurs online, e-book, do 500 transakcji/mies., chcesz tylko fakturowanie → Fakturownia + Stripe (natywna integracja). Konfiguracja w 10 minut, KSeF wbudowany, najmniej ruchomych części.
- JDG na pełnym stacku księgowym (KPiR, ZUS, deklaracje), wszystko w jednym miejscu → wFirma + Stripto (bridge). Najpełniejszy stack na rynku, automatyczne KSeF, Stripto za 19–99 zł/mies. dokłada warstwę webhooków.
- Programista w zespole, niestandardowy przepływ, mix walut/usług/krajów → inFakt API + własny webhook. Najwięcej kontroli, najlepiej udokumentowane API.
- Mikropodatnik <10 000 zł/mies., niska liczba transakcji, do końca 2026 r. → ścieżka 3 (manualnie + CSV). Ale po 1 stycznia 2027 r. musisz przejść na ścieżkę 1 lub 2.
Na rynku jest też kilka rozwiązań typu Stripebridge, KSeFSync — różne hybrydy bridge+własna platforma. Sprawdziliśmy je pobieżnie i nie odbiegają funkcjonalnie od Stripto/Striplo, ale zostawiamy je do osobnego porównania.
Najważniejsze: nie zostawiaj tego na marzec. Każdy bridge i każda integracja KSeF wymagają realnego testu na produkcji (z drobnymi kwotami), a problemy zawsze wychodzą tam, gdzie się ich nie spodziewasz. Jeśli na razie nie masz nic — zacznij od najprostszej ścieżki: Fakturownia z natywną integracją Stripe i token KSeF z e-US.
Jeśli planujesz przy okazji robić porządek z księgowością — sprawdź ranking programów do fakturowania online 2026, gdzie porównujemy wszystkie wymienione narzędzia plus kilka tańszych alternatyw. A jeśli sprzedajesz głównie do klientów spoza Polski — nasz osobny poradnik KSeF a faktury zagraniczne wyjaśnia, kiedy faktura w ogóle nie idzie do KSeF.
Komentarze
Brak komentarzy. Bądź pierwszy, który podzieli się swoimi przemyśleniami!
Zostaw komentarz