Jak czytać XML faktury z KSeF
Dlaczego w ogóle warto rozumieć XML
W KSeF faktura ustrukturyzowana ma postać elektroniczną zgodną z oficjalnym wzorem dokumentu. W praktyce oznacza to, że kluczowe dane faktury są zapisane w pliku XML, a PDF jest tylko wizualizacją do wygodnego podglądu. Faktura ustrukturyzowana w KSeF to dokument wystawiony przy użyciu KSeF wraz z przydzielonym numerem identyfikującym tę fakturę w systemie.
Nie musisz być programistą, żeby z takiego XML-a korzystać. Wystarczy wiedzieć:
- gdzie są najważniejsze dane,
- jak je znaleźć,
- czego nie pomylić.
To daje Ci realną przewagę:
- szybciej wychwycisz błędy,
- nie dasz się zwieść samemu wyglądowi PDF,
- lepiej kontrolujesz faktury w firmie.
Czym jest XML
XML to po prostu tekst, w którym dane są zapisane w uporządkowanych polach.
Wygląda to na przykład tak:
<NIP>1111111111</NIP>
<Nazwa>Przykładowa Firma</Nazwa>
Czyli:
- nazwa pola to
<NIP>, - wartość to
1111111111.
To nie jest nic „magicznego”. To po prostu uporządkowany zapis danych.
Jak wygląda faktura KSeF „w środku”
W FA(3) znajdziesz m.in. część nagłówkową, dane stron transakcji i właściwą treść faktury. W uproszczeniu możesz myśleć o niej tak:
<Faktura>
<Naglowek>...</Naglowek>
<Podmiot1>...</Podmiot1>
<Podmiot2>...</Podmiot2>
<Fa>...</Fa>
</Faktura>
Najważniejsze sekcje:
| Sekcja | Co tam znajdziesz |
|---|---|
| Naglowek | dane techniczne i podstawowe informacje o dokumencie |
| Podmiot1 | sprzedawca |
| Podmiot2 | nabywca |
| Fa | zasadnicza treść faktury: daty, kwoty, pozycje, płatność |
Takie uproszczenie pomaga czytać XML, nawet jeśli nie znasz całego schematu FA(3). Sama dokumentacja MF pokazuje, że plik ma format XML, a pola w strukturze mają charakter obowiązkowy, opcjonalny albo fakultatywny.
Sprzedawca i nabywca – gdzie sprawdzać
Sprzedawca (Podmiot1)
<!-- dane przykładowe, fikcyjne -->
<Podmiot1>
<DaneIdentyfikacyjne>
<NIP>1111111111</NIP>
<Nazwa>Przykładowa Firma Sp. z o.o.</Nazwa>
</DaneIdentyfikacyjne>
</Podmiot1>
Nabywca (Podmiot2)
<!-- dane przykładowe, fikcyjne -->
<Podmiot2>
<DaneIdentyfikacyjne>
<NIP>2222222222</NIP>
<Nazwa>Klient Testowy Sp. z o.o.</Nazwa>
</DaneIdentyfikacyjne>
</Podmiot2>
To są jedne z pierwszych danych, które warto sprawdzić:
- czy NIP się zgadza,
- czy nazwa firmy jest poprawna.
KSeF weryfikuje m.in. zgodność techniczną dokumentu oraz część reguł, ale to nadal nie zwalnia z normalnej kontroli danych kontrahenta.
Najważniejsze pola faktury w części „Fa”
To tutaj znajdziesz najważniejsze informacje biznesowe.
<!-- dane przykładowe, fikcyjne -->
<Fa>
<P_1>2026-03-15</P_1> <!-- data wystawienia -->
<P_2>FV/2026/03/001</P_2> <!-- numer faktury nadany przez sprzedawcę -->
<P_6>2026-03-15</P_6> <!-- data sprzedaży, jeśli jest wspólna dla całej faktury -->
<P_13_1>10000.00</P_13_1> <!-- netto dla stawki 23% -->
<P_14_1>2300.00</P_14_1> <!-- VAT dla stawki 23% -->
<P_15>12300.00</P_15> <!-- kwota należności ogółem -->
</Fa>
Najważniejsze pola:
| Pole | Co oznacza |
|---|---|
| P_1 | data wystawienia |
| P_2 | numer faktury nadany przez sprzedawcę |
| P_6 | data dokonania lub zakończenia dostawy towarów albo wykonania usługi |
| P_13_1 | kwota netto dla danej stawki VAT |
| P_14_1 | kwota VAT dla danej stawki VAT |
| P_15 | kwota należności ogółem |
Bardzo ważne: czego NIE mylić
P_2 to nie jest numer KSeF
To bardzo częsta pomyłka.
P_2to numer nadany przez sprzedawcę,- numer KSeF jest nadawany przez system po przyjęciu faktury.
To są dwa różne numery.
P_6 to nie jest termin płatności
To kolejny częsty błąd.
P_6oznacza datę sprzedaży lub wykonania usługi,- termin płatności jest w części dotyczącej płatności.
Jeżeli data sprzedaży nie jest wspólna dla całej faktury, może pojawić się także na poziomie pozycji.
Gdzie jest termin płatności i rachunek
W FA(3) dane płatności są w sekcji Fa/Platnosc. Ta sekcja jest fakultatywna, więc może w ogóle nie wystąpić.
Przykład:
<!-- dane przykładowe, fikcyjne -->
<Platnosc>
<TerminPlatnosci>
<Termin>2026-03-31</Termin>
</TerminPlatnosci>
<RachunekBankowy>
<NrRB>PL0011111111111111111111111111</NrRB>
</RachunekBankowy>
</Platnosc>
Tu sprawdzasz przede wszystkim:
- kiedy trzeba zapłacić,
- na jaki rachunek ma trafić płatność.
Pozycje faktury – co właściwie kupiono
Pozycje faktury są zapisywane w elementach takich jak FaWiersz.
Przykład uproszczony:
<!-- dane przykładowe, fikcyjne -->
<FaWiersz>
<P_7>Usługa konsultingowa</P_7>
<P_8B>10</P_8B>
<P_9A>1000.00</P_9A>
</FaWiersz>
Najprościej czytać to tak:
P_7– nazwa towaru lub usługi,P_8B– ilość,P_9A– cena jednostkowa netto.
Jak czytać XML w praktyce
Nie musisz używać narzędzi programistycznych.
Najprostszy sposób:
otwórz plik XML w przeglądarce, prostym edytorze tekstu albo edytorze kodu,
wyszukaj najważniejsze pola, np.:
- NIP,
- P_1,
- P_2,
- P_15,
- Termin,
- NrRB,
porównaj te dane z:
- wizualizacją PDF,
- systemem księgowym,
- danymi kontrahenta,
- wcześniejszymi fakturami.
Co warto sprawdzać w praktyce
1. Czy dane kontrahenta się zgadzają
- NIP
- nazwa
2. Czy dobrze rozumiesz kwoty
Sprawdź:
- czy kwota należności ogółem odpowiada temu, czego się spodziewasz,
- czy wartości na pozycjach wyglądają sensownie,
- czy nie ma nietypowych kwot albo podejrzanych zaokrągleń.
KSeF wykonuje kontrole techniczne i część kontroli semantycznych, ale nie zastępuje Twojej biznesowej weryfikacji dokumentu.
3. Czy rachunek nie budzi wątpliwości
Sprawdź:
- czy rachunek zgadza się z wcześniejszymi fakturami,
- czy nie pojawił się nagle nowy rachunek,
- czy rachunek pasuje do kontrahenta.
Sam schemat FA(3) nie potwierdza, czy rachunek należy do danego podmiotu — to trzeba sprawdzić osobno.
4. Czy opis pozycji nie jest zbyt ogólny
Przykłady:
- „usługi różne”
- „inne”
- „konsultacje”
To nie musi oznaczać oszustwa, ale może być sygnałem ostrzegawczym.
Najczęstsze błędy
„PDF się zgadza, więc wszystko jest w porządku”
Nie zawsze.
PDF może wyglądać poprawnie, ale najważniejsze dane faktury są w XML.
„KSeF przyjął fakturę, więc faktura jest na pewno poprawna”
To zbyt daleko idący wniosek.
KSeF sprawdza zgodność techniczną i część reguł, ale nie ocenia sensu gospodarczego transakcji ani wiarygodności kontrahenta.
Mylenie podstawowych pól
Najczęstsze pomyłki:
- numer faktury vs numer KSeF,
- data sprzedaży vs termin płatności,
- XML vs PDF.
FAQ
Czy księgowy musi umieć czytać cały XML?
Nie.
W praktyce wystarczy znać kilka kluczowych pól.
Czy mogę zmienić fakturę już przyjętą w KSeF?
Nie.
Jeśli jest błąd, trzeba wystawić dokument korygujący.
Czy KSeF przechowuje faktury?
Tak – przez 10 lat.
Czy PDF wystarczy?
Nie.
PDF to tylko wizualizacja. Fakturą w KSeF jest XML.
Treść ma charakter informacyjny i edukacyjny. Nie stanowi porady prawnej ani podatkowej.
Przydatne serwisy
Status KSeF
Pierwszy serwis prezentuje informacje o statusie samego KSeF, drugi – komunikaty techniczne Ministerstwa Finansów.