Dane na fakturze KSeF: kompletny przewodnik po elementach e-faktury ustrukturyzowanej

E-faktura ustrukturyzowana w Krajowym Systemie e-Faktur (KSeF) zawiera dane podzielone na trzy kategorie wymagalności: obligatoryjne, opcjonalne (warunkowo obowiązkowe) i fakultatywne. Wszystkie pola muszą być zgodne ze strukturą logiczną FA(3), obowiązującą od 1 lutego 2026 r.

Schemat FA(3) obejmuje setki pól, ale obowiązkowych jest ok. 20–25 w zależności od typu transakcji. Pozostałe pola wypełnia się warunkowo (np. przy mechanizmie podzielonej płatności) lub dobrowolnie (np. numer zamówienia, link do płatności). Poniższy przewodnik opisuje każdy element - od danych stron transakcji, przez pozycje faktury, aż po stopkę i załączniki.

firmly

Dla przedsiębiorców, którzy chcą:

✅ Samodzielnie księgować
✅ Oszczędzić czas i pieniądze
✅ Mieć dostęp z telefonu i komputera
✅ Fakturować za darmo z KSeF

Wystaw darmową fakturę

fillup

Dla księgowych, którzy potrzebują:

✅ 7 000+ formularzy w tym KSeF
✅ e-Deklaracji, JPK, e-ZUS
✅ Obsługi wielu firm
✅ Narzędzia do formalności

Wystaw darmową fakturę

fillup | k24

Dla biur rachunkowych, które chcą:

✅ System do współpracy z klientami
✅ Dać klientom darmowe faktury
✅ Obsługi KSeF bez instalacji
✅ Rozliczać KPiR lub Ryczałt

Zaproś pierwszego klienta

 

Jakie dane są obowiązkowe na fakturze KSeF?

Obowiązkowe dane na fakturze KSeF wynikają z art. 106e ust. 1 ustawy o VAT i obejmują: dane identyfikacyjne sprzedawcy i nabywcy (NIP, nazwa, adres), numer faktury, datę wystawienia, datę sprzedaży, nazwy towarów lub usług, ilości, ceny jednostkowe netto, stawki i kwoty VAT oraz kwotę należności ogółem.

Wejście w życie KSeF nie zmieniło zakresu obowiązkowych danych. Elementy wymagane na fakturze są takie same jak przed KSeF - zmieniła się forma ich przekazywania: z dowolnego układu wizualnego na ściśle określoną strukturę XML.

Dane sprzedawcy (Podmiot1)

Sprzedawca (element Podmiot1 w strukturze FA(3)) musi podać trzy obowiązkowe informacje: NIP (10 cyfr, bez kresek i spacji), pełną nazwę firmy (pole Nazwa, max 512 znaków) i adres (pole AdresL1, max 512 znaków; opcjonalnie AdresL2 dla dodatkowej linii adresu). Kod kraju (KodKraju) dla polskiego sprzedawcy to „PL".

NIP sprzedawcy jest kluczowym polem autoryzacyjnym - na jego podstawie KSeF identyfikuje podatnika i przypisuje fakturę do jego konta. NIP wpisuje się jako ciąg 10 cyfr, bez myślników, spacji i kodu kraju. Aby uzyskać dostęp do KSeF na podstawie tego NIP, spółki i inne podmioty niebędące osobami fizycznymi muszą wcześniej nadać uprawnienia do KSeF przez ZAW-FA lub zalogować się pieczęcią elektroniczną.

Dane nabywcy (Podmiot2)

Nabywca (element Podmiot2) to drugi obowiązkowy podmiot na fakturze. Dla kontrahenta krajowego obowiązkowe są: NIP (pole NIP, 10 cyfr), nazwa i adres. W przypadku dobrowolnego wystawiania faktur dla konsumentów (B2C), pole NIP pozostaje puste lub stosuje się techniczne oznaczenie BrakID. Dla kontrahenta zagranicznego zamiast NIP podaje się identyfikator zagraniczny (pole NrID) wraz z kodem kraju (KodKraju) - polski NIP nigdy nie trafia do pola NrID.

W FA(3) pola JST i GV w sekcji Podmiot2 stały się elementami stałymi struktury XML. Muszą one wystąpić w każdym pliku: z wartością „1” (gdy faktura dotyczy JST/grupy VAT) lub z wartością „2” (gdy dana sytuacja nie występuje). Przy zaznaczeniu JST lub GV konieczne jest dodanie danych w Podmiot3.

Szczegóły dotyczące faktur wystawianych dla kontrahentów zagranicznych - w tym zasady samofakturowania i wizualizacji z kodem QR - opisujemy w odrębnym poradniku.

Dane faktury - numery, daty, waluta

Każda faktura musi zawierać numer wewnętrzny podatnika (pole P_2), datę wystawienia (pole P_1, format RRRR-MM-DD) i datę dokonania lub zakończenia dostawy/usługi (pole P_6, format RRRR-MM-DD). Jeśli data sprzedaży jest taka sama jak data wystawienia, pole P_6 może powtarzać wartość P_1.

Po przesłaniu do KSeF system nadaje fakturze numer identyfikacyjny KSeF - 35-znakowy identyfikator, który funkcjonuje obok numeru nadanego przez sprzedawcę. Oba numery są ważne i działają równolegle.

Domyślną walutą jest PLN. Jeśli faktura jest wystawiona w walucie obcej, należy wypełnić pole KodWaluty (np. „EUR", „USD") oraz pole KursWaluty z kursem użytym do przeliczenia kwoty podatku VAT na złotówki.

