5 marca 2026

KSeF XML — przykład faktury ustrukturyzowanej FA(2)

Przykład faktury XML dla KSeF zgodnej ze schematem FA(2). Struktura dokumentu, wymagane pola, walidacja XSD. Przewodnik dla programistów.

KSeF XML — przykład faktury ustrukturyzowanej

Faktura wysyłana do KSeF musi być w formacie XML zgodnym ze schematem FA(2) opublikowanym przez Ministerstwo Finansów. Poniżej omawiamy strukturę takiego dokumentu.

Schemat FA(2)

Ministerstwo Finansów publikuje schemat XSD faktury (FA(2)) na stronie podatki.gov.pl. Schemat określa:

  • Wymagane i opcjonalne pola
  • Typy danych (daty, liczby, teksty)
  • Strukturę hierarchiczną dokumentu
  • Główne elementy faktury XML

    Faktura KSeF ma następującą strukturę:

    <?xml version="1.0" encoding="UTF-8"?>
    <Faktura xmlns="http://crd.gov.pl/wzor/2023/06/29/12648/"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Naglowek>
        <KodFormularza kodSystemowy="FA (2)" wersjaSchemy="1-0E">FA</KodFormularza>
        <WariantFormularza>2</WariantFormularza>
        <DataWytworzeniaFa>2026-03-01T10:00:00</DataWytworzeniaFa>
        <SystemInfo>MojSystem v1.0</SystemInfo>
      </Naglowek>
      <Podmiot1>
        <!-- Dane sprzedawcy -->
        <DaneIdentyfikacyjne>
          <NIP>1234567890</NIP>
          <Nazwa>Firma ABC Sp. z o.o.</Nazwa>
        </DaneIdentyfikacyjne>
        <Adres>
          <KodKraju>PL</KodKraju>
          <Miejscowosc>Warszawa</Miejscowosc>
        </Adres>
      </Podmiot1>
      <Podmiot2>
        <!-- Dane nabywcy -->
        <DaneIdentyfikacyjne>
          <NIP>0987654321</NIP>
          <Nazwa>Nabywca XYZ Sp. z o.o.</Nazwa>
        </DaneIdentyfikacyjne>
      </Podmiot2>
      <Fa>
        <KodWaluty>PLN</KodWaluty>
        <P_1>2026-03-01</P_1>
        <P_2>FV/2026/03/001</P_2>
        <P_6>2026-03-01</P_6>
        <P_15>123.00</P_15>
        <FaWiersz>
          <NrWierszaFa>1</NrWierszaFa>
          <P_7>Usługa programistyczna</P_7>
          <P_8A>szt</P_8A>
          <P_8B>1</P_8B>
          <P_9A>100.00</P_9A>
          <P_10>100.00</P_10>
          <P_12>23</P_12>
        </FaWiersz>
        <P_13_1>100.00</P_13_1>
        <P_14_1>23.00</P_14_1>
      </Fa>
    </Faktura>

    Opis kluczowych elementów

  • Podmiot1dane sprzedawcy (NIP, nazwa, adres)
  • Podmiot2dane nabywcy (NIP, nazwa)
  • P_1data wystawienia faktury
  • P_2numer faktury
  • P_6data sprzedaży
  • P_15kwota brutto
  • P_7nazwa towaru/usługi
  • P_12stawka VAT (23, 8, 5, 0, lub ZW dla zwolnionych)
  • P_13_xpodstawa opodatkowania dla danej stawki
  • P_14_xkwota VAT dla danej stawki
  • Walidacja XML przed wysłaniem

    Zawsze waliduj XML przed wysłaniem:

  • 1.Sprawdź zgodność ze schematem XSD (użyj narzędzi jak xmllint)
  • 2.Zweryfikuj poprawność NIP (algorytm kontrolny)
  • 3.Sprawdź spójność kwot (netto × stawka ≈ VAT, netto + VAT = brutto)
  • Biblioteki do generowania XML

  • JavaJAXB z wygenerowanymi klasami ze schematu XSD
  • .NETXmlSerializer lub xsd.exe
  • PHPDOMDocument lub biblioteki SOAP/XML
  • Pythonlxml lub dataclasses + ElementTree
  • Gdzie pobrać schemat XSD?

    Aktualny schemat FA(2) dostępny jest na: podatki.gov.pl/ksef

    Potrzebujesz pomocy z generowaniem XML?

    Nasze [proxy KSeF](/proxy-ksef) przyjmuje prostsze formaty JSON i samo generuje poprawny XML faktury. Sprawdź [dokumentację](/docs) lub [skontaktuj się z nami](/kontakt).

    ksef xml przykładksef faktura xmlksef xml formatfa2 xml kseffaktura ustrukturyzowana xml

    Potrzebujesz pomocy z KSeF?

    Oferujemy integrację, proxy KSeF, aplikację Spektra i pomoc wdrożeniową.