W skrócie
Faktura ustrukturyzowana FA(3) to plik XML zgodny ze schematem MF (namespace crd.gov.pl/wzor/2025/06/25/13775/). Od 1 lutego 2026 obowiązuje duże firmy (powyżej 200 mln zł sprzedaży 2024), od 1 kwietnia 2026 — wszystkich podatników VAT. Schemat definiuje ponad 300 elementów, ale typowa faktura używa 30-50. Nieprawidłowa struktura lub różnica sumy o 1 grosz oznacza odrzucenie przez KSeF. Pełny schemat XSD pobierzesz z ksef.podatki.gov.pl.
Od 1 lutego 2026 każda faktura wysłana do KSeF musi być zgodna ze schematem FA(3). Faktura ustrukturyzowana to nie PDF ani skan. To plik XML o ściśle określonej strukturze, który Twój system księgowy musi umieć wygenerować i przetworzyć.
Faktura ustrukturyzowana vs tradycyjna faktura
Tradycyjna faktura to dokument wizualny. Może być w PDF, na papierze, w dowolnym układzie graficznym. Człowiek ją czyta, program OCR próbuje rozpoznać tekst. Faktura ustrukturyzowana FA(3) działa inaczej. To plik XML z określonymi polami w określonej kolejności. Każda wartość ma swoje miejsce. Nie ma miejsca na interpretację.
Różnica jest jak między zdjęciem paragonu a rekordem w bazie danych. Zdjęcie wymaga rozpoznawania. Rekord w bazie można od razu przetworzyć, zaimportować, zaksięgować.
Dla księgowego oznacza to koniec przepisywania danych z faktur. Koniec sprawdzania, czy OCR poprawnie rozpoznał kwoty. Koniec niejasności, czy data to 01.02 czy 02.01. Dane w fakturze ustrukturyzowanej są jednoznaczne i natychmiast gotowe do przetworzenia przez system.
Struktura pliku FA(3)
Schemat FA(3) publikuje Ministerstwo Finansów. Oficjalna nazwa techniczna to http://crd.gov.pl/wzor/2025/06/25/13775/. Plik XML składa się z kilku głównych sekcji:
- Naglowek – informacje o rodzaju faktury, dacie wystawienia, walucie
- Podmiot1 – dane sprzedawcy (NIP, nazwa, adres)
- Podmiot2 – dane nabywcy
- Fa – szczegóły faktury: pozycje, stawki VAT, kwoty, forma płatności
- Stopka – opcjonalne informacje dodatkowe
Każda sekcja ma dziesiątki pól. Niektóre są obowiązkowe, inne opcjonalne. Błąd w jednym polu oznacza odrzucenie całej faktury przez KSeF. Łącznie schemat FA(3) definiuje ponad 300 elementów i atrybutów, choć typowa faktura sprzedaży wykorzystuje około 30-50 z nich.
Wymagane pola w fakturze FA(3)
KSeF waliduje każdą fakturę przed przyjęciem. Jeśli brakuje wymaganego pola lub format jest niepoprawny, faktura zostaje odrzucona. Oto najczęściej sprawdzane elementy:
Dane identyfikacyjne
- NIP sprzedawcy – 10 cyfr, bez kresek i spacji
- NIP nabywcy – wymagany dla transakcji B2B
- Numer faktury – unikalny w ramach roku, zgodny z wewnętrzną numeracją
- Data wystawienia – format YYYY-MM-DD
- Data sprzedaży – może być zakresem dat
Pozycje faktury
Każda pozycja (element FaWiersz) wymaga:
- Nazwy towaru lub usługi
- Jednostki miary (szt., kg, m, godz., itp.)
- Ilości
- Ceny jednostkowej netto
- Wartości netto
- Stawki VAT
- Kwoty VAT
Podsumowanie VAT
Sekcja FaPodsumowanie zawiera sumy z rozbiciem na stawki VAT. KSeF przelicza wartości i sprawdza zgodność. Jeśli suma pozycji nie zgadza się z podsumowaniem, faktura zostaje odrzucona.
Pola opcjonalne
Oprócz pól obowiązkowych FA(3) przewiduje dziesiątki pól opcjonalnych. Możesz dodać:
- Numer rachunku bankowego sprzedawcy
- Termin płatności
- Informacje o rabacie
- Numer zamówienia lub umowy
- Kod PKWiU dla usługi
- Kod CN dla towaru (handel zagraniczny)
- Oznaczenie mechanizmu podzielonej płatności (MPP) – obowiązkowe na fakturze, gdy transakcja podlega obowiązkowemu split payment (kwota ≥ 15 000 zł brutto, towary z załącznika 15 do ustawy VAT)
Te pola nie są wymagane do przyjęcia faktury przez KSeF, ale mogą wynikać z przepisów podatkowych lub ustaleń z kontrahentem.
Uwaga o GTU: oznaczenia GTU (GTU_01 do GTU_13) nie są polem faktury FA(3). GTU raportujesz w JPK_V7, nie na samej fakturze. Schemat FA(3) nie zawiera dedykowanego pola dla GTU – kategoryzacja pozycji odbywa się po stronie JPK.
Uwaga o MPP w JPK: znacznik "MPP" w ewidencji JPK_V7 został zniesiony od 1 lipca 2021. Na fakturze nadal obowiązuje adnotacja "mechanizm podzielonej płatności" dla transakcji objętych obowiązkowym split payment, ale nie raportujesz już tego jako flagi w JPK.
Różnice między FA(2) a FA(3)
Poprzednia wersja schematu, FA(2), obowiązywała do połowy 2025 roku. FA(3) wprowadza zmiany, które musisz uwzględnić w swoim oprogramowaniu.
| Element | FA(2) | FA(3) |
|---|---|---|
| Namespace XML | crd.gov.pl/.../12648/ | crd.gov.pl/.../13775/ |
| Obsługa korekt | Podstawowa | Rozszerzona o korekty zbiorcze |
| Pola adresowe | Struktura krajowa | Ujednolicona struktura UE |
| MPP (split payment) | Pole opisowe | Dedykowany znacznik boolean |
| Walidacja NIP UE | Podstawowa | Walidacja VIES |
Jeśli Twój system generuje faktury w formacie FA(2), musisz zaktualizować generator przed 1 lutego 2026. KSeF nie przyjmie faktur w starym formacie.
Jak wygląda faktura FA(3) w praktyce
Przykładowa faktura sprzedaży w formacie FA(3) ma około 2-5 KB dla prostej transakcji z kilkoma pozycjami. Oto uproszczony fragment struktury:
<Faktura xmlns="http://crd.gov.pl/wzor/2025/06/25/13775/">
<Naglowek>
<KodFormularza kodSystemowy="FA (3)">FA</KodFormularza>
<WariantFormularza>3</WariantFormularza>
<DataWytworzeniaFa>2026-01-05</DataWytworzeniaFa>
</Naglowek>
<Podmiot1>
<NIP>1234567890</NIP>
<Nazwa>Przykładowa Sp. z o.o.</Nazwa>
...
</Podmiot1>
<Fa>
<P_1>2026-01-05</P_1>
<P_2>FV/2026/001</P_2>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>Usługa konsultingowa</P_7>
<P_8A>godz.</P_8A>
<P_8B>10</P_8B>
<P_9A>200.00</P_9A>
<P_11>2000.00</P_11>
<P_12>23</P_12>
</FaWiersz>
...
</Fa>
</Faktura> Nazwy pól (P_1, P_7, P_11) odpowiadają polom z deklaracji VAT. P_1 to data wystawienia, P_7 to nazwa towaru/usługi, P_11 to wartość netto. Ta numeracja jest spójna w całym systemie podatkowym.
Pełna dokumentacja schematu FA(3) dostępna jest na stronie Ministerstwa Finansów. Schemat XSD możesz pobrać i użyć do walidacji faktur przed wysłaniem. Każda aktualizacja schematu publikowana jest z wyprzedzeniem, zwykle 3-6 miesięcy przed wejściem w życie.
Walidacja faktury przed wysłaniem do KSeF
Zanim wyślesz fakturę do KSeF, sprawdź ją lokalnie. Błąd walidacji oznacza odrzucenie i konieczność poprawki. Oto najczęstsze problemy:
Błędy strukturalne
- Niepoprawny namespace – system wciąż używa FA(2)
- Brakujące pola obowiązkowe – np. brak NIP nabywcy w B2B
- Niepoprawna kolejność elementów – XML wymaga określonej sekwencji
Błędy rachunkowe
- Suma pozycji ≠ podsumowanie – różnica nawet o 1 grosz
- Błędna stawka VAT – np. 22% zamiast 23%
- Niepoprawne zaokrąglenia – standard to 2 miejsca po przecinku
Błędy danych
- NIP z kreskami – powinien być ciągiem 10 cyfr
- Data w złym formacie – wymagany YYYY-MM-DD
- Numer faktury z niedozwolonymi znakami – tylko litery, cyfry, /, -
Większość programów księgowych ma wbudowaną walidację. Jeśli tworzysz własną integrację, użyj schematu XSD udostępnionego przez MF do walidacji przed wysłaniem.
Proces wysyłania faktury do KSeF
Wysłanie faktury ustrukturyzowanej do KSeF to proces wieloetapowy:
- Generowanie XML – Twój system tworzy plik zgodny z FA(3)
- Walidacja lokalna – sprawdzenie schematu XSD
- Autoryzacja – uzyskanie tokena dostępu do KSeF
- Wysłanie – POST do API KSeF
- Potwierdzenie – KSeF zwraca numer KSeF faktury
- Archiwizacja – zapisanie numeru KSeF przy fakturze
Cały proces dla jednej faktury trwa 1-3 sekundy. Przy masowym wysyłaniu (np. 1000 faktur) system kolejkuje i przetwarza partiami.
API KSeF obsługuje również wysyłanie wsadowe. Możesz przesłać paczkę do 100 faktur w jednym żądaniu HTTP. System przetwarza je sekwencyjnie i zwraca status dla każdej faktury osobno. Jeśli jedna faktura zostanie odrzucona, pozostałe nadal są przetwarzane.
Numer KSeF a numer faktury
Po przyjęciu faktury KSeF nadaje jej unikalny numer KSeF. To nie jest to samo co Twój numer faktury. Masz teraz dwa identyfikatory:
- Numer własny – np. FV/2026/00123 (Twoja numeracja)
- Numer KSeF – np. 9999999999-20260215-ABC123-DEF456-X7 (35 znaków: NIP 10 cyfr, data 8 cyfr, identyfikator 6 znaków, skrót 6 znaków, suma kontrolna 2 znaki)
W komunikacji z kontrahentami i urzędem używasz numeru KSeF. Numer własny służy do wewnętrznej identyfikacji. Oba numery musisz przechowywać i móc powiązać.
Numer KSeF jest globalnie unikalny i niezmienny. Składa się z NIP wystawcy, daty i losowego identyfikatora. Dzięki temu numer jednoznacznie wskazuje na konkretną fakturę w całym systemie. Urząd skarbowy może w kilka sekund pobrać dowolną fakturę znając tylko jej numer KSeF.
Odbiór faktur z KSeF
Jako nabywca nie musisz już czekać na email z fakturą. Faktury od Twoich dostawców pojawiają się automatycznie w KSeF. Możesz je pobrać przez:
- Interfejs webowy – logowanie na ksef.podatki.gov.pl
- API – automatyczne pobieranie do systemu księgowego
- Aplikację Ministerstwa – e-mikrofirma
Dla biura rachunkowego obsługującego wielu klientów jedyne praktyczne rozwiązanie to integracja przez API. Ręczne logowanie się na dziesiątki kont jest niewykonalne. Więcej o obsłudze wielu klientów znajdziesz w artykule KSeF dla biur rachunkowych.
Przechowywanie faktur ustrukturyzowanych
Faktury ustrukturyzowane musisz przechowywać przez 5 lat. Masz dwie opcje:
Przechowywanie w KSeF
KSeF archiwizuje wszystkie faktury przez 10 lat. Możesz w każdej chwili pobrać historyczną fakturę. To upraszcza archiwizację, ale wymaga stałego dostępu do internetu.
Przechowywanie lokalne
Pobierasz faktury z KSeF i zapisujesz we własnym systemie. Masz kopię offline, ale musisz zadbać o backup i bezpieczeństwo danych.
Rekomendowane podejście: synchronizuj faktury z KSeF do własnej bazy, traktując KSeF jako źródło prawdy, a lokalną kopię jako cache do szybkiego dostępu.
Obsługa korekt w FA(3)
Korekta faktury ustrukturyzowanej to osobny dokument XML ze wskazaniem na fakturę pierwotną. FA(3) obsługuje:
- Korekta pojedyncza – odnosi się do jednej faktury
- Korekta zbiorcza – może korygować wiele faktur jednym dokumentem
Nota korygująca została zniesiona w KSeF 2.0. W systemie ustrukturyzowanym nabywca nie może już wystawić noty korygującej dla faktury w KSeF – wszelkie błędy (również formalne, typu literówka w nazwie kontrahenta) poprawia sprzedawca, wystawiając fakturę korygującą. Jeśli potrzebujesz zmienić dane formalne, poproś wystawcę o korektę.
Każda korekta zawiera pole PrzyczynaKorekty, które jest obowiązkowe. KSeF automatycznie wiąże korektę z dokumentem źródłowym.
W przypadku korekty zbiorczej możesz skorygować np. ceny dla jednego kontrahenta za cały miesiąc jednym dokumentem. To upraszcza obsługę rabatów okresowych i rozliczeń zbiorczych. System wymaga podania numerów KSeF wszystkich korygowanych faktur.
Autoryzacja dostępu do KSeF
Aby wysyłać i pobierać faktury przez API, musisz się uwierzytelnić w KSeF. Do końca 2026 roku masz dwie opcje:
- Token autoryzacyjny – generujesz go w portalu KSeF, działa do 31 grudnia 2026
- Certyfikat KSeF – bezpłatny certyfikat wydawany przez Ministerstwo Finansów w Module Certyfikatów Użytkownika (mcu.mf.gov.pl), ważność 2 lata, od 1 stycznia 2027 wymagany do uwierzytelniania w KSeF
- Certyfikat kwalifikowany / pieczęć eIDAS – komercyjny podpis elektroniczny (Szafir, Certum, EuroCert), płatny (ok. 300–1500 zł/rok), akceptowany jako alternatywa
Token jest najprostszy w użyciu, ale przestaje działać z końcem 2026. Certyfikat KSeF jest darmowy i to on będzie podstawową metodą uwierzytelniania od 1 stycznia 2027. Certyfikat kwalifikowany/pieczęć eIDAS to rozwiązanie komercyjne — kupujesz je wtedy, gdy i tak używasz podpisu kwalifikowanego do innych spraw. Moduł Certyfikatów Użytkownika (MCU) działa od 1 listopada 2025. Szczegółową instrukcję generowania tokena znajdziesz w artykule Jak wygenerować token KSeF.
Terminy i obowiązki
Obowiązek wystawiania faktur ustrukturyzowanych wchodzi w życie etapami:
- 1 lutego 2026 – firmy z sprzedażą powyżej 200 mln PLN w 2024 roku (tzw. duzi podatnicy)
- 1 kwietnia 2026 – wszyscy pozostali podatnicy VAT (czynni i zwolnieni)
- Wyłączenie przejściowe do 31 grudnia 2026 – podatnicy, których łączna miesięczna sprzedaż B2B (wartość faktur wraz z kwotą podatku) nie przekracza 10 000 zł brutto, mogą wystawiać faktury poza KSeF
- 1 stycznia 2027 – koniec wyłączenia; wszyscy podatnicy VAT wystawiają faktury w KSeF bez względu na skalę
Wyłączenie podmiotów o sprzedaży do 10 000 zł brutto miesięcznie nie jest "osobną grupą wdrożeniową" — to przejściowa ulga do końca 2026 roku. Od 1 stycznia 2027 obejmuje ich obowiązek KSeF tak samo jak wszystkich innych podatników (źródło: ksef.podatki.gov.pl).
W 2026 roku nie ma kar za błędy. Od 1 stycznia 2027 zaczynają obowiązywać sankcje za niewystawianie faktur w KSeF. Więcej o terminach i harmonogramie wdrożenia znajdziesz w artykule Terminy wdrożenia KSeF 2026.
Checklist: przygotowanie do FA(3)
Sprawdź, czy Twój system jest gotowy na faktury ustrukturyzowane:
- Program księgowy obsługuje schemat FA(3) (nie starszy FA(2))
- Generator XML tworzy poprawną strukturę z właściwym namespace
- Walidacja lokalna sprawdza fakturę przed wysłaniem
- Integracja z API KSeF (autoryzacja tokenem lub certyfikatem)
- Przechowywanie numerów KSeF przy fakturach
- Mechanizm obsługi błędów i ponownego wysyłania
- Pobieranie faktur zakupowych z KSeF
- Obsługa korekt zgodna z FA(3)
Automatyzacja przetwarzania faktur
Manualne przetwarzanie faktur ustrukturyzowanych nie ma sensu. Skoro dane są już w formacie maszynowym, kolejnym logicznym krokiem jest automatyzacja.
System może automatycznie: pobierać nowe faktury z KSeF, kategoryzować je według kontrahenta i typu wydatku, przygotowywać do dekretacji, przekazywać do zatwierdzenia. Księgowy weryfikuje i zatwierdza, zamiast ręcznie przepisywać dane.
Przy 500+ fakturach miesięcznie różnica między manualnym a automatycznym przetwarzaniem to dziesiątki godzin pracy. Skoro KSeF wymusza standaryzację danych, automatyzacja staje się naturalna i opłacalna.
Najczęściej zadawane pytania
Czym różni się faktura ustrukturyzowana FA(3) od PDF?
Faktura FA(3) to plik XML o ściśle określonej strukturze, zgodny ze schematem opublikowanym przez MF (namespace http://crd.gov.pl/wzor/2025/06/25/13775/). PDF to dokument wizualny wymagający OCR, a FA(3) ma każdą wartość w osobnym polu, gotową do natychmiastowego przetworzenia przez program księgowy. Od 1 lutego 2026 KSeF przyjmuje wyłącznie FA(3) — nie PDF, nie skany, nie arkusze Excel.
Jakie pola są obowiązkowe w fakturze FA(3)?
Obowiązkowe są: NIP sprzedawcy (10 cyfr bez kresek), NIP nabywcy dla B2B, numer własny faktury (pole P_2), data wystawienia P_1 w formacie YYYY-MM-DD, data sprzedaży, oraz dla każdej pozycji FaWiersz: nazwa, jednostka miary, ilość, cena netto, wartość netto, stawka VAT i kwota VAT. Sekcja FaPodsumowanie z sumami per stawka musi się zgadzać co do grosza z sumą pozycji. Pełna lista pól jest w schemacie XSD na ksef.podatki.gov.pl.
Jakie są różnice między FA(2) a FA(3)?
FA(3) ma nowy namespace (crd.gov.pl/wzor/2025/06/25/13775/ zamiast 12648/), rozszerzoną obsługę korekt zbiorczych, ujednoliconą strukturę adresów zgodną z UE, dedykowany boolean dla MPP (zamiast pola opisowego) i walidację NIP UE przez VIES. Od 1 lutego 2026 KSeF nie przyjmuje już faktur w formacie FA(2) — musisz zaktualizować generator XML w swoim systemie księgowym.
Czy FA(3) obsługuje załączniki do faktury?
Schemat FA(3) nie zawiera binarnych załączników (PDF, JPG, skany) w pliku XML. Dodatkowe dokumenty — umowy, specyfikacje, dokumentację transportową — przekazujesz kontrahentowi osobnym kanałem (email, portal B2B). W samym FA(3) możesz dodać opisowe pola opcjonalne: numer zamówienia, umowy, kod PKWiU, kod CN. Linki do załączników umieszczasz w polach tekstowych typu uwagi.
Co to jest kod GTU i czy jest częścią FA(3)?
GTU (GTU_01 do GTU_13) to oznaczenia grup towarów i usług wymagane w JPK_V7, nie w samej fakturze. Schemat FA(3) nie zawiera dedykowanego pola dla GTU. Kategoryzację pozycji wykonujesz w programie księgowym podczas generowania JPK_V7(3). Znacznik MPP w JPK został zniesiony 1 lipca 2021, ale adnotacja „mechanizm podzielonej płatności" na fakturze nadal obowiązuje przy kwotach powyżej 15 000 zł brutto z załącznika 15 do ustawy VAT.
Jak zwalidować fakturę FA(3) przed wysłaniem do KSeF?
Pobierz schemat XSD z ksef.podatki.gov.pl i użyj go do walidacji lokalnej (np. xmllint, biblioteka XML w Twoim języku programowania). Najczęstsze błędy: niepoprawny namespace (wciąż FA(2)), brak pola NIP nabywcy w B2B, niepoprawna kolejność elementów, suma pozycji różniąca się od FaPodsumowanie nawet o 1 grosz, NIP z kreskami zamiast 10 cyfr, data w innym formacie niż YYYY-MM-DD. KSeF odrzuca fakturę przy dowolnym z tych błędów.
Źródła urzędowe
- ksef.podatki.gov.pl — portal KSeF z aktualnym schematem XSD FA(3), dokumentacją API i komunikatami o wersjach
- podatki.gov.pl — KSeF — wytyczne MF, wyjaśnienia i FAQ dla podatników
- MF — VAT — ogólne informacje o podatku VAT i obowiązkach fakturowych
- isap.sejm.gov.pl — pełny tekst ustawy o VAT (Dz.U. 2025 poz. 1203 — ustawa KSeF)