Wszystkie artykuły

Faktura KSeF nie ma oficjalnego wzoru wydruku. Naprawdę.

Mit który wraca co tydzień. Ministerstwo nie narzuca layoutu faktury - tylko numer KSeF i kod QR. Reszta jest Twoja. Crystal Reports, angielski, wielowalutowy - wszystko legalnie.

8 kwietnia 2026 Przemysław Smolich
  • ksef
  • sap-b1
  • wizualizacja
  • kod-qr

“Czy zrobicie nam ksefowy wydruk po angielsku?”

To pytanie słyszymy regularnie. I to pytanie odsłania mit, który chodzi po rynku - że istnieje jakiś oficjalny “ksefowy wydruk”. Ministerialny wzorzec, którego trzeba się trzymać, w wersji PL i EN.

Nie ma czegoś takiego. KSeF wymaga XML-a i kodu QR. Jak wygląda wydruk - to Twoja sprawa.

Co mówią przepisy?

Faktura KSeF to XML. To jedyna prawnie wiążąca forma dokumentu. Wydruk czy PDF to wizualizacja - dla człowieka, nie dla systemu podatkowego. Urząd skarbowy nie czyta Twojego Crystal Reports. Czyta XML.

Ministerstwo udostępniło własną aplikację podatnika, która potrafi wygenerować wizualizację faktury z pliku XML. Ale to tylko jedno z możliwych narzędzi - nie wzorzec prawny, nie obowiązujący układ strony.

Źródło: ksef.podatki.gov.pl i dokumentacja CIRFMF.

Online vs offline - 1 kod QR czy 2?

Tu jest konkret, który warto znać.

Tryb online (wystawiasz fakturę i od razu trafia do KSeF): jeden kod QR. Zawiera adres bazowy KSeF, NIP sprzedawcy, datę wystawienia i hash SHA-256 pliku. Nabywca może zeskanować i zweryfikować fakturę w systemie ministerstwa.

Tryb offline, offline24 lub awaryjny (faktura wystawiona przed wysłaniem do KSeF): dwa kody QR.

  • KOD I - “OFFLINE” - weryfikacja danych faktury
  • KOD II - “CERTYFIKAT” - potwierdzenie tożsamości wystawcy, wymaga certyfikatu KSeF typu 2 i podpisu kryptograficznego kluczem prywatnym

Gdy faktura offline trafi do KSeF i dostanie numer - wracasz do wersji z jednym kodem. Dwa kody to stan przejściowy.

Co MUSI być na wydruku?

Jeśli udostępniasz nabywcy wizualizację faktury poza systemem KSeF, muszą się na niej znaleźć trzy rzeczy:

  1. Numer KSeF - po nadaniu przez system
  2. Kod QR zgodny z normą ISO/IEC 18004:2024 - weryfikujący fakturę
  3. Etykieta pod kodem - “KSeF number”, “OFFLINE” albo “CERTYFIKAT” zależnie od trybu

Rozmiar i umiejscowienie kodu - dowolne, Twoja decyzja. Rekomendacja z dokumentacji: minimum ~5 pikseli na moduł kodu, żeby był czytelny przez skaner. Może być na pierwszej stronie, w stopce, na ostatniej, nawet na osobnej kartce dołączonej do faktury. Byle było i działało.

Przykład nagłówka wizualizacji faktury KSeF z numerem faktury i numerem KSeF

Przykład: nagłówek wizualizacji faktury KSeF wygenerowanej według wzoru ministerstwa. Widoczny numer faktury, numer KSeF i dane stron.

Co możesz zostawić?

Wszystko inne. Dosłownie.

Twój obecny układ kolumn, logo, kolory, czcionka, tabelka z pozycjami - zostaje. Polski wydruk - zostaje. Angielski wydruk dla kontrahenta zagranicznego - zostaje. Wielowalutowy z EUR w nagłówku - zostaje. Marketingowy footer z danymi kontaktowymi - zostaje.

Dodajesz numer KSeF i kod QR. Tyle.

Praktyka w SAP B1

Tu jest jeden podział, o którym warto wiedzieć.

Crystal Reports - pełna obsługa. Formuły, biblioteki, kontrolki kodów QR - wszystko działa. Większość naszych klientów na SAP B1 pracuje na Crystal Reports i tak zostaje. Modyfikujesz istniejący layout, dorzucasz pole z URL weryfikacyjnym i kontener QR. Angielska wersja wydruku? Da się zrobić - zostaje jak była, tylko QR i numer KSeF dochodzą.

PLD (Print Layout Designer, natywny w SAP B1) - nie obsługuje kodów QR. Natywnie się tego nie da zrobić. Jeśli pracujesz na PLD, masz dwie opcje: migracja do Crystal Reports albo generowanie kodu QR poza SAP i wstrzykiwanie do wydruku.

W naszym BizFlow (narzędzie integracyjne do KSeF) przyjęliśmy wizualizację wzorcową z ministerstwa - prosta, zgodna, działa od razu. Świadomie bez wersji angielskiej, bo angielski layout to zadanie po stronie SAP. Klienci którzy potrzebują angielskiego wydruku dla kontrahenta zagranicznego zostają przy swoim Crystal Reports - i słusznie. To nie są rozwiązania konkurencyjne, tylko dla różnych potrzeb.

Co z tego wynika?

Twój istniejący szablon faktury prawdopodobnie jest do uratowania. Nie musisz go przepisywać, migrować do ministerialnej aplikacji ani kupować nowego generatora PDF.

Musisz dodać kod QR i numer KSeF. Reszta - do ogarnięcia na tym co masz.

Jeśli masz SAP B1 i Crystal Reports - modyfikacja istniejącego layoutu to kilka godzin pracy, nie projekt na tygodnie. Jeśli masz PLD - tu jest problem i warto go rozwiązać zanim KSeF stanie się obowiązkowy.

Mit “oficjalnego wzoru” kosztuje firmy niepotrzebne przepisywanie szablonów i czas na wdrożenia których nie trzeba robić. Lepiej wiedzieć co naprawdę jest wymagane.


Masz wątpliwości co do swojego obecnego layoutu? Napisz - zerknę na to, co masz i powiem wprost co trzeba zmienić, a co zostaje.