Przejdź do treści

E-fakturowanie w Polsce

FA(3): struktura logiczna faktury w KSeF — budowa, pola, zmiany względem FA(2)

Ostatnia weryfikacja SUPPORTED WITH LIMITATIONS

Tłumaczenie wersji angielskiej, która jest aktualizowana jako pierwsza. Stwierdzenia regulacyjne odnoszą się do wymienionych źródeł i daty ich odczytu.

FA(3) to struktura logiczna XML, której od 1 lutego 2026 r. używa każda faktura ustrukturyzowana przesyłana do Krajowego Systemu e-Faktur (KSeF), kiedy zastąpiła FA(2). Jest to schemat krajowy opublikowany przez Ministerstwo Finansów — nie składnia normy EN 16931 — z ośmioma elementami najwyższego poziomu, z których Naglowek, Podmiot1, Podmiot2 i Fa są obowiązkowe. W porównaniu z FA(2) dodaje przejrzystszą strukturę terminu płatności, rolę pracownika dla podmiotów trzecich, dłuższe opisy pozycji, znaczniki dla jednostek samorządu terytorialnego i grup VAT oraz załącznik XML.

Czym jest FA(3) i kiedy ma zastosowanie

FA(3) to „wzór faktury ustrukturyzowanej" — wzór dokumentu elektronicznego — zdefiniowany przez Ministerstwo Finansów i opublikowany w Centralnym Repozytorium Wzorów Dokumentów Elektronicznych pod adresem crd.gov.pl/wzor/2025/06/25/13775/. Faktura ustrukturyzowana jest prawnie fakturą wystawioną przy użyciu KSeF wraz z przydzielonym jej przez system numerem, a KSeF nadaje numery wyłącznie plikom zgodnym z aktualnym wzorem.

Broszura Ministerstwa jest jednoznaczna: FA(2) obowiązywała od 1 września 2023 r. do 31 stycznia 2026 r.; FA(3) stosuje się do każdej faktury ustrukturyzowanej wystawionej od 1 lutego 2026 r., w tym do korekt faktur pierwotnie wystawionych w FA(2) lub FA(1) oraz do faktur rozliczeniowych do starszych faktur zaliczkowych. API odzwierciedla to: środowiska produkcyjne i demo przyjmują wyłącznie FA(3) (oraz warianty FA_PEF(3) i FA_KOR_PEF(3) dla faktur w zamówieniach publicznych pochodzących z Peppol), natomiast środowisko testowe nadal przyjmuje FA(2). Klient deklaruje schemat przy otwieraniu sesji, a KSeF waliduje względem niego każdy plik w tej sesji.

Budowa: osiem elementów najwyższego poziomu

Element główny Faktura zawiera nagłówek, sprzedawcę, nabywcę, opcjonalne podmioty trzecie, opcjonalny podmiot upoważniony, treść faktury, opcjonalną stopkę i opcjonalny załącznik.

