Schemat KSeF FA(3) — sekcje, kolejność i pola wymagane

Praktyczne zestawienie elementów schematu XSD FA(3) wraz z regułami warunkowymi sekcji płatności, które najczęściej powodują odrzucenie pliku.

Sekcje schematu FA(3), kolejność elementów i pola obowiązkowe: Naglowek, Podmiot1/2, FaWiersz i Platnosc — z najczęstszymi przyczynami odrzucenia.

Schemat FA(3) to struktura XML, w której Ministerstwo Finansów przyjmuje faktury ustrukturyzowane w KSeF. Dokument musi zawierać określone elementy, w ściśle określonej kolejności — plik niezgodny ze schematem XSD zostaje odrzucony i nie otrzymuje numeru KSeF. Poniżej zestawiamy sekcje schematu i pola, których brak lub błędna kolejność najczęściej powodują odrzucenie.

Opracowanie ma charakter praktyczny. Nie zastępuje oficjalnej dokumentacji schematu, lecz porządkuje te elementy, które w codziennej pracy sprawiają najwięcej problemów.

Budowa dokumentu

Faktura FA(3) składa się z kilku sekcji następujących po sobie w ustalonym porządku:

  1. Naglowek — metadane dokumentu
  2. Podmiot1 — sprzedawca
  3. Podmiot2 — nabywca
  4. Fa — właściwa treść faktury, w tym pozycje i podsumowanie
  5. Stopka — element opcjonalny, poza sekcją Fa

Kolejność sekcji nie jest dowolna. Walidator XSD sprawdza sekwencję, więc przestawienie elementów powoduje błąd nawet wtedy, gdy wszystkie dane są poprawne.

Nagłówek

Sekcja Naglowek identyfikuje wersję schematu i moment wygenerowania pliku:

  • KodFormularza — z atrybutami kodSystemowy i wersjaSchemy; wartość FA
  • WariantFormularza — dla FA(3) wartość 3
  • DataWytworzeniaFa — znacznik czasu utworzenia pliku w formacie RRRR-MM-DDThh:mm:ssZ

Częsty błąd polega na wpisaniu w DataWytworzeniaFa daty wystawienia faktury. To dwie różne wartości: data wytworzenia dotyczy momentu powstania pliku XML, a nie dokumentu handlowego.

Strony transakcji

Podmiot1 (sprzedawca) i Podmiot2 (nabywca) zawierają dane identyfikacyjne oraz adres.

  • NIP — dokładnie dziesięć cyfr, bez prefiksu PL, spacji i myślników
  • Nazwa — pełna nazwa podmiotu
  • Adres — z KodKraju oraz liniami adresu

W sekcji nabywcy występują dodatkowo elementy JST i GV, dotyczące jednostek samorządu terytorialnego i grup VAT. Dla zwykłej transakcji między firmami przyjmują wartość oznaczającą „nie dotyczy", ale muszą wystąpić — ich pominięcie jest jedną z częstszych przyczyn odrzucenia.

Treść faktury

Sekcja Fa zawiera dane dokumentu i również ma narzuconą kolejność elementów:

  • KodWaluty — waluta dokumentu
  • P_1 — data wystawienia faktury w formacie RRRR-MM-DD
  • P_2 — numer faktury
  • P_6 — data dokonania dostawy lub wykonania usługi, jeżeli różni się od daty wystawienia
  • pola podsumowania VAT — podstawy i kwoty podatku w rozbiciu na stawki
  • P_15 — wartość brutto całego dokumentu
  • Adnotacje — oznaczenia szczególne
  • RodzajFaktury — rodzaj dokumentu, bezpośrednio po Adnotacje
  • FaWiersz — pozycje faktury, powtarzalne
  • Platnosc — dane płatności, po wszystkich pozycjach

Dla dokumentów obejmujących okres rozliczeniowy zamiast P_6 stosuje się OkresFa z datami początku i końca. Nie należy podawać obu naraz.

Pozycje faktury

Każda pozycja to osobny element FaWiersz:

  • NrWierszaFa — numer kolejny pozycji
  • P_7 — nazwa towaru lub usługi
  • P_8A, P_8B — jednostka miary i ilość
  • P_9A lub P_9B — cena jednostkowa
  • P_11 — wartość pozycji
  • P_12 — stawka VAT

Pole P_12 przyjmuje wartości ze słownika stawek. Oprócz stawek liczbowych występują oznaczenia zw dla zwolnienia i np dla czynności niepodlegających opodatkowaniu. Wpisanie stawki spoza słownika powoduje błąd walidacji typu danych.

Sekcja płatności — najczęstsze źródło błędów

Platnosc ma kolejność, która w praktyce bywa naruszana: ZaplaconoDataZaplatyTerminPlatnosciFormaPlatnosciRachunekBankowy.

Wynikają z tego dwie reguły warunkowe:

Faktura opłacona w momencie wystawienia. Jeżeli występuje Zaplacono z wartością oznaczającą zapłatę, schemat wymaga podania DataZaplaty bezpośrednio po nim. Jednocześnie nie wolno podawać TerminPlatnosci — termin płatności dla dokumentu już zapłaconego jest sprzeczny.

Faktura z odroczonym terminem. Wtedy podaje się TerminPlatnosci, a nie podaje Zaplacono ani DataZaplaty.

Pominięcie DataZaplaty przy fakturze oznaczonej jako opłacona to jeden z najczęściej spotykanych błędów — komunikat walidatora wskazuje wówczas element, który wystąpił „nieoczekiwanie", mimo że rzeczywistą przyczyną jest brak elementu poprzedzającego.

Kolejna typowa pomyłka to umieszczenie RachunekBankowy przed FormaPlatnosci. Schemat wymaga odwrotnej kolejności.

Weryfikacja przed wysyłką

Najprostszym sposobem sprawdzenia pliku jest walidacja względem oficjalnego schematu XSD. Walidator KSeF XML wskazuje konkretny element i opisuje niezgodność — działa na plikach z dowolnego systemu i nie wymaga konta.

Jeżeli plik XML powstaje z faktury PDF, walidacja przeprowadzana jest automatycznie przed pobraniem; przebieg konwersji opisaliśmy w przewodniku jak przekonwertować fakturę PDF do KSeF.

Najczęstsze pytania

Czy kolejność elementów naprawdę ma znaczenie? Tak. Schemat XSD definiuje sekwencję, a nie zbiór. Element podany w niewłaściwym miejscu powoduje błąd walidacji, nawet jeśli jego wartość jest poprawna.

Dlaczego faktura zwolniona z VAT jest odrzucana? Najczęściej przez niespójność między stawką zw w pozycjach a oznaczeniami w sekcji Adnotacje. Oba miejsca muszą opisywać ten sam stan.

Czym różni się P_1 od DataWytworzeniaFa? P_1 to data wystawienia faktury. DataWytworzeniaFa to moment wygenerowania pliku XML. Wpisanie w obu miejscach tej samej wartości jest częstym, choć nie zawsze blokującym, błędem.

Czy NIP można podać z prefiksem PL? Nie. Pole NIP przyjmuje dziesięć cyfr bez prefiksu i separatorów.

Gdzie znajdę pełną specyfikację schematu? Oficjalna dokumentacja i pliki XSD publikowane są przez Ministerstwo Finansów. To opracowanie porządkuje wyłącznie elementy najczęściej powodujące odrzucenie.

Sprawdź swój plik

Masz gotowy XML? Zwaliduj go bez rejestracji. Masz fakturę w PDF? Wygeneruj z niej plik FA(3) — walidacja wykonywana jest automatycznie przed pobraniem.