Schemat FA(3) to obowiązująca od 2026 roku struktura XML faktury w KSeF — definiuje każde wymagane pole, od NIP po KursWaluty. Sprawdź pełną listę elementów obowiązkowych, dowiedz się które pola waliduje system i jak uniknąć błędu odrzucenia faktury przez KSeF.
Czym jest schemat FA(3) i dlaczego to ważne
Schemat FA(3) to specyfikacja techniczna pliku XML, który reprezentuje fakturę VAT w Krajowym Systemie e-Faktur. Ministerstwo Finansów opublikowało go jako rozwinięcie wcześniejszego schematu FA(2) — wprowadzając nowe pola, zmieniając walidację części istniejących i dostosowując strukturę do wymogów obowiązkowego KSeF od 2026 roku.
Każda faktura wystawiana w KSeF — czy to przez Aplikację Podatnika MF, czy przez oprogramowanie zintegrowane przez API — musi być zgodna z tym schematem. System KSeF waliduje plik XML przed nadaniem numeru KSeF: jeśli plik zawiera błąd struktury, brakujące pole obowiązkowe lub wartość spoza dozwolonego słownika, faktura jest odrzucana i nie otrzymuje numeru KSeF. Oznacza to, że takiej faktury prawnie nie wystawiono.
Dla porównania: schemat FA(2) obowiązywał w fazie dobrowolnej KSeF (2022–2025). FA(3) różni się przede wszystkim nowymi polami dla trybu offline24, rozszerzonym słownikiem kodów OFF/BFK/DI dla JPK oraz zmianami w obsłudze walut obcych. Więcej o integracji z JPK przeczytasz w artykule o numerze KSeF w JPK_V7M.
Pola obowiązkowe — pełna lista
Poniżej znajdziesz kluczowe pola obowiązkowe w schemacie FA(3), pogrupowane tematycznie:
Dane nagłówkowe faktury
- KodFormularza — zawsze FA (3), identyfikuje wersję schematu.
- WariantFormularza — numer wersji, aktualnie 3.
- DataWytworzeniaFa — data i czas wygenerowania pliku XML (format ISO 8601).
- NrFa — własny numer faktury nadany przez wystawcę (nie numer KSeF).
- RodzajFaktury — VAT, KOR, ZAL, KON, KOR_ZBR lub KOR_UPR.
- DataWystawienia — data wystawienia faktury (dd-mm-rrrr).
- DataSprzedazy — data sprzedaży lub data wykonania usługi (może być równa dacie wystawienia).
Dane sprzedawcy (podmiot wystawiający)
- NIP — numer NIP sprzedawcy (10 cyfr, bez spacji i myślników).
- Nazwa — pełna nazwa firmy lub imię i nazwisko.
- Adres — ulica, numer, kod pocztowy, miejscowość, kraj.
Dane nabywcy
- NIP nabywcy — obowiązkowy dla B2B (polskiego); dla zagranicznych podmiotów dopuszczalne jest podanie NrId z kodem kraju.
- Nazwa nabywcy — pełna nazwa.
- Adres nabywcy — jak wyżej.
Pozycje faktury
- NrWierszaFa — numer porządkowy pozycji.
- Towar lub Usługa — opis pozycji (nazwa towaru/usługi).
- Ilosc — ilość (może być ułamkowa).
- CenaJednostkowa — cena netto za jednostkę.
- StawkaVAT — stawka VAT: 23, 8, 5, 0 lub wartości specjalne (np, zw, oo, brak).
- KwotaVAT — kwota podatku VAT dla pozycji.
- WartoscBrutto — wartość brutto pozycji.
Podsumowanie faktury
- PodatekNalezny — suma VAT w rozbiciu na stawki.
- WartoscNetto — suma wartości netto wszystkich pozycji.
- WartoscVAT — łączna kwota VAT.
- WartoscBrutto — łączna wartość brutto (= suma brutto pozycji).
Pola walutowe — KursWaluty i MiejsceWystawieniaFa
Jeśli faktura jest wystawiana w walucie obcej (EUR, USD itp.), schemat FA(3) wymaga dodatkowych pól:
- KodWaluty — trzyliterowy kod ISO waluty (np. EUR, USD, GBP).
- KursWaluty — średni kurs NBP z dnia poprzedzającego obowiązek podatkowy. Podajesz go jako liczbę dziesiętną (np. 4.2531).
- DataKursu — data, na którą pobrałeś kurs NBP.
Wartości netto i VAT na fakturze możesz podać w walucie obcej, ale w polach dotyczących VAT dla JPK_V7M zawsze przeliczasz na PLN. Szczegóły przeliczania kursów opisuje artykuł o fakturach w EUR i USD w KSeF.
Najczęstsze powody odrzucenia faktury przez walidację KSeF
| Błąd | Przyczyna | Jak naprawić |
|---|---|---|
| Nieprawidłowy NIP nabywcy | NIP nie istnieje w bazie MF lub ma błędną sumę kontrolną | Zweryfikuj NIP w Wykazie Podatników VAT (biała lista) przed wystawieniem |
| Brakujące pole obowiązkowe | Pominięto wymagany element XML | Sprawdź aktualną specyfikację FA(3) na ksef.podatki.gov.pl |
| Błędna stawka VAT | Podano wartość spoza dozwolonego słownika | Użyj kodów: 23, 8, 5, 0, np, zw, oo, brak |
| Niezgodność sum | Suma brutto pozycji ≠ WartoscBrutto nagłówka | Upewnij się, że program prawidłowo sumuje zaokrąglone wartości |
| Brak KursWaluty przy walucie obcej | Faktura w EUR bez podania kursu NBP | Uzupełnij KodWaluty, KursWaluty i DataKursu |
| Zły format daty | Data nie jest w formacie ISO 8601 (yyyy-mm-dd) | Sprawdź format daty w ustawieniach programu |
Pola opcjonalne, które warto wypełniać
Schemat FA(3) zawiera wiele pól opcjonalnych, które nie są wymagane do przyjęcia faktury przez system, ale dostarczają cennych informacji kontrahentowi i ułatwiają księgowanie:
- TerminPlatnosci — termin płatności (nieobowiązkowy, ale ułatwia kontrahentowi planowanie płatności).
- FormaPlatnosci — przelew, gotówka, karta, kompensata.
- NrRachunkuBankowego — numer konta do przelewu (szczególnie ważny przy mechanizmie split payment).
- Adnotacje — pole na dowolne uwagi (np. „Faktura wystawiona przez KSeFakt”).
- PrzyczynKorekty — obowiązkowe przy korektach, opcjonalne przy zwykłych fakturach.
- ZaliczkiFaktury — lista numerów KSeF powiązanych faktur zaliczkowych (wymagane przy
RodzajFaktury=KON).
Jak program generuje XML FA(3) — rola oprogramowania
W dobrze zintegrowanym programie do faktur podatnik nie widzi XML-a — wypełnia formularz w interfejsie, a program sam generuje poprawny plik FA(3) i wysyła go do KSeF. Zadaniem programu jest pilnowanie, by każde pole obowiązkowe było uzupełnione, wartości były w prawidłowym formacie i sumy się zgadzały.
Wyobraź sobie: wpisujesz dane klienta, pozycje i cenę — program sam pobiera kurs NBP, oblicza VAT, generuje XML i wysyła do KSeF. Jeśli coś jest nie tak, program informuje Cię o błędzie przed wysyłką, a nie po jej odrzuceniu przez system. To kluczowa różnica między dobrym a złym oprogramowaniem.
FAQ — najczęstsze pytania o schemat FA(3)
Czy schemat FA(3) jest już obowiązujący — czy jeszcze FA(2)?
Schemat FA(3) obowiązuje od wejścia w życie obowiązkowego KSeF — od 1 lutego 2026 dla dużych firm i od 1 kwietnia 2026 dla pozostałych. Wcześniejszy FA(2) był stosowany w fazie dobrowolnej (do 2025). Jeśli Twój program jeszcze używa FA(2), pilnie zaktualizuj go przed datą obowiązku.
Czy mogę wystawić fakturę ręcznie w Excelu i wgrać do KSeF?
Technicznie tak — możesz wygenerować plik XML ręcznie zgodny ze schematem FA(3) i wgrać go przez Aplikację Podatnika MF lub API. W praktyce jednak ręczne tworzenie XML jest ryzykowne i podatne na błędy. Każde ręcznie wpisane pole musi być zgodne z aktualną wersją schematu, co jest trudne do utrzymania bez specjalistycznej wiedzy technicznej.
Gdzie pobrać aktualny schemat FA(3)?
Schemat jest dostępny na oficjalnej stronie KSeF Ministerstwa Finansów: ksef.podatki.gov.pl w sekcji „Dokumentacja techniczna”. Ministerstwo publikuje też changelog zmian między wersjami schematu.
Co dalej
Jeśli chcesz mieć pewność, że każda Twoja faktura przejdzie walidację FA(3) za pierwszym razem — bez ręcznego pilnowania pól i formatów — sprawdź cennik KSeFakt albo listę funkcji. Dołącz do listy oczekujących i wystawiaj faktury w KSeF bez stresu od pierwszego dnia obowiązku.