taxmachine.pl

FA(3) — struktura logiczna e-faktury KSeF (analiza schematu XSD)

Szczegółowa analiza struktury logicznej FA(3) — schematu e-faktury obowiązującego w Krajowym Systemie e-Faktur od 1 lutego 2026 r. Pełen opis wszystkich węzłów: Naglowek, Podmiot1/2/3/PU, Fa (z adnotacjami P_16-P_22, GTU_01-13, procedurami, MPP, marżą), FaWiersz, Rozliczenie, Platnosc, WarunkiTransakcji, Zamowienie, Stopka, Zalacznik. Słowniki: stawki VAT, formy płatności, role podmiotów, kody walut. Z odniesieniami do implementacji w TaxMachine.

Opublikowano

FA(3) to obowiązująca od 1 lutego 2026 r. struktura logiczna e-faktury wymieniana przez Krajowy System e-Faktur (KSeF). Definiuje ją plik XSD opublikowany przez Ministerstwo Finansów na Centralnym Repozytorium Wzorów Dokumentów (CRWD) pod adresem http://crd.gov.pl/wzor/2025/06/25/13775/. Schemat zastąpił FA(2) i wprowadza szereg nowych pól (m.in. obsługa grup VAT, jednostek JST, podmiotów upoważnionych, załączników strukturalnych, identyfikatora płatności IPKSeF).

Ten artykuł stanowi systematyczne omówienie wszystkich węzłów struktury — z myślą o programistach integrujących KSeF, księgowych weryfikujących wystawiane faktury i administratorach systemów księgowych. Bazuje na bezpośredniej analizie pliku FA(3).xsd (3949 linii) oraz na broszurze informacyjnej MF z 4 marca 2026 r.

TaxMachine wystawia faktury w schemacie FA(3) automatycznie — pełna integracja z KSeF, znaczniki MPP/GTU/procedur, korekty, faktury zaliczkowe, załączniki strukturalne. Sekcja „FA(3) w TaxMachine" zawiera mapowanie między polami programu a węzłami XSD.

Metadane techniczne schematu

ParametrWartość
Target namespacehttp://crd.gov.pl/wzor/2025/06/25/13775/
Data wzoru25 czerwca 2025 r. (/2025/06/25/13775/)
Wersja schematu1-0E (atrybut wersjaSchemy)
Kod systemowyFA (3) (atrybut kodSystemowy)
WariantFormularza3
Kodowanie XMLUTF-8
Format datISO 8601 — YYYY-MM-DD (xsd:date) lub YYYY-MM-DDThh:mm:ssZ (xsd:dateTime, czas UTC)
Format kwotxsd:decimal, separator dziesiętny kropka, do 18 cyfr (2 po przecinku) dla kwot, do 22 (8 po przecinku) dla kursów
Język dokumentacjixml:lang="pl"
Element root<Faktura>

Importowany schemat

Schemat importuje definicje typów wspólnych ze schematu StrukturyDanych_v10-0E.xsd z namespace http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2022/01/05/eD/DefinicjeTypy/ (prefiks etd). Wykorzystywane typy:

  • etd:TKodKraju — kody krajów ISO 3166 (rozszerzona lista poza UE),
  • etd:TNrNIP — walidacja polskiego NIP-u,
  • etd:TNrIdentyfikacjiPodatkowej — uniwersalny identyfikator podatkowy,
  • etd:TAdresEmail — walidowany adres e-mail,
  • etd:TWybor1 — typ wyboru o wartości tylko „1" (znacznik „tak"),
  • etd:TWybor1_2 — typ wyboru o wartościach „1" (tak) lub „2" (nie),
  • etd:TNrKRS, etd:TNrREGON — numery rejestrowe,
  • etd:TTekstowy — długi tekst,
  • etd:TData, etd:TDataCzas — typy bazowe dat,
  • etd:TNaturalny — liczby naturalne.

Struktura główna dokumentu

Element root <Faktura> zawiera w określonej kolejności:

<Faktura>
  ├── <Naglowek>                          (obowiązkowy)
  ├── <Podmiot1>                          (obowiązkowy — sprzedawca)
  ├── <Podmiot2>                          (obowiązkowy — nabywca)
  ├── <Podmiot3>            minOccurs=0   maxOccurs=100  (dodatkowi)
  ├── <PodmiotUpowazniony>  minOccurs=0   maxOccurs=1
  ├── <Fa>                                (obowiązkowy — sama faktura)
  ├── <Stopka>              minOccurs=0
  └── <Zalacznik>           minOccurs=0

Naglowek (TNaglowek)

Identyfikuje schemat i moment wytworzenia dokumentu:

PoleTypObowiąz.Opis
KodFormularzaenum FA + atrybuty fixedkodSystemowy="FA (3)" wersjaSchemy="1-0E"
WariantFormularzaxsd:byte = 3Stała wartość 3
DataWytworzeniaFaxsd:dateTimeUTC, zakres 2025-09-01T00:00:00Z2050-01-01T23:59:59Z
SystemInfoTZnakowy (256 zn.)Nazwa systemu, który wystawił fakturę

DataWytworzeniaFaP_1. Pierwsza to moment fizyczny wytworzenia XML-a (musi być w UTC, z dokładnością do sekundy); druga to data wystawienia faktury w rozumieniu art. 106e ust. 1 pkt 1 ustawy o VAT (data kalendarzowa).