Pozycje faktury (FaWiersze)

Każda pozycja (wiersz) faktury zawiera obowiązkowe pola: nazwa towaru lub usługi (P_7, max 512 znaków), miara (P_8A, np. „szt.", „kg", „godz."), ilość (P_8B), cena jednostkowa netto (P_9A), wartość sprzedaży netto (P_11), stawka podatku (P_12) i kwota podatku (P_11A).

Pole stawki VAT (P_12) jest polem tekstowym - dopuszczalne wartości to: „23", „22", „8", „7", „5", „4", „3", „0%", „zw", „oo", „np", a także złożone oznaczenia ze spacjami, takie jak „0 WDT", „0 EX", „np I", „np II". Wpisanie wartości liczbowej (np. „0.23") zamiast tekstowej spowoduje odrzucenie faktury.

Podsumowanie i kwoty podatku

Sekcja podsumowania zawiera kwoty netto z podziałem na stawki VAT (pola P_13_1 do P_13_11), odpowiadające im kwoty podatku (P_14_1 do P_14_5) oraz kwotę należności ogółem brutto (P_15). Choć KSeF nie dokonuje automatycznych obliczeń ani nie weryfikuje poprawności rachunkowej dokumentu, sumy muszą być spójne z wierszami. Za poprawność matematyczną odpowiada wyłącznie wystawca oraz jego program księgowy.

Czym różnią się pola obligatoryjne, opcjonalne i fakultatywne?

Struktura FA(3) dzieli pola na trzy kategorie wymagalności. Brak pola obligatoryjnego powoduje odrzucenie faktury przez KSeF. Brak pola opcjonalnego powoduje odrzucenie tylko wtedy, gdy zachodzi warunek jego wypełnienia. Pominięcie pola fakultatywnego nie ma żadnych konsekwencji technicznych.

Pola obligatoryjne - zawsze wymagane

Pola obligatoryjne muszą być wypełnione w każdej fakturze, niezależnie od typu transakcji. Bez nich KSeF odrzuci plik XML i faktura nie zostanie wystawiona. Do pól obligatoryjnych należą: NIP sprzedawcy, nazwa i adres sprzedawcy, identyfikator nabywcy (NIP lub NrID), nazwa i adres nabywcy, numer faktury (P_2), data wystawienia (P_1), data sprzedaży (P_6), pozycje z nazwą, ilością, ceną, stawką VAT i kwotą VAT, oraz podsumowanie kwot.

Pola opcjonalne (warunkowo obowiązkowe) - wymagane w określonych sytuacjach

Pola opcjonalne stają się obowiązkowe, gdy transakcja spełnia określone warunki prawne. System KSeF nie sprawdza, czy dany warunek zachodzi - odpowiedzialność spoczywa na podatniku. Pola opcjonalne dotyczą następujących sytuacji: mechanizm podzielonej płatności (adnotacja P_18A), odwrotne obciążenie (P_18), samofakturowanie (P_17), metoda kasowa (P_16), procedura marży (P_19 z odpowiednią wartością), wewnątrzwspólnotowa dostawa towarów (P_22), oznaczenia JST i GV w Podmiot2.

Pola fakultatywne - dobrowolne, ale przydatne biznesowo

Pola fakultatywne nie są wymagane ani przez przepisy VAT, ani przez schemat XML. Ich pominięcie nie powoduje odrzucenia faktury. Warto je jednak wypełniać, gdy ułatwiają pracę kontrahentowi lub automatyzację księgową. Do pól fakultatywnych należą: DodatkowyOpis (max 50 wystąpień, pary klucz-wartość), StopkaFaktury (max 3 pola × 3500 znaków), numer zamówienia, numer dokumentu WZ, kody GTU i oznaczenia procedur (TP, FP), numer rachunku bankowego (NrRB), link do płatności (LinkDoPlatnosci), identyfikator płatności KSeF (IPKSeF), kody PKWiU, CN, PKOB, GTIN oraz GLN.

Pola generowane automatycznie przez system