ElementWymagany?Zawartość
NaglowekObowiązkowyKodFormularza z atrybutami kodSystemowy="FA (3)" i wersjaSchemy="1-0E"; WariantFormularza = 3; DataWytworzeniaFa (znacznik czasu UTC utworzenia pliku, np. 2026-02-01T09:30:47Z, który może różnić się od P_1 i od daty przesłania); opcjonalny SystemInfo wskazujący oprogramowanie.
Podmiot1ObowiązkowySprzedawca. NIP w DaneIdentyfikacyjne jest kluczem uprawniającym podatnika w KSeF; bez niego faktury nie można wystawić. Nazwa, adres, opcjonalny adres korespondencyjny, dane kontaktowe, opcjonalny numer EORI i status podatnika.
Podmiot2ObowiązkowyNabywca. Polski NIP wpisuje się w NIP; unijny numer VAT w NrVatUE z KodKraju; inny identyfikator zagraniczny w NrID; konsument bez identyfikatora jest odpowiednio oznaczony. FA(3) dodaje znaczniki JST i GV („1" = faktura dotyczy jednostki podległej jednostce samorządu terytorialnego lub członka grupy VAT, „2" = nie dotyczy) oraz opcjonalny klucz IDNabywcy (32 znaki) łączący nabywcę między fakturami.
Podmiot3Opcjonalny, do 100Podmioty trzecie z kodem Rola: 1 faktor, 2 odbiorca (jednostka wewnętrzna nabywcy), 3 podmiot pierwotny (poprzednik po połączeniu lub przekształceniu), 4 dodatkowy nabywca, 5 wystawca działający w imieniu podatnika, 6 płatnik, 7–8 wystawca lub odbiorca JST, 9–10 wystawca lub odbiorca będący członkiem grupy VAT oraz — nowość w FA(3) — 11, pracownik, który dokonał zakupu w imieniu firmy. Inne role używają RolaInna z opisem.
PodmiotUpowaznionyWarunkowyPodmiot upoważniony, taki jak organ egzekucyjny lub komornik sądowy wystawiający w imieniu podatnika (RolaPU).
FaObowiązkowyWłaściwa faktura: waluta, daty, numery, sumy VAT według stawek, adnotacje, rodzaj faktury, pozycje (FaWiersz) oraz opcjonalne węzły Rozliczenie, Platnosc, WarunkiTransakcji i Zamowienie.
StopkaOpcjonalnyTekst stopki, numer KRS, REGON i podobne dane rejestrowe.
ZalacznikOpcjonalnyUstrukturyzowany załącznik XML dla faktur z dużą liczbą danych o jednostkach, ilościach lub cenach (media, telekomunikacja). Jego stosowanie wymaga wcześniejszego zgłoszenia w e-Urzędzie Skarbowym; załącznik jest częścią faktury i przyjmowany jest wyłącznie XML, nie PDF ani obrazy.

Broszura rozróżnia pola obowiązkowe (zawsze wypełniane, np. NIP sprzedawcy), pola opcjonalne (wypełniane zawsze, gdy spełniony jest warunek ustawowy, np. P_11A) oraz pola fakultatywne (według uznania podatnika, np. SystemInfo). Pominięcie węzłów fakultatywnych jest dopuszczalne; pominięcie pola opcjonalnego, którego warunek jest spełniony, daje nieprawidłową fakturę, nawet jeśli XSD przejdzie.

Kluczowe pola wewnątrz Fa

Większość tego, co księgowy rozpoznaje jako „fakturę", znajduje się w Fa, z nazwami pól odziedziczonymi ze struktury raportowej JPK_FA.

