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