KSeF odrzuca fakturę w ułamku sekundy, gdy zabraknie NIP-u sprzedawcy albo stawki VAT. To akurat łatwo wychwycić — dostajesz błąd i poprawiasz. Gorsza jest druga kategoria: pola, które wyglądają na opcjonalne, a w rzeczywistości stają się obowiązkowe, gdy zachodzi konkretny warunek prawny. Tych KSeF nie sprawdza. Fakturę przyjmie, nada numer, a problem wyjdzie dopiero przy kontroli JPK_V7.
Od 1 lutego 2026 r. struktura logiczna FA(3) jest jedynym akceptowanym wzorem faktury w KSeF — zastąpiła FA(2). Okres ochronny, w którym nie ma kar za błędy systemowe, kończy się 31 grudnia 2026 r. Od 1 stycznia 2027 r. wchodzą sankcje. To realny moment, żeby uporządkować dane, zanim cena za pomyłkę przestanie być zerowa.
Poniżej rozkładamy schemat na trzy poziomy wymagalności i pokazujemy, które pola musisz wypełnić zawsze, które tylko warunkowo, a których nie musisz w ogóle.
Trzy poziomy wymagalności — i dlaczego to nie semantyka
Schemat FA(3) to plik XSD opublikowany przez Ministerstwo Finansów w Centralnym Repozytorium Wzorów Dokumentów (przestrzeń nazw http://crd.gov.pl/wzor/2025/06/25/13775/). Każde pole ma w nim przypisany jeden z trzech poziomów:
Obligatoryjne — muszą być wypełnione w każdej fakturze. Brak = odrzucenie pliku przez KSeF.
Opcjonalne (warunkowo obowiązkowe) — wypełniasz je obowiązkowo, ale tylko gdy zachodzi określony warunek prawny. KSeF nie weryfikuje, czy warunek zaszedł — odpowiedzialność spoczywa na podatniku.
Fakultatywne — wypełnienie zależy wyłącznie od Ciebie. Pominięcie nie ma żadnych skutków.
Najwięcej kłopotów sprawia poziom drugi, bo intuicja podpowiada „pole opcjonalne = mogę pominąć". W FA(3) to fałszywe założenie. Pole stawki przy sprzedaży zwolnionej, oznaczenie split paymentu czy WDT są „opcjonalne" technicznie, ale obowiązkowe prawnie — a walidator KSeF ich nie zatrzyma.
Cztery elementy, bez których KSeF odrzuci fakturę
Schemat główny FA(3) składa się z kilku bloków nadrzędnych. Cztery z nich są wymagane bezwzględnie przy każdej fakturze:
Naglowek — dane techniczne dokumentu: kod formularza (
FA), wariant formularza (3), data wytworzenia.Podmiot1 — sprzedawca. NIP i pełna nazwa są obligatoryjne. Brak NIP-u sprzedawcy = pewne odrzucenie.
Podmiot2 — nabywca. Tu jest pierwszy haczyk (patrz niżej).
Fa — centralna część z danymi transakcji: data wystawienia (
P_1), numer faktury (P_2), kod waluty, rodzaj faktury, podsumowania VAT i wiersze.
Uproszczony szkielet pliku pokazuje, jak niewiele trzeba, by faktura była technicznie poprawna:
<Faktura>
<Naglowek>
<KodFormularza>FA</KodFormularza>
<WariantFormularza>3</WariantFormularza>
<DataWytworzeniaFa>2026-06-21T10:00:00Z</DataWytworzeniaFa>
</Naglowek>
<Podmiot1>
<DaneIdentyfikacyjne>
<NIP>1234567890</NIP>
<Nazwa>ITCompass Artem ...</Nazwa>
</DaneIdentyfikacyjne>
<Adres>...</Adres>
</Podmiot1>
<Podmiot2>
<DaneIdentyfikacyjne>
<NIP>9876543210</NIP>
<Nazwa>Klient Sp. z o.o.</Nazwa>
</DaneIdentyfikacyjne>
<JST>2</JST> <!-- nawet jeśli nie dotyczy: trzeba wpisać 2 -->
<GV>2</GV> <!-- nawet jeśli nie dotyczy: trzeba wpisać 2 -->
</Podmiot2>
<Fa>
<KodWaluty>PLN</KodWaluty>
<P_1>2026-06-21</P_1>
<P_2>FV/06/2026</P_2>
<P_13_1>1000.00</P_13_1>
<P_14_1>230.00</P_14_1>
<P_15>1230.00</P_15>
<Adnotacje>
<P_16>2</P_16>
<P_17>2</P_17>
<P_18>2</P_18>
<P_18A>2</P_18A>
<P_23>2</P_23>
</Adnotacje>
<RodzajFaktury>VAT</RodzajFaktury>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>Usługa programistyczna</P_7>
<P_12>23</P_12>
<P_11>1000.00</P_11>
</FaWiersz>
</Fa>
</Faktura>
Szkielet jest poglądowy. Dokładne nazwy atrybutów i format pól bierz zawsze z oficjalnego pliku XSD.
Nowość FA(3), o której łatwo zapomnieć: w Podmiot2 pola JST i GV (grupa VAT) są obowiązkowe — nawet jeśli faktura nie dotyczy jednostki samorządu ani grupy VAT, trzeba wpisać wartość 2 („nie dotyczy"). To częsta przyczyna odrzuceń przy pierwszych migracjach z FA(2).
Wiersz faktury: co naprawdę musi się w nim znaleźć
W elemencie FaWiersz obligatoryjne są tylko trzy rzeczy:
NrWierszaFa — kolejny numer wiersza.
P_7 — nazwa towaru lub usługi. Co do zasady obowiązkowa; wyjątek to faktury korygujące dokumentujące rabaty zbiorcze za cały okres. W FA(3) limit pola wydłużono z 256 do 512 znaków.
P_12 — stawka VAT. Bez niej KSeF odrzuci wiersz.
Ciekawostka, która myli integratorów: FaWiersz nie zawiera kwoty VAT per pozycja. Kwota podatku trafia wyłącznie do podsumowania dokumentu (pola P_13_x netto i P_14_x VAT, według stawki). Z P_15 jako łączną kwotą należności. Pole P_6A (data dostawy w wierszu) jest opcjonalne — wypełniasz je tylko wtedy, gdy poszczególne pozycje mają różne daty sprzedaży. Pola jak Indeks, GTIN, PKWiU, CN są fakultatywne.
Adnotacje: pięć znaczników, których nie wolno pominąć
Blok Adnotacje jest obowiązkowy, a w nim pięć znaczników typu „tak/nie" (1 = tak, 2 = nie), które trzeba ustawić zawsze — nie wolno ich opuścić:
P_16 — metoda kasowa
P_17 — samofakturowanie
P_18 — odwrotne obciążenie
P_18A — mechanizm podzielonej płatności (MPP)
P_23 — procedura uproszczona w transakcjach trójstronnych
To znaczy: nawet sprzedaż „zwykła" musi mieć pięć dwójek. Pozostałe pola adnotacji (np. P_19 dla zwolnienia wraz z podstawą prawną w P_19A/B/C, P_22 dla WDT) wypełniasz warunkowo.
Pola „opcjonalne" — pułapka, której KSeF nie wyłapie
To najważniejsza część. Następujące pola są technicznie opcjonalne, ale obowiązkowe prawnie, gdy zachodzi warunek — a KSeF przyjmie fakturę bez nich:
P_18A = 1 przy MPP. Obowiązek split paymentu dotyczy transakcji ≥ 15 000 zł brutto z towarami z załącznika nr 15 do ustawy o VAT (art. 108a). KSeF nie zna kwoty granicznej ani przedmiotu — nie sprawdzi tego. Brak oznaczenia naraża sprzedawcę na sankcje.
P_22 = 1 przy wewnątrzwspólnotowej dostawie towarów. Stawka
0 WDTi adnotacja muszą być spójne; niespójność nie blokuje pliku, ale psuje ewidencję JPK_VAT.P_19 + podstawa prawna przy sprzedaży zwolnionej. Sama stawka
ZWto za mało — przepis musi trafić doP_19A(ustawa o VAT),P_19B(dyrektywa) lubP_19C(inne regulacje).JST / GV w
Podmiot2— opisane wyżej, wartość2jest wymagana zawsze.
Reguła do zapamiętania: KSeF sprawdza poprawność techniczną pliku, nie poprawność merytoryczną rozliczenia. Przyjęta faktura nie znaczy „rozliczona prawidłowo".
Pola fakultatywne — czego NIE musisz wypełniać
Tu z kolei wielu wystawców przesadza w drugą stronę i wypełnia rubryki, których nikt nie wymaga — ani ustawa o VAT, ani schemat XML. Ich pominięcie nie powoduje odrzucenia:
Kody GTU (01–13) — tylko dla wskazanych grup towarów i usług, nie dla każdej faktury.
PKWiU, CN, GTIN, Indeks — pomocne przy automatyzacji, ale niewymagane.
DodatkowyOpis (do 10 000 wystąpień), Platnosc, TerminPlatnosci, NrZamowienia — fakultatywne.
StopkaFaktury (maks. 3 × 3500 znaków) — na dane rejestrowe (KRS, REGON, kapitał), godziny pracy oddziałów itp.
Wypełniaj je, gdy realnie ułatwiają pracę kontrahentowi lub Twojej księgowości — nie „na wszelki wypadek".
Szybka checklista przed wysłaniem faktury do KSeF
Podmiot1: NIP i pełna nazwa sprzedawcy są obecne.
Podmiot2: nabywca zidentyfikowany (NIP / VAT UE / brak ID dla B2C), a
JSTiGVustawione (choćby na2).Fa:
P_1,P_2, kod waluty iRodzajFakturywypełnione;P_15zgadza się z sumąP_13_x+P_14_x.FaWiersz: każdy wiersz ma
NrWierszaFa,P_7iP_12.Adnotacje: pięć znaczników (
P_16,P_17,P_18,P_18A,P_23) ma wartość1lub2.Warunki prawne: MPP (
P_18A=1), WDT (P_22=1), zwolnienie (P_19+ podstawa) oznaczone, jeśli dotyczą.Waluta obca: kwoty netto/brutto mogą być w walucie, ale VAT (
P_14_xW) zawsze w PLN.
Podsumowanie
W FA(3) liczy się nie tyle liczba pól, ile zrozumienie trzech poziomów wymagalności. Cztery bloki obligatoryjne i kilka pól w wierszu decydują o tym, czy KSeF w ogóle przyjmie plik. Ale to pola „opcjonalne" — split payment, WDT, podstawa zwolnienia — odpowiadają za większość problemów przy kontroli, bo system ich nie pilnuje.
Biurko waliduje fakturę względem oficjalnego schematu XSD jeszcze przed wysyłką, domyślnie ustawia wymagane znaczniki (w tym JST/GV i adnotacje) i tłumaczy ewentualne odrzucenia KSeF na zrozumiały komunikat zamiast surowego kodu błędu. Zamiast uczyć się struktury XML na pamięć, wypełniasz formularz, a poprawność pilnuje system. Przetestuj Biurko za darmo przez 14 dni i wystaw pierwszą fakturę FA(3) bez ryzyka odrzucenia.
FAQ
Które pola w FA(3) są bezwzględnie obowiązkowe? Bezwzględnie wymagane są cztery bloki: Naglowek, Podmiot1 (z NIP-em i nazwą sprzedawcy), Podmiot2 oraz Fa. W wierszu obowiązkowe są numer wiersza, nazwa towaru/usługi (P_7) i stawka VAT (P_12). Bez nich KSeF odrzuca plik.
Czy KSeF sprawdza, czy zastosowałem split payment? Nie. KSeF nie zna kwoty granicznej ani przedmiotu transakcji, więc nie weryfikuje obowiązku MPP. Pole P_18A jest technicznie opcjonalne, ale prawnie obowiązkowe, gdy transakcja przekracza 15 000 zł brutto z towarami z załącznika nr 15. Odpowiedzialność spoczywa na podatniku.
Czym różnią się pola opcjonalne od fakultatywnych? Opcjonalne stają się obowiązkowe, gdy zachodzi warunek prawny (np. stawka przy sprzedaży zwolnionej) — ich brak naraża na sankcje. Fakultatywne (GTU, PKWiU, stopka, opis dodatkowy) są w pełni dobrowolne i ich pominięcie nie ma skutków podatkowych.
Czy muszę wypełniać kody GTU na każdej fakturze? Nie. Kody GTU (01–13) dotyczą wyłącznie wskazanych grup towarów i usług. Dla zwykłej sprzedaży usług czy towarów spoza listy pole pozostaje puste i faktura jest w pełni poprawna.
Czy faktura w walucie obcej musi mieć kwoty w PLN? Częściowo. Kwoty netto i brutto mogą być wyrażone w walucie obcej (KodWaluty ≠ PLN), ale kwota podatku VAT w polu P_14_xW musi być zawsze przeliczona na złotówki zgodnie z art. 31a ustawy o VAT.