Podstawowe typy danych

Schemat definiuje własne typy bazowe, używane wielokrotnie:

TypBazowyRestrykcjeZastosowanie
TKwotowyxsd:decimaltotalDigits 18, fractionDigits 2Wszystkie kwoty na fakturze (max 9 999 999 999 999 999,99)
TKwotowy2xsd:decimaltotalDigits 22, fractionDigits 8Ceny jednostkowe, dokładność do 8 miejsc
TIloscixsd:decimaltotalDigits 22, fractionDigits 6Ilości, kursy walut (do 6 miejsc po przecinku)
TProcentowyxsd:decimaltotalDigits 9, fractionDigits 6, 0–100Udział procentowy, stawka XII rozdziału 6a
TNaturalnyetd:TNaturalny> 0Numery wierszy
TZnakowyxsd:token1–256 zn.Tekst krótki
TZnakowy2xsd:token0–256 zn.Tekst krótki dopuszczający pusty
TZnakowy20xsd:token1–20 zn.Krótkie kody (GTIN)
TZnakowy50xsd:token1–50 zn.Indeksy, klasyfikacje
TZnakowy512xsd:token1–512 zn.Adresy, nazwy długie, opisy pozycji
TDataetd:TData2016-07-01 → 2050-01-01Daty (po wprowadzeniu JPK_VAT)
TDataTetd:TData2006-01-01 → 2050-01-01Daty transakcyjne
TDataUetd:TData1990-01-01 → 2050-01-01Daty umów (historyczne)
TDataCzasetd:TDataCzas2021-10-01T00:00:00Z → 2050-01-01T23:59:59ZDatę-czas (UTC)
TNumerKSeFregexwzorzec NIP + data + 12 hexNumer faktury w KSeF
TNrRBxsd:string10–34 zn.Numer rachunku
SWIFT_Typeregex[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?Kod SWIFT/BIC (8 lub 11 zn.)
TGLNxsd:token1–13 zn.Globalny Numer Lokalizacyjny
TNrVatUEregex`(\d[A-Z]
TNIPIdWewregexNIP-XXXXXNIP + identyfikator wewnętrzny (5 cyfr)

Format numeru KSeF (TNumerKSeF)

Pattern:

([1-9]((\d[1-9])|([1-9]\d))\d{7}  ← NIP wystawcy 10 cyfr
| M\d{9}                            ← lub identyfikator masowy
| [A-Z]{3}\d{7})                    ← lub kod 3-liter + 7 cyfr
-(YYYY)(MM)(DD)                     ← data wystawienia
-([0-9A-F]{6})-?([0-9A-F]{6})       ← część kontrolna 1 + 2
-([0-9A-F]{2})                      ← suma kontrolna

Przykład: 1234567890-20260201-FF00AA-BB1122-33.

Podmiot1 — sprzedawca

Sprzedawca w FA(3) to zawsze podatnik polski (PrefiksPodatnika ma fixed wartość PL). Sekcja Podmiot1 zawiera:

PoleTypObowiąz.Opis
PrefiksPodatnikaTKodyKrajowUE = PL fixedTylko gdy istotne dla VAT UE
NrEORITZnakowyNumer EORI sprzedawcy
DaneIdentyfikacyjneTPodmiot1NIP + Nazwa
AdresTAdresAdres siedziby
AdresKorespTAdresAdres korespondencyjny
DaneKontaktowechoice– maxOccurs=3Email + Telefon
StatusInfoPodatnikaTStatusInfoPodatnikaStatus szczególny (likwidacja itp.)

TStatusInfoPodatnika

WartośćStatus
1Podatnik w stanie likwidacji
2Podatnik w trakcie postępowania restrukturyzacyjnego
3Podatnik w stanie upadłości
4Przedsiębiorstwo w spadku

Podmiot2 — nabywca

Nabywca może mieć różne identyfikatory (choice — wybór jednej opcji):

OpcjaPolaZastosowanie
ANIPPolski podatnik VAT
BKodUE + NrVatUEKontrahent UE (WDT)
CKodKraju + NrIDKontrahent spoza UE z identyfikatorem podatkowym
DBrakID = 1Konsument bez NIP (faktura B2C)

Dodatkowe pola Podmiot2:

PoleTypOpis
NrEORITZnakowyNumer EORI nabywcy
Adres, AdresKorespTAdresAdres (opcjonalny dla faktur uproszczonych)
DaneKontaktowechoiceEmail + Telefon (max 3)
NrKlientaTZnakowyNumer klienta w systemie sprzedawcy
IDNabywcyTZnakowy50 max 32Klucz powiązania korekt
JST1 lub 2Znacznik jednostki podrzędnej JST — gdy 1, należy wypełnić Podmiot3 z rolą = 8
GV1 lub 2Znacznik członka grupy VAT — gdy 1, należy wypełnić Podmiot3 z rolą = 10

Pola JST i GVnowością FA(3). Wraz z odpowiednim wpisem w Podmiot3 umożliwiają udostępnianie faktury jednostce podrzędnej JST lub członkowi grupy VAT z pominięciem standardowego mechanizmu autoryzacji.

Podmiot3 — podmioty trzecie

Sekcja Podmiot3 (max 100 wystąpień) reprezentuje wszystkich pozostałych uczestników faktury — faktorów, odbiorców, dodatkowych nabywców itp. Struktura identyczna jak Podmiot2, plus pole IDWew (NIP + wewnętrzny identyfikator 5-cyfrowy) i:

TRolaPodmiotu3 (11 wartości)

WartośćRola
1Faktor — dane faktora przy cesji wierzytelności
2Odbiorca — jednostka wewnętrzna nabywcy (np. oddział)
3Podmiot pierwotny — podmiot przejęty/przekształcony
4Dodatkowy nabywca — kolejny nabywca poza Podmiot2
5Wystawca faktury — gdy fakturę wystawia inny podmiot w imieniu podatnika
6Dokonujący płatności — podmiot regulujący zobowiązanie w miejsce nabywcy
7JST — wystawca
8JST — odbiorca (powiązane z Podmiot2/JST=1)
9Członek grupy VAT — wystawca
10Członek grupy VAT — odbiorca (powiązane z Podmiot2/GV=1)
11Pracownik

Pole Rola można też zastąpić parą RolaInna = 1 + OpisRoli (dowolny tekst).

Pole Udzial (TProcentowy) określa procentowy udział dodatkowego nabywcy (rola 4). Różnica do 100% to udział Podmiot2.

PodmiotUpowazniony

Reprezentuje podmiot upoważniony przez ustawę do wystawienia faktury w cudzym imieniu:

TRolaPodmiotuUpowaznionego

WartośćRolaPodstawa
1Organ egzekucyjnyart. 106c pkt 1 ustawy o VAT
2Komornik sądowyart. 106c pkt 2 ustawy o VAT
3Przedstawiciel podatkowyart. 18a–18d ustawy o VAT

Dane kontaktowe podmiotu upoważnionego mają specjalne nazwy pól: EmailPU i TelefonPU (zamiast standardowych Email i Telefon).

Adres (TAdres)

Typ adresu używany w całym schemacie:

PoleTypObowiąz.Opis
KodKrajuetd:TKodKrajuISO 3166 (PL, DE, FR…)
AdresL1TZnakowy512Pierwsza linia (ulica + numer)
AdresL2TZnakowy512Druga linia (miejscowość + kod pocztowy)
GLNTGLN (13 zn.)Global Location Number

Uproszczenie FA(3). Schemat nie ma osobnych pól dla województwa, powiatu, gminy, kodu pocztowego, miejscowości, ulicy, numeru domu/lokalu (jak w starym formacie ePUAP). Cały adres mieści się w dwóch liniach po 512 znaków.

Element Fa — sama faktura

Najobszerniejszy węzeł, zawierający wszystkie dane finansowe i opisowe faktury.

Identyfikacja i daty

PoleTypObowiąz.Opis
KodWalutyTKodWalutyISO 4217 (~180 walut)
P_1TDataT (2006-01-01 →)Data wystawienia faktury
P_1MTZnakowyMiejsce wystawienia
P_2TZnakowyKolejny numer faktury
WZTZnakowy– maxOccurs=1000Numery dokumentów magazynowych (wydanie zewn.)

Data dokonania (choice — wybór jednej opcji)

OpcjaPolaZastosowanie
AP_6 (TDataT)Pojedyncza data dostawy / wykonania
BOkresFa (P_6_Od + P_6_Do)Okres rozliczeniowy (najem, media, usługi ciągłe — art. 19a ust. 3)

Jeżeli daty wykonania różnią się dla pozycji, należy podać P_6A w każdym wierszu zamiast P_6 w nagłówku.

Sumy podatku (P_13_, P_14_, P_15)

Każda kombinacja stawka × waluta ma osobne pola:

PoleStawkaOpis
P_13_1 / P_14_123% lub 22% (historyczna)Suma netto / VAT
P_14_1Wdla walut obcychKwota VAT po przeliczeniu na PLN
P_13_2 / P_14_2 / P_14_2W8% lub 7% (historyczna)
P_13_3 / P_14_3 / P_14_3W5%
P_13_4 / P_14_4 / P_14_4WRyczałt taksówek (4%)
P_13_5 / P_14_5Procedura XII rozdziału 6a (OSS)Stawka VAT od wartości dodanej
P_13_6_10% — sprzedaż krajowa
P_13_6_20% — WDT
P_13_6_30% — eksport
P_13_7Zwolnione (ZW)
P_13_8Dostawa poza terytorium kraju(poza P_13_5 i P_13_9)
P_13_9Usługi z art. 100 ust. 1 pkt 4 (UE)
P_13_10Odwrotne obciążenieart. 17 ust. 1 pkt 7 i 8 + inne
P_13_11Procedura marży (art. 119, 120)
P_15Należność ogółem (brutto)Suma do zapłaty
KursWalutyZTIlosciKurs dla art. 106b ust. 1 pkt 4 (zaliczka)

Adnotacje

Sekcja Adnotacje zawiera znaczniki tekstowe wymagane przez art. 106e ustawy o VAT:

PoleTypWartościTreść adnotacji
P_16TWybor1_21 / 2metoda kasowa" (art. 19a ust. 5 pkt 1 lub art. 21 ust. 1)
P_17TWybor1_21 / 2samofakturowanie" (art. 106d ust. 1)
P_18TWybor1_21 / 2odwrotne obciążenie"
P_18ATWybor1_21 / 2mechanizm podzielonej płatności" (faktura > 15 000 zł brutto + zał. 15)
P_23TWybor1_21 / 2Procedura uproszczona (art. 136 ust. 1)

Zwolnienie (choice)

OpcjaPolaZnaczenie
AP_19 = 1 + (P_19A lub P_19B lub P_19C)Faktura zwolniona; w P_19A — przepis ustawy, w P_19B — przepis dyrektywy 2006/112/WE, w P_19C — inna podstawa
BP_19N = 1Brak zwolnienia (faktura nie zwolniona)

NoweSrodkiTransportu (choice)

Sekcja dla WDT nowych środków transportu (samochodów, jachtów, samolotów). Wymagana zawsze — jako oświadczenie:

Opcja A — występuje WDT nowych środków:

  • P_22 = 1 — znacznik WDT NST
  • P_42_5 (1/2) — obowiązek z art. 42 ust. 5 ustawy
  • NowySrodekTransportu (max 10 000):
    • P_22A — data dopuszczenia do użytku
    • P_NrWierszaNST — numer wiersza FaWiersz
    • P_22BMK (marka), P_22BMD (model), P_22BK (kolor), P_22BNR (nr rej.), P_22BRP (rok produkcji)
    • Choice typu pojazdu (jeden z trzech):
      • P_22B (pojazd lądowy) — przebieg + opcjonalnie:
        • P_22B1 (VIN), P_22B2 (nr nadwozia), P_22B3 (nr podwozia), P_22B4 (nr ramy), P_22BT (typ)
      • P_22C (jednostka pływająca) — godziny robocze + opcjonalnie P_22C1 (nr kadłuba)
      • P_22D (statek powietrzny) — godziny robocze + opcjonalnie P_22D1 (nr fabryczny)

Opcja B — brak WDT NST:

  • P_22N = 1 — znacznik braku

PMarzy (choice)

Opcja A — procedura marży:

  • P_PMarzy = 1 — znacznik wystąpienia
  • Choice (jedna z czterech wariantów):
    • P_PMarzy_2 = 1 → „procedura marży dla biur podróży" (art. 119 ust. 1)
    • P_PMarzy_3_1 = 1 → „procedura marży — towary używane" (art. 120)
    • P_PMarzy_3_2 = 1 → „procedura marży — dzieła sztuki" (art. 120)
    • P_PMarzy_3_3 = 1 → „procedura marży — przedmioty kolekcjonerskie i antyki" (art. 120)

Opcja B — brak marży:

  • P_PMarzyN = 1

RodzajFaktury (TRodzajFaktury)

WartośćRodzajOpis
VATFaktura podstawowaStandardowa faktura sprzedażowa
KORFaktura korygującaKorekta faktury VAT
ZALFaktura zaliczkowaDokumentująca otrzymanie zaliczki przed dostawą (art. 106f ust. 4)
ROZFaktura rozliczeniowa/końcowaWystawiona po dostawie z rozliczeniem zaliczek (art. 106f ust. 3)
UPRFaktura uproszczonaFaktura do 450 zł brutto (art. 106e ust. 5 pkt 3)
KOR_ZALKorekta faktury zaliczkowej
KOR_ROZKorekta faktury rozliczeniowej

Uwaga. Schemat FA(3) nie definiuje typu KOR_UPR (korekta faktury uproszczonej). Korekta faktury uproszczonej powinna być wystawiona jako standardowa KOR.

Korekty — DaneFaKorygowanej

Sekwencja wymagana, gdy RodzajFaktury to KOR, KOR_ZAL lub KOR_ROZ:

PoleTypOpis
PrzyczynaKorektyTZnakowyTekst przyczyny
TypKorektyTTypKorektySkutek korekty w ewidencji VAT
DaneFaKorygowanejsekwencjamax 50 000 — dane faktur korygowanych
OkresFaKorygowanejTZnakowyOkres korekty zbiorczej (art. 106j ust. 3)
NrFaKorygowanyTZnakowyPoprawny numer faktury — gdy korekta dotyczy błędnego numeru
Podmiot1KsekwencjaDane sprzedawcy z faktury korygowanej (gdy się zmieniły)
Podmiot2Ksekwencja (max 101)Dane nabywcy z faktury korygowanej
P_15ZKTKwotowyKwota zapłaty przed korektą (dla KOR_ZAL/KOR_ROZ)
KursWalutyZKTIlosciKurs walutowy przed korektą

DaneFaKorygowanej — element wewnętrzny

PoleTypOpis
DataWystFaKorygowanejTDataTData wystawienia faktury korygowanej
NrFaKorygowanejTZnakowyNumer faktury korygowanej
Choice:
NrKSeF = 1 + NrKSeFFaKorygowanejTNumerKSeFKorygowana wystawiona w KSeF
NrKSeFN = 1TWybor1Korygowana wystawiona poza KSeF

TTypKorekty

WartośćSkutek w ewidencji VAT
1Korekta w dacie faktury pierwotnej (in minus z błędu)
2Korekta w dacie faktury korygującej (in plus, in minus z innych przyczyn)
3Korekta w innej dacie (różne daty dla różnych pozycji)

FaWiersz — pozycje faktury

Element opcjonalny dla faktur zaliczkowych, korygujących zbiorczych oraz ROZ (gdzie dane są w Zamowienie). Dla zwykłych faktur — wymagany. Max 10 000 pozycji.

Pola pozycji

PoleTypObowiąz.Opis
NrWierszaFaTNaturalnyKolejny numer wiersza
UU_IDTZnakowy50Uniwersalny unikalny ID wiersza
P_6ATDataTData dostawy/wykonania (gdy różni się od P_6)
P_7TZnakowy512Nazwa (rodzaj) towaru lub usługi
IndeksTZnakowy50Wewnętrzny kod towaru sprzedawcy
GTINTZnakowy20Global Trade Item Number (kod kreskowy)
PKWiUTZnakowy50Polska Klasyfikacja Wyrobów i Usług
CNTZnakowy50Nomenklatura Scalona (dla eksportu)
PKOBTZnakowy50Polska Klasyfikacja Obiektów Budowlanych
P_8ATZnakowyJednostka miary (szt., kg, h, m²…)
P_8BTIlosciIlość
P_9ATKwotowy2Cena jednostkowa netto (8 miejsc po przecinku)
P_9BTKwotowy2Cena jednostkowa brutto (gdy stosuje się art. 106e ust. 7-8)
P_10TKwotowy2Kwota rabatu lub obniżki
P_11TKwotowyWartość sprzedaży netto
P_11ATKwotowyWartość sprzedaży brutto
P_11VatTKwotowyKwota VAT (art. 106e ust. 10)
P_12TStawkaPodatkuStawka VAT (enum, niżej)
P_12_XIITProcentowyStawka VAT-OD (procedura XII rozdziału 6a, OSS)
P_12_Zal_15TWybor1Znacznik załącznika nr 15 (1 = MPP-able)
KwotaAkcyzyTKwotowyAkcyza w cenie towaru
GTUTGTUKod towaru/usługi wrażliwej (GTU_01–13)
ProceduraTOznaczenieProceduryProcedura szczególna
KursWalutyTIlosciKurs dla art. działu VI ustawy
StanPrzedTWybor1Znacznik stanu przed korektą (1 = wiersz „przed")

TStawkaPodatku — stawki VAT

WartośćZnaczenie
23Stawka podstawowa 23%
22Stawka 22% (historyczna, dla korekt sprzed 2011)
8Stawka obniżona pierwsza 8%
7Stawka 7% (historyczna)
5Stawka obniżona druga 5%
4Stawka 4% (historyczna)
3Stawka 3% (historyczna)
0 KR0% na terytorium kraju (poza WDT i eksportem)
0 WDT0% — WDT (wewnątrzwspólnotowa dostawa towarów)
0 EX0% — eksport
zwZwolnione od podatku
ooOdwrotne obciążenie
np INiepodlegające — dostawa/usługi poza krajem (poza art. 100 ust. 1 pkt 4 i OSS)
np IINiepodlegające — usługi z art. 100 ust. 1 pkt 4 ustawy

TGTU — kody towarów i usług wrażliwych

Wszystkie 13 kodów odsyła do § 10 ust. 3 pkt 1/2 rozporządzenia o JPK_VAT:

KodTowar / usługa
GTU_01Napoje alkoholowe
GTU_02Towary z zał. 15 (paliwa, oleje)
GTU_03Olej opałowy, oleje smarowe
GTU_04Wyroby tytoniowe i nowatorskie
GTU_05Odpady
GTU_06Urządzenia elektroniczne (komputery, smartfony, konsole)
GTU_07Pojazdy i części samochodowe
GTU_08Metale szlachetne i nieszlachetne
GTU_09Leki i wyroby medyczne objęte zakazem wywozu
GTU_10Budynki, budowle, grunty
GTU_11Usługi w zakresie przenoszenia uprawnień do emisji gazów
GTU_12Usługi niematerialne (doradcze, księgowe, prawne…)
GTU_13Usługi transportowe i magazynowe

TOznaczenieProcedury — procedury szczególne

KodProceduraPodstawa
WSTO_EEWewnątrzwspólnotowa sprzedaż towarów na odległość i usługi elektroniczne§ 10 ust. 4 pkt 2a
IEDSprzedaż przez interfejs elektroniczny (rejestrowana w UE)§ 10 ust. 4 pkt 2b
TT_DDostawa towarów poza UE (transakcja trójstronna)§ 10 ust. 4 pkt 5
I_42Procedura 42 — odprawa celna z VAT odroczonym§ 10 ust. 4 pkt 8
I_63Procedura 63 — powrót zwolniony z cła§ 10 ust. 4 pkt 9
B_SPVBon jednego przeznaczenia (Single Purpose Voucher)§ 10 ust. 4 pkt 10
B_SPV_DOSTAWADostawa towarów/usług w zamian za SPV§ 10 ust. 4 pkt 11
B_MPV_PROWIZJAProwizja z bonu różnego przeznaczenia (MPV)§ 10 ust. 4 pkt 12

Dla pozycji zamówienia (w sekcji Zamowienie) używa się typu TOznaczenieProceduryZ — okrojonej listy bez I_42 i I_63.

Inne znaczniki w Fa

PoleTypOpis
FPTWybor1Faktura uproszczona z art. 109 ust. 3d (paragon-faktura)
TPTWybor1Powiązania nabywca-dostawca (§ 10 ust. 4 pkt 3)
DodatkowyOpisTKluczWartoscmax 10 000 par klucz-wartość — pola dodatkowe
FakturaZaliczkowasekwencjamax 100 — numery faktur zaliczkowych powiązanych
ZwrotAkcyzyTWybor1Faktura uprawniająca do zwrotu akcyzy od oleju napędowego (rolnicy)
ZaliczkaCzesciowasekwencjamax 31 — daty i kwoty zaliczek częściowych

ZaliczkaCzesciowa

PoleTypOpis
P_6ZTDataTData otrzymania zaliczki
P_15ZTKwotowyKwota zaliczki częściowej
KursWalutyZWTIlosciKurs walutowy zastosowany

Rozliczenie

Sekcja dodatkowych rozliczeń (obciążenia + odliczenia):

ElementPolaLimity
ObciazeniaKwota + Powodmax 100
SumaObciazenTKwotowy
OdliczeniaKwota + Powodmax 100
SumaOdliczenTKwotowy
choice:
DoZaplatyTKwotowyNależność do zapłaty = P_15 + obciążenia − odliczenia
DoRozliczeniaTKwotowyKwota nadpłacona do zwrotu

Platnosc — warunki płatności

Status zapłaty (choice)

OpcjaPola
AZaplacono = 1 + DataZaplaty (zapłacono w całości)
BZnacznikZaplatyCzesciowej (1=część / 2=całość po częściach) + ZaplataCzesciowa (max 100)

ZaplataCzesciowa — element wewnętrzny

PoleTypOpis
KwotaZaplatyCzesciowejTKwotowyKwota raty
DataZaplatyCzesciowejTDataData raty
choice:
FormaPlatnosciTFormaPlatnosciForma z enum
PlatnoscInna = 1 + OpisPlatnosciInna forma + opis

TerminPlatnosci (max 100)

PoleTypOpis
TerminTDataKonkretna data
TerminOpissekwencjaSłowny opis (Ilosc + Jednostka + ZdarzeniePoczatkowe) np. „14 dni od dnia wystawienia"

TFormaPlatnosci

WartośćForma
1Gotówka
2Karta
3Bon
4Czek
5Kredyt
6Przelew
7Mobilna (np. BLIK)

Rachunki bankowe

ElementLimit
RachunekBankowymax 100
RachunekBankowyFaktoramax 20

TRachunekBankowy

PoleTypOpis
NrRBTNrRB (10–34 zn.)Pełny numer rachunku (NRB / IBAN)
SWIFTSWIFT_TypeKod SWIFT/BIC
RachunekWlasnyBankuTRachunekWlasnyBankuTyp 1-3
NazwaBankuTZnakowyNazwa banku
OpisRachunkuTZnakowyOpis (np. „Rachunek VAT", „Rachunek główny")

TRachunekWlasnyBanku (rachunki banków)

WartośćOpis
1Rachunek banku/SKOK do rozliczeń z tytułu nabywanych wierzytelności pieniężnych (faktoring)
2Rachunek banku/SKOK do pobrania należności i przekazania jej dostawcy (np. konto powiernicze)
3Rachunek banku/SKOK prowadzony w ramach gospodarki własnej (niebędący rachunkiem rozliczeniowym)
PoleTypOpis
SkontosekwencjaWarunkiSkonta + WysokoscSkonta (tekstowe)
LinkDoPlatnosciURL z parametrem IPKSeFLink do płatności bezgotówkowej
IPKSeF[0-9]{3}[a-zA-Z0-9]{10}Identyfikator płatności KSeF (13 zn.)

IPKSeF to nowość FA(3) — umożliwia identyfikację konkretnej płatności w systemie KSeF (np. dla bramek płatności online).

WarunkiTransakcji

Sekcja opcjonalna z parametrami zamówienia/dostawy:

ElementLimitPola
Umowymax 100DataUmowy + NrUmowy
Zamowieniamax 100DataZamowienia + NrZamowienia
NrPartiiTowarumax 1000Numery partii towaru
WarunkiDostawy1Incoterms (EXW, FOB, CIF…)
KursUmowny + WalutaUmowna1Kurs umowny (nie dla działu VI ustawy)
Transportmax 20Patrz niżej
PodmiotPosredniczacy1Transakcja łańcuchowa (art. 22 ust. 2d)

Transport (max 20)

PoleOpis
Choice: RodzajTransportu lub TransportInny+OpisInnegoTransportu
PrzewoznikDaneIdentyfikacyjne + AdresPrzewoznika
NrZleceniaTransportuNumer zlecenia
Choice: OpisLadunku (TLadunek) lub LadunekInny+OpisInnegoLadunku
JednostkaOpakowaniaJednostka
DataGodzRozpTransportu, DataGodzZakTransportuDaty/czas (UTC)
WysylkaZ, WysylkaPrzez (max 20), WysylkaDoAdresy

TRodzajTransportu

WartośćRodzaj
1Transport morski
2Transport kolejowy
3Transport drogowy
4Transport lotniczy
5Przesyłka pocztowa
7Stałe instalacje przesyłowe
8Żegluga śródlądowa

TLadunek (20 wartości)

1-Bańka, 2-Beczka, 3-Butla, 4-Karton, 5-Kanister, 6-Klatka, 7-Kontener, 8-Kosz/koszyk, 9-Łubianka, 10-Opakowanie zbiorcze, 11-Paczka, 12-Pakiet, 13-Paleta, 14-Pojemnik, 15-Pojemnik do ładunków masowych stałych, 16-Pojemnik do ładunków masowych w postaci płynnej, 17-Pudełko, 18-Puszka, 19-Skrzynia, 20-Worek.

Zamowienie (dla faktur zaliczkowych)

Opcjonalna sekcja z pozycjami zamówienia/umowy — wymagana przy fakturze zaliczkowej (ZAL), gdzie dokumentuje zakres pełnego zamówienia (z którego rozliczana jest tylko część):

PoleTypOpis
WartoscZamowieniaTKwotowyWartość zamówienia (brutto)
ZamowienieWierszsekwencjamax 10 000 — pozycje zamówienia

ZamowienieWiersz (pola z sufiksem „Z")

Struktura analogiczna do FaWiersz, ale z osobnymi nazwami pól (by uniknąć kolizji): NrWierszaZam, UU_IDZ, P_7Z, IndeksZ, GTINZ, PKWiUZ, CNZ, PKOBZ, P_8AZ, P_8BZ, P_9AZ, P_11NettoZ, P_11VatZ, P_12Z, P_12Z_XII, P_12Z_Zal_15, GTUZ, ProceduraZ, KwotaAkcyzyZ, StanPrzedZ.

Stopka

ElementLimitPola
Informacjemax 3StopkaFaktury (długi tekst)
Rejestrymax 100PelnaNazwa, KRS, REGON, BDO

BDO (Baza Danych o Odpadach) — maksymalnie 9 znaków.

Załącznik (nowość FA(3))

Strukturalny załącznik — może zawierać dane uzupełniające (np. specyfikację techniczną, kalkulacje):

ElementLimitOpis
BlokDanychmax 1000Blok semantyczny
BlokDanych/ZNaglowekNagłówek bloku
BlokDanych/MetaDanemax 1000Pary klucz-wartość
BlokDanych/Tekst/Akapitmax 10Akapity tekstu
BlokDanych/Tabelamax 1000Tabela z danymi

Tabela

ElementLimitOpis
TMetaDanemax 1000Klucz-wartość
Opis1Tytuł
TNaglowek/Kolmax 20Definicja kolumn z atrybutem Typ
Wiersz/WKommax 1000 / 20Komórki wiersza
Suma/SKommax 20Komórki podsumowania

Typ kolumny tabeli (atrybut Typ)

date, datetime, dec (liczba), int (całkowita), time, txt (tekst).

Cel załącznika. Pozwala dołączyć specyfikację lub kalkulację w formacie strukturalnym (zamiast jako oddzielny PDF). Cała dana przechodzi przez walidację XSD i jest dostępna programowo dla nabywcy.

Tryby wysyłki w KSeF (poza schematem XSD)

Schemat XSD definiuje strukturę dokumentu, ale tryby wysyłki opisuje API KSeF:

TrybOpis
OnlineFaktura wysyłana natychmiast w momencie wystawienia
Offline24Faktura wystawiona, ale do KSeF trafia maks. 24 h później
Offline72Awaria KSeF — wysyłka do 72 h od ustania awarii

W trybach offline w XML-u znajdują się tylko dane wystawcy + treść — KSeF nadaje NrKSeF dopiero po przyjęciu.

FA(3) w TaxMachine

TaxMachine wystawia, wysyła i odbiera e-faktury w schemacie FA(3) — automatycznie i z pełnym wsparciem wszystkich węzłów schematu.

Mapowanie pól programu → FA(3)

Pole TaxMachinePole FA(3)Uwagi
Nazwa kontrahentaPodmiot2/DaneIdentyfikacyjne/Nazwa
NIP / VAT UEPodmiot2/.../NIP lub KodUE+NrVatUEAuto-detekcja typu
Data wystawieniaFa/P_1
NumerFa/P_2
Pozycja fakturyFa/FaWierszjeden wiersz = jeden FaWiersz
PKWiU / GTIN / PKOB / CNFaWiersz/PKWiU, GTIN, PKOB, CN
Stawka VAT (23/8/5/zw/oo/np)FaWiersz/P_12Mapowanie na enum TStawkaPodatku
Znacznik MPPFa/Adnotacje/P_18A = 1 + FaWiersz/P_12_Zal_15 = 1Auto przy fakturze > 15 000 zł z zał. 15
Znacznik GTUFaWiersz/GTUDropdown w pozycji towaru
Procedury (SW, EE, TT_D, B_SPV…)FaWiersz/ProceduraMultiple checkbox
Rachunek bankowyFa/Platnosc/RachunekBankowyDwa rachunki z karty firmy
Termin płatnościFa/Platnosc/TerminPlatnosci/Termin
Forma płatności (przelew, BLIK, karta…)Fa/Platnosc/FormaPlatnosciMapowanie na enum 1-7
Status zapłatyFa/Platnosc/Zaplacono + DataZaplaty
KorektaFa/RodzajFaktury = KOR + DaneFaKorygowanejWybór z listy
Numer KSeF faktury korygowanejDaneFaKorygowanej/NrKSeFFaKorygowanejAuto przy korekcie e-faktury
Magazyn (WZ)Fa/WZPowiązanie WZ ↔ faktura
Faktura zaliczkowaFa/RodzajFaktury = ZAL + Zamowienie
Faktura rozliczeniowaFa/RodzajFaktury = ROZ + powiązane FakturaZaliczkowa

Walidacja przed wysyłką

Program przed wysyłką do KSeF wykonuje walidację offline przeciwko FA(3).xsd:

  • sprawdza obowiązkowe pola (zgodnie z minOccurs/maxOccurs),
  • weryfikuje formaty (NIP, kwoty, daty, kursy),
  • sprawdza spójność (np. czy suma P_11 wierszy = P_13_1 + ... + P_13_11),
  • weryfikuje znaczniki MPP (czy faktura > 15 000 zł + pozycje z P_12_Zal_15 = 1 mają P_18A = 1),
  • wykrywa braki adnotacji (np. metoda kasowa wymagana, bo dostawa < 30 dni przed zapłatą — program podpowiada).

Generowanie identyfikatora IPKSeF

Przy włączonej opcji „link do płatności w fakturze" program generuje 13-znakowy IPKSeF i wpisuje go w pole LinkDoPlatnosci (z URL bramki płatniczej) oraz IPKSeF.

Importu e-faktur od dostawców

Przy pobraniu e-faktury z KSeF:

  • program parsuje XML zgodnie z FA(3),
  • mapuje pola na strukturę dokumentu księgowego,
  • automatycznie wykrywa MPP, GTU, procedury — i podpowiada formy płatności,
  • zachowuje oryginalny XML + NrKSeF + PDF wizualizacji w karcie faktury.

KSeF 2.0 w TaxMachine →

Różnice względem FA(2)

Najważniejsze nowości w FA(3) względem poprzedniej wersji:

  • JST i GV — znaczniki dla jednostek JST i grup VAT
    • odpowiadające role w Podmiot3 (8 i 10),
  • PodmiotUpowazniony — sformalizowana sekcja dla organów egzekucyjnych, komorników, przedstawicieli podatkowych,
  • Zalacznik — strukturalny załącznik z tabelami,
  • IPKSeF i LinkDoPlatnosci — identyfikator i URL płatności online,
  • UU_ID / UU_IDZ — uniwersalne unikalne identyfikatory wierszy,
  • ZaliczkaCzesciowa — natywne wsparcie zaliczek częściowych,
  • Skonto — sformalizowane warunki + wysokość skonta,
  • rozszerzona sekcja Transport — pełen łańcuch logistyczny z przewoźnikiem, ładunkiem, datami,
  • rozszerzona sekcja WarunkiTransakcji — Incoterms, kursy umowne, transakcje łańcuchowe,
  • RachunekBankowyFaktora — osobne pole dla faktoringu.

Walidacja przed wysyłką — checklist

Przed wysyłką do KSeF warto sprawdzić:

  1. Naglowek/DataWytworzeniaFa jest w UTC (nie lokalnie!)
  2. Naglowek/KodFormularza ma atrybuty kodSystemowy="FA (3)" i wersjaSchemy="1-0E"
  3. Fa/P_1 (data wystawienia) ≤ DataWytworzeniaFa (jeżeli różne)
  4. Fa/P_2 (numer) jest unikalny w skali roku
  5. ✅ Sumy P_13_* zgadzają się z sumą P_11 pozycji o danej stawce
  6. P_15 (brutto) = suma P_13_* + P_14_*
  7. ✅ Faktura > 15 000 zł z pozycjami P_12_Zal_15 = 1 ma P_18A = 1 (MPP)
  8. ✅ Korekta ma wypełnione PrzyczynaKorekty, TypKorekty, DaneFaKorygowanej
  9. ✅ Faktura w obcej walucie ma wypełnione P_14_*W (VAT w PLN)
  10. ✅ Adnotacje są zawsze wypełnione (każde z pól P_16, P_17, P_18, P_18A wymaga wartości 1 lub 2 — nie pomija się ich)
  11. ✅ Sekcja Zwolnienie ma wybraną opcję A (z P_19A/B/C) albo B (P_19N)
  12. ✅ Sekcja NoweSrodkiTransportu ma wybraną opcję A (z pełnymi danymi) albo B (P_22N)
  13. ✅ Sekcja PMarzy ma wybraną opcję A (z konkretnym wariantem marży) albo B (P_PMarzyN)

Podstawa prawna

  • Ustawa z 11 marca 2004 r. o podatku od towarów i usług (Dz.U. 2024 poz. 361 ze zm.):
    • art. 106e — wymagane dane faktury (mapowanie na pola P_*)
    • art. 106d — samofakturowanie (P_17)
    • art. 106f — faktury zaliczkowe (ZAL) i rozliczeniowe (ROZ)
    • art. 106j — faktury korygujące (KOR)
    • art. 106na — data wystawienia w KSeF
    • art. 17, 119, 120, 135, 136 — procedury szczególne
  • Rozporządzenie MF z 18 października 2024 r. w sprawie wykorzystywania Krajowego Systemu e-Faktur (Dz.U. 2024 poz. 1546) — schemat FA(3) jako oficjalna struktura logiczna.
  • Centralny Repozytorium Wzorów Dokumentów — schemat FA(3) pod URI http://crd.gov.pl/wzor/2025/06/25/13775/.
  • Broszura informacyjna MF z 4 marca 2026 r. — interpretacja struktury logicznej FA(3).

Powiązane

Coś jest niezrozumiałe? Brakuje pola? Pomyłka w opisie? Napisz nam — uzupełnimy.