KodWaluty
Waluta ISO 4217; „PLN" dla faktur w walucie polskiej. Kwoty podaje się w walucie faktury, z wyjątkiem kwot podatku przeliczonych zgodnie z ustawą o VAT, które mają własne pola (P_14_xW) obok KursWaluty.
P_1, P_1M
Data wystawienia (obowiązkowa) i miejsce wystawienia (fakultatywne). Dla faktury online prawną datą wystawienia jest data przesłania, o ile P_1 jest z nią równa; dla faktur w trybie offline24, niedostępności i awaryjnym — oraz dla faktur online przesłanych po P_1 — formalną datą wystawienia jest sama P_1.
P_2
Własny kolejny numer faktury sprzedawcy. Nie jest to numer KSeF; tych dwóch nie wolno mylić.
P_6, P_6A, OkresFa
Data dostawy lub zapłaty, jeśli różni się od P_1 — na poziomie faktury, gdy jest wspólna dla wszystkich pozycji, w przeciwnym razie na poziomie pozycji w P_6A, albo jako okres (P_6_Od/P_6_Do) dla usług ciągłych.
P_13_x, P_14_x, P_15
Sumy netto i kwoty VAT dla poszczególnych koszyków stawek (podstawowa 23 % lub 22 %, obniżona 8 %/7 %, 5 %/4 %, 3 %, krajowa stawka zerowa, WDT, eksport, zwolnione, odwrotne obciążenie, poza zakresem) oraz kwota należności ogółem. Ministerstwo zwraca uwagę, że FA(3) nadal nie rozdziela 22 % od 23 % na poziomie sum — dokładną stawkę odczytuje się z P_12 w pozycji.
Adnotacje
Adnotacje ustawowe jako kody: P_16 metoda kasowa, P_17 samofakturowanie, P_18 odwrotne obciążenie, P_18A mechanizm podzielonej płatności, P_19 podstawa zwolnienia, P_22 nowe środki transportu, P_23 procedura uproszczona (transakcja trójstronna), znaczniki procedury marży.
RodzajFaktury
Rodzaj faktury: VAT (podstawowa), KOR (korygująca), ZAL (zaliczkowa), ROZ (rozliczeniowa po zaliczce), UPR (uproszczona), KOR_ZAL i KOR_ROZ (korekty dwóch ostatnich). Korekta faktury uproszczonej używa KOR. W fakturach korygujących wszystkie pola pokazują stan po korekcie, natomiast pola podstaw, podatku i sum zawierają różnicę.
FaWiersz
Pozycje: NrWierszaFa (numer wiersza), opcjonalny UU_ID (fakultatywny unikalny klucz wiersza do 50 znaków, wiążący wiersze korekty z wierszami pierwotnymi), P_7 (nazwa towaru lub usługi, obecnie do 512 znaków), Indeks, GTIN, PKWiU, CN, P_8A (jednostka miary), P_8B (ilość), P_9A (cena jednostkowa netto), P_9B (cena jednostkowa brutto), P_10 (rabaty), P_11 (wartość netto wiersza), P_11A (wartość brutto wiersza), P_11Vat oraz P_12, kod stawki.
Kody stawek P_12
„23", „22", „8", „7", „5", „4", „3", „0 KR" (krajowa stawka zerowa), „0 WDT" (wewnątrzwspólnotowa dostawa towarów), „0 EX" (eksport), „zw" (zwolnione), „oo" (krajowe odwrotne obciążenie), „np I" i „np II" (poza polskim zakresem opodatkowania, to drugie dla usług z art. 100 ust. 1 pkt 4). Transakcje spoza ustawy o VAT, takie jak bony różnego przeznaczenia, nie są pozycjami; mogą pojawić się wyłącznie jako informacja dodatkowa w Rozliczenie.
Platnosc
Status i data płatności, TerminPlatnosci jako data (Termin) lub opis ustrukturyzowany (liczba i jednostka, np. 14 dni), forma płatności, rachunki bankowe i warunki skonta.
Zamowienie
Używane wyłącznie dla faktur zaliczkowych i ich korekt, gdzie zastępuje FaWiersz.

Formaty pól: XML w UTF-8; pola tekstowe domyślnie 256 znaków, 512 dla nazw, linii adresu, P_7 i tekstu załącznika, 50 dla kodów klasyfikacji, jednostek i UU_ID, 32 dla IDNabywcy, 20 dla GTIN. Daty mają format RRRR-MM-DD; znacznik czasu w nagłówku to ISO 8601 w UTC.

Co zmieniło się względem FA(2)