Niektóre pola nie są wypełniane przez użytkownika, lecz generowane przez system. DataWytworzeniaFa to techniczny timestamp w formacie RRRR-MM-DDTGG:MM:SSZ (czas UTC z literą „Z" na końcu), tworzony automatycznie w momencie wytworzenia pliku XML. Numer KSeF to 35-znakowy identyfikator nadawany przez system po pozytywnej walidacji faktury. Obie te wartości różnią się od danych wpisywanych przez podatnika (data wystawienia P_1, numer faktury P_2).

Kompletna tabela pól e-faktury KSeF

Poniższa tabela zawiera najważniejsze pola struktury FA(3) z podziałem na sekcje. Typ wymagalności: O = obligatoryjne, W = warunkowo obowiązkowe (opcjonalne), F = fakultatywne.

Domyślny limit pól znakowych (alfanumerycznych) wynosi 256 znaków, chyba że w kolumnie „Max zn." podano inną wartość. Kodowanie: UTF-8, znaki diakrytyczne i specjalne dozwolone.

Sekcja

Pole XML

Nazwa polska

Typ

Format

Max zn.

Przykład

Naglowek

KodFormularza

Kod formularza

O

Stały

-

VAT

Naglowek

WariantFormularza

Wariant

O

Liczba

-

3

Naglowek

DataWytworzeniaFa

Data wytworzenia

O

RRRR-MM-DDTGG:MM:SSZ

-

2026-05-04T09:30:47Z

Naglowek

SystemInfo

Nazwa systemu

O

Tekst

256

fillup v12.1

Podmiot1

NIP

NIP sprzedawcy

O

10 cyfr

10

5261234567

Podmiot1

Nazwa

Nazwa sprzedawcy

O

Tekst

512

ABC Consulting Sp. z o.o.

Podmiot1

AdresL1

Adres linia 1

O

Tekst

512

ul. Marszałkowska 1, 00-001 Warszawa

Podmiot1

AdresL2

Adres linia 2

F

Tekst

512

lok. 15, II piętro

Podmiot1

KodKraju

Kod kraju

O

ISO 3166-1

2

PL

Podmiot1

GLN

Global Location Number

F

Cyfry

13

5900000000001

Podmiot1

NrEORI

Nr EORI

F

Tekst

256

PL526123456700000

Podmiot1

Email

E-mail sprzedawcy

F

Tekst

256

faktury@abc.pl

Podmiot1

Telefon

Telefon sprzedawcy

F

Tekst

256

+48221234567

Podmiot2

NIP

NIP nabywcy (PL)

W

10 cyfr

10

7891234560

Podmiot2

NrID

ID nabywcy (zagr.)

W

Tekst

256

123456789

Podmiot2

KodKraju

Kod kraju nabywcy

O

ISO 3166-1

2

PL

Podmiot2

Nazwa

Nazwa nabywcy

O

Tekst

512

XYZ S.A.

Podmiot2

AdresL1

Adres nabywcy linia 1

O

Tekst

512

ul. Nowy Świat 10, 00-400 Warszawa

Podmiot2

AdresL2

Adres nabywcy linia 2

F

Tekst

512

Biuro 305

Podmiot2

JST

Jednostka podrz. JST

O

1 lub 2

1

2 (nie dotyczy)

Podmiot2

GV

Członek grupy VAT

O

1 lub 2

1

2 (nie dotyczy)

Podmiot2

IDNabywcy

ID wewnętrzny

F

Tekst

32

KLI-00145

Podmiot2

GLN

GLN nabywcy

F

Cyfry

13

5900000000002

Podmiot2

Email

E-mail nabywcy

F

Tekst

256

zamowienia@xyz.pl

Podmiot2

Telefon

Telefon nabywcy

F

Tekst

256

+48221112233

Podmiot3

NIP / NrID

Identyfikator

W

Jak wyżej

-

1112223344

Podmiot3

Nazwa

Nazwa podmiotu trzeciego

O*

Tekst

512

Jan Kowalski

Podmiot3

Rola

Rola podmiotu

O*

Kod

-

11 (pracownik)

PodmUpoważ.

NIP / NrID

ID podmiotu upoważnionego

O*

Jak wyżej

-

9998887776

PodmUpoważ.

Nazwa

Nazwa podmiotu upoważ.

O*

Tekst

512

Biuro Rachunkowe XYZ

Fa

P_1

Data wystawienia

O

RRRR-MM-DD

10

2026-05-04

Fa

P_2

Numer faktury

O

Tekst

256

FV/150/05/2026

Fa

P_6

Data sprzedaży

O

RRRR-MM-DD

10

2026-05-04

Fa

P_6_Od

Okres rozliczeniowy od

W

RRRR-MM-DD

10

2026-04-01

Fa

P_6_Do

Okres rozliczeniowy do

W

RRRR-MM-DD

10

2026-04-30

Fa

KodWaluty

Waluta

O

ISO 4217

3

PLN

Fa

KursWaluty

Kurs waluty

W

Liczba

-

4.2856

Fa

RodzajFaktury

Typ faktury

O

Kod

3

VAT / KOR / ZAL

Fa

PrzyczynaKorekty

Przyczyna korekty

W

Tekst

256

Błędna cena jednostkowa

Fa

NrKSeFKorygowanej

Nr KSeF fakt. korygowanej

W

Tekst

35

5261234567-20260504-AB...

Fa

NrFaKorygowanej

Nr fakt. korygowanej (poza KSeF)

W

Tekst

256

FV/120/04/2026

Fa

P_15

Kwota brutto

O

Liczba

-

12300.00

Fa

P_13_1

Netto stawka 23%

W

Liczba

-

10000.00

Fa

P_14_1

VAT stawka 23%

W

Liczba

-

2300.00

Fa

P_13_2

Netto stawka 8%

W

Liczba

-

-

Fa

P_14_2

VAT stawka 8%

W

Liczba

-

-

Fa

P_13_3

Netto stawka 5%

W

Liczba

-

-

Fa

P_14_3

VAT stawka 5%

W

Liczba

-

-

Fa

P_13_6

Netto stawka 0%

W

Liczba

-

-

Fa

P_13_7

Netto „zw"

W

Liczba

-

-

Fa

P_13_10

Netto „np"

W

Liczba

-

-

Fa

P_14_1W

VAT 23% w PLN (walutowa)

W

Liczba

-

2300.00

Fa

NrKSeFZN

Nr KSeF fakt. zaliczkowej

W

Tekst

35

5261234567-20260301-CD...

Fa

NrFaZaliczkowej

Nr fakt. zaliczkowej (poza KSeF)

W

Tekst

256

FV-ZAL/30/03/2026

Fa

ZnacznikZaplatyCzesciowej

Zapłata częściowa

F

1 lub 2

1

1 (zapłacono częściowo)

Adnotacje

P_16

Metoda kasowa

W

1 lub 2

1

2

Adnotacje

P_17

Samofakturowanie

W

1 lub 2

1

2

Adnotacje

P_18

Odwrotne obciążenie

W

1 lub 2

1

2

Adnotacje

P_18A

Mech. podz. płatności

W

1 lub 2

1

2

Adnotacje

P_19

Procedura marży

W

Tekst

256

-

Adnotacje

P_22

WDT (art. 42)

W

1 lub 2

1

2

Adnotacje

P_23

Faktura uproszczona

W

1 lub 2

1

2

FaWiersze

NrWiersza

Nr pozycji

O

Liczba

-

1

FaWiersze

P_7

Nazwa towaru/usługi

O

Tekst

512

Konsultacja prawna - prawo spółek

FaWiersze

P_8A

Jednostka miary

O

Tekst

256

szt.

FaWiersze

P_8B

Ilość

O

Liczba

-

2.000

FaWiersze

P_9A

Cena jedn. netto

O

Liczba

-

500.00

FaWiersze

P_10

Kwota rabatu/upustu

F

Liczba

-

50.00

FaWiersze

P_11

Wartość netto

O

Liczba

-

1000.00

FaWiersze

P_11A

Kwota VAT

O

Liczba

-

230.00

FaWiersze

P_12

Stawka VAT

O

Tekst

256

23

FaWiersze

GTIN

Kod GTIN (EAN)

F

Cyfry

20

5901234123457

FaWiersze

PKWiU

Kod PKWiU

F

Tekst

256

69.10.11.0

FaWiersze

CN

Kod CN (Nomenklatura)

F

Tekst

256

8471 30 00

FaWiersze

PKOB

Kod PKOB

F

Tekst

256

1110

FaWiersze

Indeks

Indeks handlowy

F

Tekst

256

SKU-00145-A

FaWiersze

UU_ID

Identyfikator unikalny

F

Tekst

256

550e8400-e29b-41d4

Transport

DataGodzRozpTransportu

Start transportu

F

RRRR-MM-DDTGG:MM:SSZ

-

2026-05-04T06:00:00Z

Transport

DataGodzZakTransportu

Koniec transportu

F

RRRR-MM-DDTGG:MM:SSZ

-

2026-05-04T14:00:00Z

Transport

OpisInnegoTransportu

Opis innego transportu

F

Tekst

256

Kurier własny

Transport

OpisInnegoLadunku

Opis innego ładunku

F

Tekst

256

Paleta EUR 120×80

Platnosc

TerminPlatnosci

Termin płatności

F

RRRR-MM-DD

10

2026-05-18

Platnosc

OpisTerminu

Opis terminu

F

Tekst

-

14 dni od wystawienia

Platnosc

FormaPlatnosci

Forma płatności

F

Kod

-

6 (przelew)

Platnosc

NrRB

Nr rachunku bankowego

F

Tekst

34

PL61109010140000071219812874

Platnosc

LinkDoPlatnosci

Link do płatności

F

URL

512

https://pay.example.com/inv/150

Platnosc

IPKSeF

ID płatności KSeF

F

Tekst

13

1234567890123

DodatkowyOpis

Klucz

Klucz opisu

F

Tekst

256

Nr zamówienia

DodatkowyOpis

Wartosc

Wartość opisu

F

Tekst

256

ZAM/2026/05/001

DodatkowyOpis

NumerWiersza

Nr wiersza (odwołanie)

F

Liczba

-

1

Stopka

StopkaFaktury

Treść stopki

F

Tekst

3500

KRS: 0000123456, REGON: 123456789

Zalacznik

BlokDanych

Blok danych załącznika

F

Struktura

-

(tabele, specyfikacje)

* O* = obligatoryjne w ramach elementu nadrzędnego, jeśli ten element jest wypełniony.

Rozliczaj małą firmę w firmly – od faktury KSeF po automatyczne podatki i ZUS
Firmly prowadzi Cię przez cały proces: od szybkiego wystawienia darmowej e-faktury VAT (zgodnej z KSeF), aż po automatyczne wyliczenie podatków i składek ZUS. Niezależnie czy prowadzisz KPiR, czy Ryczałt, intuicyjna aplikacja zmienia wystawione dokumenty w gotowe rozliczenie. Obsługujemy wszystkie rodzaje faktur, przygotowane na obowiązkowy Krajowy System e-Faktur. Aplikacja mobilna firmly daje Ci dostęp do pełnej funkcjonalności z każdego miejsca.
Pobierz aplikację firmly w App Store
Pobierz aplikację firmly z Google Play

Nowe pola w FA(3) vs FA(2) - co się zmieniło

Struktura FA(3) zastąpiła FA(2) od 1 lutego 2026 r. Nowy wzór uwzględnia propozycje zgłoszone przez przedsiębiorców, dostawców oprogramowania i branżę księgową podczas konsultacji KSeF przeprowadzonych w 2024 r. Wszystkie faktury ustrukturyzowane - w tym korygujące do faktur wystawionych w FA(2) - muszą od tej daty korzystać z nowego schematu. Kluczowe zmiany obejmują:

  • Rozszerzenia pól: Limit nazwy towaru/usługi (P_7) zwiększony z 256 do 512 znaków. Pole numeru rachunku bankowego (NrRB) przyjmuje do 34 znaków i dopuszcza znaki specjalne. Pola Nazwa, AdresL1 i AdresL2 również rozszerzone do 512 znaków.
  • Nowe pola płatności: LinkDoPlatnosci (URL do bramki płatniczej, max 512 znaków), IPKSeF (identyfikator płatności KSeF generowany przez operatora płatniczego, max 13 znaków), FormaPlatnosci odrębnie dla każdej płatności częściowej (ZaplataCzesciowa).
  • Nowy typ podmiotu: Rola 11 „Pracownik" w Podmiot3 - umożliwia oznaczenie pracownika dokonującego zakupu w imieniu pracodawcy, co upraszcza rozliczanie wydatków delegacyjnych.
  • Pola JST i GV: Nowe obowiązkowe pola w Podmiot2 oznaczające, czy faktura dotyczy jednostki podrzędnej JST lub członka grupy VAT.
  • Załączniki: Nowy element Zalacznik - ustrukturyzowane dane (tabele z max 20 kolumnami, bloki danych do 1000 per faktura) stanowiące integralną część pliku XML. Wymagają zgłoszenia do KAS i działają wyłącznie w trybie wsadowym.
  • Termin płatności: Nowa konstrukcja - można podać datę, opis słowny (np. „14 dni od dostawy") lub kombinację ilości jednostek czasu + rodzaju jednostki + zdarzenia początkowego.
  • Pola transportowe: Fakultatywne pola DataGodzRozpTransportu i DataGodzZakTransportu (timestamp rozpoczęcia i zakończenia transportu) oraz OpisInnegoTransportu i OpisInnegoLadunku - przydatne w branżach logistycznych i spedycyjnych.

Dane specyficzne dla różnych typów faktur

Typ faktury określa pole RodzajFaktury w elemencie Fa. Każdy typ wymaga innego zestawu pól.

Faktura sprzedaży (standard)

RodzajFaktury = VAT. Pola bazowe: pełne dane Podmiot1 i Podmiot2, daty P_1 i P_6, wiersze w FaWiersze z P_7 do P_12, podsumowanie P_13_x/P_14_x/P_15. To najczęściej wystawiany typ faktury.

Faktura korygująca - dodatkowe elementy

RodzajFaktury = KOR. Obowiązkowe dodatkowe pole: przyczyna korekty (PrzyczynaKorekty), dane faktury korygowanej (NrFaKorygowanej lub NrKSeFKorygowanej). Wiersze wykazuje się jako różnice lub stan przed i po korekcie z odrębną numeracją. Od 1 lutego 2026 r. faktury korygujące muszą być w FA(3), nawet gdy faktura pierwotna była w FA(2).

Faktura zaliczkowa - sekcja Zamówienie zamiast FaWiersze

RodzajFaktury = ZAL. Zamiast elementu FaWiersze wypełnia się element Zamowienie (ZamowienieWiersz) z danymi o zamówionym towarze lub usłudze. Faktura rozliczeniowa (końcowa) odwołuje się do faktur zaliczkowych przez pola NrKSeFZN (numer KSeF faktury zaliczkowej) lub NrFaZaliczkowej.

Faktura VAT marża

Adnotacja P_19 z odpowiednią wartością (np. „procedura marży - towary używane"). W procedurze marży nie wypełnia się sekwencji stawek P_13_x/P_14_x w standardowy sposób - stosuje się odrębne pola dla marży.

Faktura dla kontrahenta zagranicznego

Nabywca identyfikowany przez NrID (nie NIP) z KodKraju ≠ PL. Przy WDT: adnotacja P_22 = „1". Przy eksporcie: stawka P_12 = „0 EX". Fakturę wystawia się w KSeF, ale nabywca nie ma dostępu do systemu - trzeba mu dostarczyć wizualizację lub plik w uzgodniony sposób.

Faktura dla konsumenta (B2C) - uproszczenia

Wystawianie faktur dla osób fizycznych nieprowadzących działalności w KSeF jest dobrowolne (nie objęte obowiązkiem). Jeśli podatnik zdecyduje się je wystawiać w KSeF, adres nabywcy jest opcjonalny na fakturach uproszczonych. Zamiast NIP można użyć pola IDNabywcy lub pozostawić puste (konsument nie musi być identyfikowany podatkowo).

Walidacja danych - co sprawdza KSeF, a czego nie

Walidacja techniczna (schemat XML)

KSeF sprawdza każdą fakturę pod kątem zgodności ze strukturą logiczną FA(3). Walidacja obejmuje: obecność wszystkich pól obligatoryjnych, poprawność formatów danych (daty w RRRR-MM-DD, NIP jako 10 cyfr, kody walut wg ISO 4217), zgodność typów danych (tekst w polach tekstowych, liczby w polach liczbowych) i dopuszczalność wartości (np. stawki VAT z zamkniętej listy). Jeśli plik XML nie przejdzie walidacji, system zwraca komunikat błędu - faktura nie zostaje wystawiona i nie otrzymuje numeru KSeF.

Czego KSeF NIE sprawdza

KSeF nie dokonuje obliczeń matematycznych i nie weryfikuje poprawności rachunkowej faktury. System nie odrzuci faktury z błędnie obliczoną kwotą VAT, nieprawidłowym sumowaniem wierszy ani nielogicznym kursem waluty. KSeF nie sprawdza też sumy kontrolnej NIP, nie weryfikuje, czy podany NIP istnieje w rejestrze, ani czy dane adresowe są prawdziwe. Walidacja biznesowa (czy transakcja ma sens, czy stawka VAT jest prawidłowa dla danego towaru) leży w gestii podatnika i jego programu księgowego.

Walidacja na poziomie programu księgowego

Profesjonalne programy do fakturowania (w tym fillup, firmly) przeprowadzają rozszerzoną walidację przed wysłaniem faktury do KSeF: sprawdzają sumę kontrolną NIP, weryfikują zgodność rachunkową (netto + VAT = brutto), walidują format i kompletność danych, a także sprawdzają logikę biznesową (np. czy data sprzedaży nie jest późniejsza niż data wystawienia). Dzięki temu większość błędów jest wychwytywana zanim faktura trafi do systemu ministerialnego. Warunkiem wysłania faktury jest wcześniejsze uwierzytelnienie w systemie KSeF - przez podpis kwalifikowany, Profil Zaufany, pieczęć elektroniczną lub certyfikat KSeF.

Najczęstsze błędy w danych na fakturze KSeF

Błędy w formatach

  1. NIP z kreskami lub spacjami
    ❌ Źle: `123-456-78-90` lub `123 456 78 90`
    ✅ Dobrze: `1234567890`
    KSeF wymaga podania NIP jako ciągłego ciągu 10 cyfr. Dobrą praktyką jest, aby system finansowo-księgowy automatycznie czyścił numer z kresek i spacji jeszcze przed wysyłką dokumentu do systemu ministerialnego.

  2. Błędny format daty
    ❌ Źle: `04.05.2026` lub `04/05/2026` lub `2026.05.04`
    ✅ Dobrze: `2026-05-04`
    Obowiązuje format ISO 8601 (RRRR-MM-DD). Jedyny dopuszczalny separator to myślnik.

  3. Stawka VAT jako liczba zamiast tekstu
    ❌ Źle: `0.23` lub `23%`
    ✅ Dobrze: `23`
    Pole P_12 jest tekstowe. Dopuszczalne wartości to: „23", „8", „5", „0%", „zw", „oo", „np", „0 WDT", „0 EX" itp.

  4. Timestamp bez „Z" na końcu
    ❌ Źle: `2026-05-04T09:30:47`
    ✅ Dobrze: `2026-05-04T09:30:47Z`
    Pole DataWytworzeniaFa wymaga czasu UTC z literą „Z" (ZULU).
    Błędy w identyfikacji stron

  5. Polski NIP nabywcy w polu NrID
    ❌ Źle: Podmiot2 → NrID: `7891234560`
    ✅ Dobrze: Podmiot2 → NIP: `7891234560`
    Pole NIP jest zarezerwowane dla polskich identyfikatorów. Pole NrID - dla zagranicznych. Wpisanie polskiego NIP w NrID powoduje, że faktura nie trafi do nabywcy w KSeF.

  6. Kod kraju w polu NIP zamiast osobnego pola
    ❌ Źle: NrID: `DE123456789` z KodKraju: pustym
    ✅ Dobrze: NrID: `123456789`, KodKraju: `DE`
    Kod kraju należy wyodrębnić do pola KodKraju - nie wpisywać go jako prefiks identyfikatora.

  7. Brak pola JST lub GV w Podmiot2
    ❌ Źle: Podmiot2 bez pól JST i GV
    ✅ Dobrze: JST: `2`, GV: `2` (wartość „2" = nie dotyczy)
    W FA(3) pola JST i GV są obowiązkowe - nawet jeśli faktura nie dotyczy JST ani grupy VAT, trzeba wpisać wartość „2".
    Błędy w warunkowo obowiązkowych polach

  8. Brak adnotacji MPP przy obowiązku split payment
    ❌ Źle: Faktura powyżej 15 000 zł brutto bez P_18A = „1"
    ✅ Dobrze: Adnotacje/P_18A: `1`
    KSeF nie sprawdzi tego - system nie zna kwoty granicznej ani przedmiotu transakcji. Ale brak adnotacji naraża sprzedawcę na sankcje podatkowe.

  9. Brak oznaczenia WDT przy dostawie wewnątrzwspólnotowej
    ❌ Źle: Faktura WDT ze stawką „0 WDT" ale bez P_22 = „1"
    ✅ Dobrze: P_12: `0 WDT`, Adnotacje/P_22: `1`
    Stawka i adnotacja muszą być spójne - niespójność nie blokuje faktury w KSeF, ale powoduje problemy w ewidencji JPK_VAT.
    Błędy w wierszach

  10. Zaokrąglenia groszowe
    ❌ Źle: 3 × 33.33 zł netto = 100.00 zł (zamiast 99.99 zł)
    ✅ Dobrze: Suma wierszy netto = kwota P_13_x (spójne zaokrąglenie)
    KSeF nie sprawdzi rachunków, ale niespójność między wierszami a podsumowaniem powoduje problemy przy księgowaniu po stronie nabywcy.

  11. Nazwa towaru za długa
    ❌ Źle: Pole P_7 z opisem dłuższym niż 512 znaków
    ✅ Dobrze: Skrócić do 512 znaków, resztę przenieść do DodatkowyOpis
    FA(3) rozszerzyła limit z 256 do 512 znaków, ale nadal trzeba go przestrzegać. Nadmiarowe informacje można umieścić w polach Indeks, PKWiU lub DodatkowyOpis.

  12. Brak jednostki miary
    ❌ Źle: P_8A puste przy P_8B = 2
    ✅ Dobrze: P_8A: `szt.`, P_8B: `2.000`
    Pole jednostki miary (P_8A) jest obligatoryjne, gdy podana jest ilość (P_8B).

  13. Brak pola RodzajFaktury lub błędna wartość
    ❌ Źle: RodzajFaktury puste lub RodzajFaktury: `FAKTURA`
    ✅ Dobrze: RodzajFaktury: `VAT` (zwykła), `KOR` (korygująca), `ZAL` (zaliczkowa)
    Pole RodzajFaktury jest obligatoryjne i przyjmuje wyłącznie wartości zdefiniowane w schemacie. Wpisanie dowolnego tekstu (np. „FAKTURA", „SPRZEDAŻ") spowoduje odrzucenie.

  14. Brak przyczyny korekty na fakturze korygującej
    ❌ Źle: Faktura KOR bez pola PrzyczynaKorekty
    ✅ Dobrze: PrzyczynaKorekty: `Błędna cena jednostkowa netto w poz. 3`
    Pole PrzyczynaKorekty jest warunkowo obowiązkowe - wymagane na każdej fakturze z RodzajFaktury = KOR. Bez niego KSeF odrzuci dokument.

  15. Wysłanie faktury w strukturze FA(2) po 1 lutego 2026 r.
    ❌ Źle: Plik XML zgodny z FA(2) wysłany po 01.02.2026
    ✅ Dobrze: Plik XML zgodny z FA(3)
    Od 1 lutego 2026 r. KSeF akceptuje wyłącznie strukturę FA(3). Dotyczy to również faktur korygujących do dokumentów pierwotnie wystawionych w FA(2) - korekta musi być w FA(3).

Porównanie: tradycyjna faktura vs e-faktura KSeF

Tradycyjna faktura to dokument wizualny - PDF, papier, plik Worda. E-faktura ustrukturyzowana to zbiór uporządkowanych danych w formacie XML. Poniżej kluczowe różnice:

Aspekt

Tradycyjna faktura

E-faktura KSeF

Format

Dowolny (PDF, papier, Word)

XML zgodny z FA(3)

Wygląd

Logo, kolory, układ dowolny

Brak elementów wizualnych - plik danych

Dostarczenie

E-mail, poczta, osobiście

Przez system KSeF (nabywca pobiera)

Numer

Jeden numer wewnętrzny

Dwa: numer sprzedawcy (P_2) + numer KSeF

Data wystawienia

Data na dokumencie

Data przesłania do KSeF (formalnie)

Załączniki

Dowolne pliki

Tylko ustrukturyzowane dane XML (po zgłoszeniu do KAS)

Archiwizacja

Obowiązek podatnika (5-10 lat)

KSeF przechowuje 10 lat

Korekta

Faktura korygująca lub nota

Tylko faktura korygująca w KSeF (brak not)

Walidacja

Brak automatycznej

KSeF sprawdza zgodność z FA(3)

Zakres obowiązkowych danych (art. 106e ustawy o VAT) pozostaje taki sam - KSeF nie dodał nowych obowiązkowych elementów. Zmieniła się natomiast forma: zamiast dowolnego dokumentu, dane muszą trafić do ściśle określonych pól schematu XML.

Jeśli chcesz wystawiać e-faktury z automatyczną walidacją zgodności z FA(3), wypełnij i wyślij e-fakturę online przez platformę fillup - system sprawdzi kompletność pól przed wysyłką do KSeF.

Często zadawane pytania o danych na fakturze KSeF (FAQ)

Czy KSeF zmienił zakres obowiązkowych danych na fakturze?

Nie. Elementy obowiązkowe wynikają z art. 106e ustawy o VAT i nie zmieniły się po wdrożeniu KSeF. Struktura FA(3) dodaje nowe pola fakultatywne (np. LinkDoPlatnosci, IPKSeF, załączniki), ale żadne z nich nie jest obowiązkowe.

Ile pól ma struktura FA(3)?

Setki, ale większość jest fakultatywna. Obowiązkowych pól jest ok. 20–25 w zależności od typu transakcji. Kompletną listę z podziałem na kategorie zawiera tabela pól powyżej.

Czy opis towaru/usługi może mieć max 512 znaków?

Tak. FA(3) rozszerzyła limit pola P_7 z 256 (w FA(2)) do 512 znaków. Jeśli to za mało, dodatkowe informacje można umieścić w polach Indeks, PKWiU lub DodatkowyOpis.

Czy można wystawić fakturę KSeF z datą wsteczną?

Tak, pole P_1 (data wystawienia) może wskazywać datę wcześniejszą niż data przesłania do KSeF. Formalnie za datę wystawienia faktury ustrukturyzowanej uznaje się datę przesłania do KSeF (art. 106na ust. 1 ustawy o VAT), co może powodować rozbieżność wymagającą spójnego ujęcia w ewidencji.

Czy numer rachunku bankowego jest obowiązkowy?

Nie, pole NrRB jest fakultatywne. Podanie numeru rachunku jest dobrą praktyką ułatwiającą kontrahentowi dokonanie płatności. W FA(3) numer może mieć do 34 znaków i dopuszcza znaki specjalne.

Co to jest pole DodatkowyOpis i ile razy można go użyć?

Fakultatywne pole na dodatkowe informacje w formie par klucz-wartość (np. Klucz: „Nr zamówienia", Wartość: „ZAM/2026/001"). Może wystąpić max 50 razy na jednej fakturze. Każde wystąpienie można powiązać z konkretnym wierszem faktury przez pole NumerWiersza.

Czy można dodać logo firmy do e-faktury KSeF?

Nie. E-faktura to plik XML bez elementów graficznych. Logo, kolory i układ mogą pojawić się wyłącznie na wizualizacji faktury (np. PDF generowany przez program księgowy), ale nie są częścią danych przesyłanych do KSeF.

Jak podać termin płatności w FA(3)?

Trzy sposoby: konkretna data (pole TerminPlatnosci, format RRRR-MM-DD), opis słowny (pole OpisTerminu, np. „14 dni od dostawy") lub nowa konstrukcja FA(3) - ilość jednostek czasu + rodzaj jednostki + zdarzenie początkowe. Dodatkowo można podać link do płatności (LinkDoPlatnosci).

Jak oznaczyć fakturę dla grupy VAT lub jednostki podrzędnej JST?

W Podmiot2 wypełnij obowiązkowe pole GV (wartość „1" dla grupy VAT) lub JST (wartość „1" dla JST). Następnie w Podmiot3 podaj dane członka grupy lub jednostki podrzędnej - NIP lub IDWew oraz odpowiednią rolę. To nowe pola wprowadzone w FA(3).

Co się stanie, jeśli KSeF odrzuci fakturę?

System zwróci komunikat błędu z informacją, którego pola brakuje lub jaki format jest nieprawidłowy. Faktura nie zostanie wystawiona - nie otrzyma numeru KSeF i nie będzie widoczna dla nabywcy. Należy poprawić dane i wysłać ponownie.

Czy data wystawienia (P_1) to to samo co data wytworzenia (DataWytworzeniaFa)?

Nie. P_1 to data wskazana przez wystawcę - data, którą podatnik uznaje za datę wystawienia faktury. DataWytworzeniaFa to techniczny timestamp generowany automatycznie przez program w momencie wytworzenia pliku XML. Mogą się różnić, np. gdy faktura jest przygotowana wcześniej i wysłana później.

Jak wstawić kurs waluty na fakturze walutowej?

Pole KursWaluty (lub KursWalutyZ dla zaliczek). Kwota VAT w polu P_14_xW musi być przeliczona na PLN zgodnie z art. 106e ust. 11 ustawy o VAT. Kurs podaje się jako liczbę dziesiętną zgodną z kursem opublikowanym przez NBP.

Ile pozycji (wierszy) może mieć jedna e-faktura KSeF?

Schemat FA(3) nie narzuca sztywnego limitu liczby wierszy. Ograniczeniem jest rozmiar pliku XML: max 1 MB bez załącznika lub 3 MB z załącznikiem. W praktyce standardowa faktura mieści tysiące pozycji. Dla faktur z wyjątkowo dużą liczbą pozycji i złożonymi danymi przewidziano mechanizm załączników.

Czym jest identyfikator płatności KSeF (IPKSeF)?

Nowe pole fakultatywne w FA(3), generowane przez operatora płatniczego. Umożliwia automatyczne powiązanie przelewu bankowego z konkretną fakturą w KSeF. Pole przyjmuje max 13 znaków. Korzystanie z IPKSeF wymaga integracji z operatorem płatniczym obsługującym ten standard.

Czy mogę wystawić fakturę z załącznikiem w KSeF?

Tak, po wcześniejszym zgłoszeniu do Szefa KAS przez e-Urząd Skarbowy. Załącznik jest częścią pliku XML (nie osobnym plikiem). Maksymalny rozmiar faktury z załącznikiem to 3 MB. Wysyłka wyłącznie w trybie wsadowym i tylko przez komercyjne oprogramowanie - bezpłatne aplikacje MF nie obsługują załączników.

Ile informacji mieści się w stopce faktury KSeF?

Max 3 pola StopkaFaktury × 3500 znaków = 10 500 znaków łącznie. Stopka jest fakultatywna - można w niej umieścić dane rejestrowe (KRS, REGON, kapitał zakładowy), informacje kontaktowe, godziny pracy oddziałów czy inne dane, których nie ma w standardowych polach faktury.

Jak oznaczyć fakturę dla mechanizmu podzielonej płatności (MPP)?

Pole Adnotacje/P_18A z wartością „1". Jest to pole warunkowo obowiązkowe - wymagane, gdy transakcja podlega obowiązkowi split payment (kwota brutto > 15 000 zł i przedmiot transakcji z załącznika nr 15 do ustawy o VAT). KSeF nie weryfikuje, czy MPP jest wymagane - odpowiedzialność spoczywa na podatniku.

Czy w KSeF można wystawić fakturę w walucie obcej bez przeliczenia na PLN?

Częściowo. Kwoty netto i brutto mogą być wyrażone w walucie obcej (pole KodWaluty ≠ PLN), ale kwota podatku VAT w polu P_14_xW musi być zawsze przeliczona na złotówki (art. 106e ust. 11 ustawy o VAT). Kurs waluty podaje się w polu KursWaluty. Szczegółowe zasady wystawiania i dostarczania e-faktur opisuje poradnik o obiegu e-faktury ustrukturyzowanej w KSeF.

Podstawa prawna: Ustawa z dnia 11 marca 2004 r. o podatku od towarów i usług (t.j. Dz.U. 2025, poz. 775 ze zm.), art. 106a–106q. Struktura logiczna FA(3) opublikowana przez Ministerstwo Finansów (ksef.podatki.gov.pl), obowiązująca od 1 lutego 2026 r. Broszura informacyjna dotycząca struktury logicznej FA(3) - wersja z 4 marca 2026 r.

autor: Redakcja jpk.info.pl

Treść powyższego artykułu została przygotowana przez ekspertów z dziedziny podatków i prawa. W skład redakcji chodzą osoby czerpiące wiedzę z bieżącej praktyki zawodowej, będące od wielu lat zaangażowane w pracę nad komentowaniem i opiniowaniem przepisów prawno - podatkowych.

Poznaj pełen skład naszej redakcji.

tytuł artykułu: Dane na fakturze w systemie KSeF: obowiązki i zmiany