Obowiązkowe pola XML w KSeF FA(3): kompletna lista dla sprzedawcy
Tablixa Blog · 2026-05-07
Obowiązkowe pola XML w KSeF FA(3): kompletna lista dla sprzedawcy
Każda faktura elektroniczna wysyłana do Krajowego Systemu e-Faktur musi być zgodna ze schematem FA(3) – aktualną wersją struktury XML zatwierdzoną przez Ministerstwo Finansów. Brak choćby jednego wymaganego pola skutkuje odrzuceniem dokumentu przez system.
W tym artykule omawiamy dokładnie, które pola są obowiązkowe, co oznaczają i jakie wartości przyjmują.
Struktura schematu FA(3)
Plik XML KSeF FA(3) składa się z kilku kluczowych sekcji. Każda z nich zawiera pola obowiązkowe i opcjonalne. Schemat XSD publikowany przez Ministerstwo Finansów precyzyjnie określa, co jest wymagane.
Nagłówek i atrybut schemaVersion
Każdy plik musi zaczynać się od deklaracji przestrzeni nazw oraz numeru wersji schematu:
<Faktura xmlns="http://crd.gov.pl/wzor/2023/06/29/12648/"
SchemaVersion="1-0E">
Atrybut SchemaVersion o wartości 1-0E jest bezwzględnie wymagany – jego brak lub nieprawidłowa wartość spowoduje błąd walidacji XSD jeszcze przed wysyłką.
Sekcja Podmiot1 – Sprzedawca
To dane wystawcy faktury. Obowiązkowe elementy:
| Pole XML | Znaczenie | Format |
|---|---|---|
NrEORI lub NIP | Identyfikator podatkowy sprzedawcy | 10 cyfr (NIP) |
Nazwa | Pełna nazwa firmy | max 256 znaków |
AdresPodmiotu/Ulica | Ulica i numer | tekst |
AdresPodmiotu/NrDomu | Numer domu | tekst |
AdresPodmiotu/KodPocztowy | Kod pocztowy | XX-XXX |
AdresPodmiotu/Miejscowosc | Miejscowość | tekst |
AdresPodmiotu/KodKraju | Kod kraju ISO | PL dla Polski |
Ważne: NIP sprzedawcy musi być zarejestrowany w KSeF. Wysyłka z nieaktywnym NIP zakończy się błędem
NIP_NIEZGODNY.
Sekcja Podmiot2 – Nabywca
Dla krajowego nabywcy VAT wymagane pola to:
NIP– identyfikator podatkowy nabywcy (10 cyfr)Nazwa– pełna nazwa firmy nabywcyAdresPodmiotu– adres (te same pola co dla sprzedawcy)
W przypadku nabywców zagranicznych zamiast NIP można podać NrEORI lub NrVatUE (poprzedzony kodem kraju, np. DE123456789).
Sekcja Fa – Dane faktury
To najważniejsza sekcja. Obowiązkowe pola:
Identyfikacja faktury
KodWaluty– waluta transakcji (ISO 4217), np.PLN,EUR. Pole obowiązkowe.P_1– data wystawienia faktury w formacieYYYY-MM-DD.P_2– numer faktury nadany przez sprzedawcę.RodzajFaktury– typ dokumentu:VAT(standardowa),KOR(korygująca),ZAL(zaliczkowa).
Sumy i podatki
P_13_1doP_13_5– kwoty netto według stawek VAT (23%, 8%, 5%, 0%, zw.).P_14_1doP_14_5– kwoty VAT odpowiadające każdej stawce.P_15– łączna kwota brutto faktury. To pole jest kluczowe i musi zgadzać się z sumą pozycji.
Daty
P_1– data wystawienia (zawsze obowiązkowa).P_6– data sprzedaży lub wykonania usługi. Wymagana, gdy różni się od daty wystawienia.
Sekcja FaWiersz – Pozycje faktury
Każda pozycja musi zawierać:
| Pole | Znaczenie |
|---|---|
NrWierszaFa | Numer porządkowy pozycji (1, 2, 3…) |
P_7 | Nazwa towaru lub usługi |
P_8A | Miara ilości (szt., kg, godz.) |
P_8B | Ilość |
P_9A | Cena jednostkowa netto |
P_11 | Wartość netto pozycji |
P_12 | Stawka VAT (23, 8, 5, 0, zw, np) |
Nie mylić:
P_11to wartość netto całej pozycji (cena × ilość), aP_15na poziomie faktury to suma brutto wszystkich pozycji.
Pola opcjonalne, które warto uzupełnić
Choć nie są wymagane przez schemat, wiele z tych pól jest oczekiwanych przez kontrahentów lub systemy księgowe:
P_22– kod GTU (Grupy Towarów i Usług) – wymagany dla objętych JPK_V7P_18A– oznaczenieTPdla transakcji z podmiotami powiązanymiPlatnosc/RachunekBankowy– numer rachunku bankowego do płatności
Jak Tablixa generuje FA(3) z PDF?
Narzędzie Tablixa odczytuje fakturę PDF przy użyciu modeli AI, a następnie automatycznie mapuje wyodrębnione dane na odpowiednie pola schematu FA(3). System weryfikuje:
- Poprawność NIP (suma kontrolna)
- Zgodność kwot netto + VAT = brutto
- Obecność wszystkich pól obowiązkowych
Wygenerowany plik XML jest gotowy do walidacji i wysyłki do KSeF.
Podsumowanie
Schemat KSeF FA(3) wymaga precyzji – każde pole ma swój typ danych, format i ograniczenia wartości. Najczęstsze błędy to: błędny NIP (literówka), niezgodność kwoty P_15 z sumą pozycji oraz pominięcie RodzajFaktury. Używając narzędzia automatyzującego konwersję, eliminujesz te ryzykowne pola ręcznego wprowadzania.