Ministerstwo wymienia zmiany, które uważa za korzystne dla podatników; żadna z nich nie zmienia treści fiskalnej faktury, ale kilka wpływa na mapowanie.

  • Termin płatności: TerminPlatnosci może zawierać datę lub opis ustrukturyzowany (liczba plus jednostka) zamiast wolnego tekstu, a pole może opisywać płatność już dokonaną lub przyszłą.
  • Rola pracownika: Podmiot3 zyskuje rolę 11, „pracownik", tak aby wydatek zakupiony przez pracownika w imieniu firmy mógł nieść tożsamość pracownika na potrzeby rozliczania wydatków.
  • Dłuższe opisy: P_7 rośnie do 512 znaków.
  • JST i grupy VAT: nowe znaczniki w Podmiot2 informują jednostkę samorządu terytorialnego lub grupę VAT, do której jednostki podległej lub członka należy zakup; przy wartości „1" Podmiot3 zawiera NIP lub identyfikator wewnętrzny tej jednostki.
  • Załącznik: nowy element Zalacznik dla dużych wolumenów danych o jednostkach i cenach, wymagający uprzedniego zgłoszenia w e-Urzędzie Skarbowym (otwartego od 1 stycznia 2026 r.).
  • Co się nie zmieniło: nadal nie ma pola rabatu procentowego w wierszu — rabat jest osobną pozycją lub jest uwzględniony w cenach jednostkowych — a sumy nadal nie rozróżniają 22 % od 23 %.

Sesja otwarta z kodem formularza FA(2) nie może przenosić plików FA(3) i odwrotnie; oprogramowanie musi wybrać kod formularza zgodny z plikiem.

Mapowanie faktury na FA(3)

Faktura utrzymywana w modelu EN 16931 mapuje się na FA(3) pole po polu, ale nie bezstratnie w obu kierunkach: FA(3) ma pola, których brakuje w EN 16931 (znaczniki JST/GV, adnotacja o podzielonej płatności, krajowe kody stawek), a kody kategorii VAT z EN 16931 są zastąpione listą stawek P_12.

Pojęcie fakturoweTermin EN 16931Pole FA(3)
Numer fakturyBT-1Fa/P_2
Data wystawieniaBT-2Fa/P_1 (a dla faktur online rozstrzyga data przesłania)
Rodzaj fakturyBT-3 (380, 381, 386…)Fa/RodzajFaktury (VAT, KOR, ZAL, ROZ, UPR, KOR_ZAL, KOR_ROZ)
WalutaBT-5Fa/KodWaluty
Identyfikator VAT sprzedawcyBT-31Podmiot1/DaneIdentyfikacyjne/NIP
Identyfikator VAT nabywcyBT-48Podmiot2/DaneIdentyfikacyjne/NIP lub NrVatUE + KodKraju
Data dostawyBT-72Fa/P_6, FaWiersz/P_6A lub OkresFa
Termin płatnościBT-9Fa/Platnosc/TerminPlatnosci/Termin
Nazwa pozycji, ilość, jednostka, cena nettoBT-153, BT-129, BT-130, BT-146FaWiersz/P_7, P_8B, P_8A, P_9A
Stawka i kategoria VAT pozycjiBT-152, BT-151FaWiersz/P_12 (kod stawki niesie obie informacje)
Podsumowanie VAT według stawekBG-23Fa/P_13_x, P_14_x
Kwota należnościBT-115Fa/P_15
Faktura poprzedzająca (korekta)BG-3Fa/DaneFaKorygowanej z numerem KSeF faktury pierwotnej, jeśli go posiada

Dwie reguły mapowania zasługują na uwagę. Pozycja z odwrotnym obciążeniem jest kodowana jako oo z adnotacją w P_18; wewnątrzwspólnotowa dostawa to 0 WDT, eksport 0 EX, krajowa stawka zerowa 0 KR — sprowadzenie ich do „0 %" gubi to, czego potrzebuje księgowy nabywcy. A faktura korygująca zawiera stan po korekcie w każdym polu, ale różnice w podstawach, podatku i sumie — inaczej niż konwencja noty kredytowej w EN 16931. Zob. formaty e-faktur oraz EN 16931.

Walidacja: co sprawdza XSD, a co sprawdza KSeF

Przejście XSD jest konieczne, ale niewystarczające: KSeF sprawdza wzór i uprawnienia nadawcy przed nadaniem numeru; poprawność fiskalna jest odpowiedzialnością wystawcy.

