FA(3)

FA(3): czym naprawdę jest format faktury KSeF

Przystępne wyjaśnienie formatu FA(3) używanego w KSeF: schemat XML, co opisuje i dlaczego generujesz go zamiast pisać ręcznie.

Opublikowano 2 min czytaniaAutor: Tomek

Wprowadzenie

FA(3) to ustrukturyzowany format XML, w którym KSeF zapisuje e-fakturę. Definiuje go oficjalny schemat (XSD) opublikowany przez Ministerstwo Finansów; to nie jest dokument do wydruku jak PDF — to dane odczytywalne maszynowo, które opisują sprzedawcę, nabywcę, pozycje, sumy i pola VAT. W praktyce generujesz XML z danych faktury i walidujesz go wobec schematu, zamiast pisać ręcznie.

Co opisuje ten format

KSeF to krajowa platforma e-fakturowania prowadzona przez Ministerstwo Finansów. Schemat FA(3) to umowa co do tego, co musi zawierać faktura ustrukturyzowana. Definiuje między innymi datę wystawienia i numer faktury, strony transakcji wraz z ich identyfikatorami, pozycje z jednostką, ilością i ceną oraz sumy w podziale na stawki VAT. Każde pole ma określony typ, długość i — tam, gdzie to ma sens — listę dozwolonych wartości.

Ponieważ to schemat, a nie szablon, FA(3) jest wymagający. Brakujące pole, zbyt długa wartość albo zły typ kończą się odrzuceniem faktury z kodem błędu. Ta surowość jest celowa: dzięki niej platforma może automatycznie i wiarygodnie przetwarzać miliony faktur.

XML, a nie obrazek

PDF czy skan pokazują człowiekowi, jak faktura wygląda, ale nie mówią komputerowi, co znaczy każda wartość. FA(3) robi odwrotnie: etykietuje każdą wartość — kto sprzedał, kto kupił, ile, w jakiej stawce — żeby system podatkowy mógł ją odczytać bez interpretacji. PDF, który wysyłasz klientowi, to osobne odwzorowanie tych samych danych, a nie sama faktura ustrukturyzowana.

Generuj, waliduj, wyślij

Pewny sposób tworzenia FA(3) to odwzorowanie danych faktury na schemat, wygenerowanie XML i walidacja wobec oficjalnego XSD przed wysłaniem do KSeF. Ręczne pisanie XML-a zaprasza dokładnie te błędy, które schemat ma wyłapywać. API KSeF, takie jak Notaly, przyjmuje zwykłą fakturę w JSON, generuje XML FA(3), waliduje go wobec oficjalnego schematu i wysyła — zwracając status oraz UPO przez webhook.

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

Czy FA(3) to plik jak PDF?

Nie. FA(3) to ustrukturyzowany format XML zdefiniowany oficjalnym schematem. PDF to dokument wizualny, a FA(3) to dane odczytywalne maszynowo.

Czy muszę pisać XML FA(3) ręcznie?

Nie powinieneś. Generujesz go z danych faktury i walidujesz wobec oficjalnego XSD; API takie jak Notaly robi jedno i drugie za Ciebie.

Skąd nazwa FA(3)?

To bieżąca wersja schematu faktur ustrukturyzowanych używana przez KSeF, opublikowana przez Ministerstwo Finansów.

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.