FA(3)

Struktura XML FA(3): Nagłówek, Fa, Podmiot1/2 i FaWiersz

Szkielet faktury KSeF w formacie FA(3): nagłówek formularza (Nagłówek), element danych faktury (Fa z polami P_1/P_2, Podmiot1/2 i FaWiersz) i gdzie każda część leży w XSD.

Opublikowano 3 min czytaniaAutor: Tomek

Wprowadzenie

Faktura KSeF w formacie FA(3) to jeden ustrukturyzowany dokument XML, którego elementem głównym jest Faktura. Nagłówek niesie metadane formularza (kod formularza, wariant, znacznik czasu wytworzenia i informacje o systemie), a dane faktury — data wystawienia P_1, numer faktury P_2, strony transakcji (Podmiot1 dla sprzedawcy, Podmiot2 dla nabywcy) oraz pozycje (FaWiersz) — leżą w elemencie Fa. Nie musisz pisać tego XML-a ręcznie — API takie jak Notaly buduje go ze zwykłego payloadu JSON.

Element główny: Faktura, Nagłówek i Fa

Dokument otwiera element Faktura. Nagłówek zawiera metadane formularza — KodFormularza, WariantFormularza, DataWytworzeniaFa i SystemInfo — a nie kwoty faktury. Pola na poziomie faktury, o których zwykle myślisz jako pierwsze, czyli P_1 (data wystawienia) i P_2 (numer faktury), leżą w elemencie Fa razem ze stronami transakcji i pozycjami, a nie porozrzucane po dokumencie.

Podmiot1 i Podmiot2: strony transakcji

Podmiot1 to sprzedawca, a Podmiot2 to nabywca — oba w elemencie Fa. Każdy blok zawiera identyfikatory i adres strony: numer identyfikacji podatkowej (NIP) w danych identyfikacyjnych, nazwę i adres. Utrzymanie czystego NIP-u sprzedawcy i nabywcy to najczęstszy sposób na uniknięcie odrzucenia faktury, bo identyfikatory muszą pasować do tego, czego KSeF oczekuje w uwierzytelnionym kontekście.

FaWiersz: pozycje faktury

Pozycje faktury leżą w FaWiersz, wewnątrz Fa. Pozycja niesie nazwę towaru lub usługi (P_7), jednostkę i ilość (P_8A i P_8B) oraz cenę netto jednostkową, które zasilają sumy pozycji i całej faktury. Sumy są grupowane według stawki VAT, a szczegóły stawek należą do oficjalnych referencji pól, a nie do tego przeglądu struktury.

Dlaczego struktura ma znaczenie

Schemat FA(3) jest rygorystyczny: faktura, która nie przechodzi walidacji XSD, jest odrzucana, a KSeF raportuje ją jako nieprawidłowo przetworzoną w statusie faktury. Dlatego generowanie XML-a ze zweryfikowanej biblioteki albo przez API jest bezpieczniejsze niż składanie go przez konkatenację tekstu. Drobny błąd w kolejności elementów albo brakujący identyfikator zatrzymuje całe zgłoszenie.

Jak to robi Notaly

Notaly bierze Twój JSON, odwzorowuje sprzedawcę, nabywcę i pozycje na strukturę FA(3), waliduje wynik wobec oficjalnego XSD i wysyła go do KSeF. Nie dotykasz bezpośrednio Nagłówka, Fa, Podmiotu ani FaWiersz — podajesz dane, a w zamian otrzymujesz numer KSeF i UPO.

FAQ

Z jakich głównych części składa się faktura FA(3)? Elementem głównym jest Faktura, która zawiera Nagłówek (metadane formularza) oraz Fa (dane faktury: Podmiot1 dla sprzedawcy, Podmiot2 dla nabywcy i pozycje FaWiersz).

Które pole to numer faktury? P_2 to numer faktury, a P_1 to data wystawienia — oba w elemencie Fa.

Zastrzeżenie

Notaly nie jest doradcą podatkowym, księgowym ani prawnym. Ten artykuł ma charakter informacyjny, nie stanowi porady podatkowej i może być nieaktualny. Ponosisz odpowiedzialność za własne rozliczenia VAT; w razie potrzeby skonsultuj się z wykwalifikowanym księgowym.

Źródła

Źródło: crd.gov.pl

Najczęstsze pytania

Z jakich głównych części składa się faktura FA(3)?

Elementem głównym jest Faktura, która zawiera Nagłówek (metadane formularza) oraz Fa (dane faktury: Podmiot1 dla sprzedawcy, Podmiot2 dla nabywcy i pozycje FaWiersz).

Które pole to numer faktury?

P_2 to numer faktury, a P_1 to data wystawienia — oba w elemencie Fa, a nie w nagłówku formularza Nagłówek.

Czy muszę pisać ten XML ręcznie?

Nie, jeśli używasz API KSeF. Wysyłasz JSON, a dostawca generuje i waliduje XML FA(3) za Ciebie.

Wystaw pierwszą fakturę testową w KSeF jeszcze dziś

Załóż konto sandbox: klucz API w kilka sekund, 3 darmowe faktury testowe w KSeF TEST, bez karty płatniczej.