XSD wymusza kolejność elementów, krotność, typy danych, długości pól i zamknięte listy kodów. KSeF dodaje sprawdzenie wersji schematu dla sesji oraz sprawdzenie uprawnień. Nie weryfikuje statusu nabywcy w wykazie podatników VAT, nie odrzuca faktury zaadresowanej do niewłaściwego klienta i nie przelicza arytmetyki — Pytania i odpowiedzi Ministerstwa wskazują, że błędna suma w przyjętej fakturze jest naprawiana fakturą korygującą, natomiast odrzucony plik poprawia się i przesyła ponownie, bo nigdy nie stał się fakturą. Trzydzieści kilka przykładów w broszurze to praktyczne odniesienie dla przypadków brzegowych.

Jak KRONENWERK to obsługuje

Obsługiwane z ograniczeniami. KRONENWERK generuje XML FA(3) (wersja 1-0E) dla faktur, faktur korygujących i faktur zaliczkowych na podstawie danych faktury i rozstrzygnięcia podatkowego, waliduje plik względem XSD Ministerstwa i własnych kontroli przy wystawieniu oraz wczytuje przychodzące pliki FA(3) jako faktury zakupowe. Trzy kody stawki zerowej, odwrotne obciążenie i zwolnienie są prowadzone jako odrębne kategorie, a kwoty w koszykach są obliczane z pozycji, a nie wpisywane. Przesyłanie do KSeF jest Jeszcze niegotowe: moduł KSeF 2.0 nie był używany z systemem produkcyjnym, a KRONENWERK nie sprzedaje subskrypcji polskim firmom, dopóki to nie nastąpi — zob. centrum Polska oraz KSeF 2.0. Element załącznika, warianty FA_PEF i znaczniki JST/grup VAT nie są generowane. Programiści mogą porównać powyższe mapowanie z przewodnikiem integracji KSeF; bezpłatne narzędzie do sprawdzania e-faktur waliduje pliki względem reguł danego kraju bez ich zapisywania.

Najczęściej zadawane pytania

Czy FA(3) jest zgodna z EN 16931 lub Peppol BIS?

Nie. FA(3) to schemat krajowy; plik XRechnung, Factur-X lub Peppol BIS trzeba na nią zmapować, a część informacji (krajowe kody stawek, znacznik podzielonej płatności) nie ma odpowiednika w EN 16931.

Czy nadal mogę wysyłać faktury FA(2)?

Nie do środowiska produkcyjnego ani demo: od 1 lutego 2026 r. przyjmują one wyłącznie FA(3), także dla korekt starszych faktur FA(2). Jedynie środowisko testowe nadal przyjmuje FA(2).

Które części FA(3) są opcjonalne?

Rozliczenie, Platnosc, WarunkiTransakcji, Stopka i Zalacznik są fakultatywne; wypełnienie jednej z nich może uczynić pola wewnątrz niej obowiązkowymi.

Co oznacza „0 WDT" w P_12?

Stawkę zerową dla wewnątrzwspólnotowej dostawy towarów; „0 EX" to stawka zerowa dla eksportu, a „0 KR" — krajowa stawka zerowa. Są to odrębne kody i nie wolno ich łączyć.

Źródła

  1. Ministry of Finance (Poland) — Broszura informacyjna dotycząca struktury logicznej FA(3) (March 2026) odczytano
  2. Ministry of Finance (Poland) — Pytania i odpowiedzi KSeF 2.0 (section: Rozwiązania informatyczne, integracje i struktura KSeF) odczytano
  3. Ministry of Finance (Poland) — Środowiska KSeF API 2.0 (accepted schemas per environment) odczytano
  4. Ministry of Finance (Poland) — Sesja interaktywna (schema selection when opening a session) odczytano

Jak KRONENWERK to obsługuje

E-fakturowanie w produkcie Kraje

Czytaj dalej