Przykładowa faktura KSeF ze sklepu internetowego: XML, PDF, korekta
W skrócie: poniżej pokazujemy przykładową fakturę KSeF dla typowego zamówienia ze sklepu: trzy pozycje, dwie stawki VAT, dostawa kurierem i płatność kartą. Faktura w KSeF to plik XML w strukturze FA(3), a PDF jest tylko jej wizualizacją z kodem QR. Na końcu jest korekta po zwrocie jednej pozycji i fragment faktury w euro.
Dane są fikcyjne. NIP 1111111111 i 9999999999 to numery z przykładów MF, a numer KSeF jest zmyślony: pokazuje budowę numeru, ale jego suma kontrolna nie jest prawdziwa. Nie wysyłaj tych plików do produkcyjnego KSeF.
Przykładowa faktura KSeF: zamówienie, z którego powstała
Firma kupiła w sklepie internetowym 12 października 2026 r.:
| Pozycja | Ilość | Cena brutto | Wartość brutto | Stawka |
|---|---|---|---|---|
| Kubek ceramiczny 350 ml | 2 | 49,99 zł | 99,98 zł | 23% |
| Nasiona trawy 1 kg | 3 | 34,90 zł | 104,70 zł | 8% |
| Dostawa kurierem | 1 | 14,99 zł | 14,99 zł | 23% |
Sklep liczy VAT od kwot brutto, co ustawa dopuszcza (art. 106e ust. 7 i 8): VAT = brutto × stawka / (100 + stawka), w sumie dla każdej stawki. Dla 23%: 114,97 zł brutto, 21,50 zł VAT, 93,47 zł netto. Dla 8%: 104,70 zł brutto, 7,76 zł VAT, 96,94 zł netto. Razem 219,67 zł.
Pełny XML FA(3) z objaśnieniami
<?xml version="1.0" encoding="UTF-8"?>
<Faktura xmlns="http://crd.gov.pl/wzor/2025/06/25/13775/">
<Naglowek>
<KodFormularza kodSystemowy="FA (3)" wersjaSchemy="1-0E">FA</KodFormularza>
<WariantFormularza>3</WariantFormularza>
<DataWytworzeniaFa>2026-10-12T10:15:00Z</DataWytworzeniaFa>
<SystemInfo>sklep-internetowy</SystemInfo>
</Naglowek>
<Podmiot1>
<DaneIdentyfikacyjne>
<NIP>1111111111</NIP>
<Nazwa>Sklep Przykładowy Sp. z o.o.</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>ul. Testowa 1</AdresL1>
<AdresL2>00-001 Warszawa</AdresL2>
</Adres>
</Podmiot1>
<Podmiot2>
<DaneIdentyfikacyjne>
<NIP>9999999999</NIP>
<Nazwa>Firma Kupująca Sp. z o.o.</Nazwa>
</DaneIdentyfikacyjne>
<Adres>
<KodKraju>PL</KodKraju>
<AdresL1>ul. Przykładowa 5/2</AdresL1>
<AdresL2>30-001 Kraków</AdresL2>
</Adres>
<JST>2</JST>
<GV>2</GV>
</Podmiot2>
<Fa>
<KodWaluty>PLN</KodWaluty>
<P_1>2026-10-12</P_1>
<P_2>FV/2026/10/15</P_2>
<P_13_1>93.47</P_13_1>
<P_14_1>21.50</P_14_1>
<P_13_2>96.94</P_13_2>
<P_14_2>7.76</P_14_2>
<P_15>219.67</P_15>
<Adnotacje>
<P_16>2</P_16>
<P_17>2</P_17>
<P_18>2</P_18>
<P_18A>2</P_18A>
<Zwolnienie><P_19N>1</P_19N></Zwolnienie>
<NoweSrodkiTransportu><P_22N>1</P_22N></NoweSrodkiTransportu>
<P_23>2</P_23>
<PMarzy><P_PMarzyN>1</P_PMarzyN></PMarzy>
</Adnotacje>
<RodzajFaktury>VAT</RodzajFaktury>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>Kubek ceramiczny 350 ml</P_7>
<P_8A>szt.</P_8A>
<P_8B>2</P_8B>
<P_9B>49.99</P_9B>
<P_11A>99.98</P_11A>
<P_12>23</P_12>
</FaWiersz>
<FaWiersz>
<NrWierszaFa>2</NrWierszaFa>
<P_7>Nasiona trawy 1 kg</P_7>
<P_8A>szt.</P_8A>
<P_8B>3</P_8B>
<P_9B>34.90</P_9B>
<P_11A>104.70</P_11A>
<P_12>8</P_12>
</FaWiersz>
<FaWiersz>
<NrWierszaFa>3</NrWierszaFa>
<P_7>Dostawa kurierem</P_7>
<P_8A>usł.</P_8A>
<P_8B>1</P_8B>
<P_9B>14.99</P_9B>
<P_11A>14.99</P_11A>
<P_12>23</P_12>
</FaWiersz>
<Platnosc>
<Zaplacono>1</Zaplacono>
<DataZaplaty>2026-10-12</DataZaplaty>
<FormaPlatnosci>2</FormaPlatnosci>
</Platnosc>
</Fa>
</Faktura>
Co znaczą najważniejsze pola (opisy za schematem FA(3)):
| Pole | Znaczenie w tym przykładzie |
|---|---|
Naglowek |
wersja struktury FA(3) i techniczna data wytworzenia pliku; DataWytworzeniaFa to nie data wystawienia |
Podmiot1, Podmiot2 |
sprzedawca i nabywca z NIP; JST i GV = 2 oznaczają, że faktura nie dotyczy jednostki samorządu ani grupy VAT |
P_1 |
data wystawienia; w trybie online musi się zgadzać z dniem wysłania do KSeF |
P_2 |
numer faktury nadany przez sklep |
P_13_1, P_14_1 |
netto i VAT dla stawki podstawowej 23% |
P_13_2, P_14_2 |
netto i VAT dla pierwszej stawki obniżonej, 8% |
P_15 |
kwota należności ogółem |
Adnotacje |
wartość 2 albo znacznik „N” to „nie dotyczy”: brak metody kasowej, samofakturowania, odwrotnego obciążenia, mechanizmu podzielonej płatności, zwolnienia, procedury marży |
RodzajFaktury |
VAT, czyli faktura podstawowa |
P_9B, P_11A |
cena i wartość brutto, bo sklep liczy VAT od brutto; przy liczeniu od netto byłyby P_9A i P_11 |
P_12 |
stawka VAT pozycji |
Platnosc |
zapłacono kartą (FormaPlatnosci 2) w dniu zamówienia |
Węzeł Platnosc jest dobrowolny (FAQ MF, kategoria „Rozwiązania informatyczne, integracje i struktura KSeF”, pyt. 9), ale w sklepie warto go wypełniać, bo nabywca od razu widzi, że faktura jest opłacona. Pełny opis pól jest w broszurze FA(3) na stronie MF; o samej strukturze piszemy w artykule schemat FA(3).
Po przyjęciu faktury KSeF nadaje jej numer, na przykład 1111111111-20261012-0A1B2C3D4E5F-F8. Numer ma zawsze 35 znaków: NIP sprzedawcy, datę przyjęcia, część techniczną i sumę kontrolną (dokumentacja API KSeF 2.0, „Numer KSeF”). Numeru KSeF nie ma w samym XML, który wysyłasz. Pojawia się w odpowiedzi KSeF i w UPO. Więcej w tekście numer KSeF.
Ta sama faktura jako PDF
Formalnie fakturą jest plik XML. PDF może być użyty poza KSeF, na przykład wysłany e-mailem, jeśli ma kod QR, który pozwala sprawdzić dane w KSeF (FAQ MF, kategoria „KSeF w Jednostkach Samorządu Terytorialnego”, pyt. 40). Wygląd PDF nie musi kopiować wzoru MF, ale musi pokazywać te same dane co XML (FAQ MF, kategoria „Wystawianie i otrzymywanie faktur”, pyt. 33).
Na PDF faktury wystawionej online jest jeden kod QR, a pod nim numer KSeF (pyt. 7 w kategorii „Tryby offline i kody QR”). Kod zawiera link z NIP sprzedawcy, datą wystawienia i skrótem pliku XML, więc każda zmiana w pliku zmienia link.
Typowy układ PDF ze sklepu: dane sprzedawcy i nabywcy, numer faktury i daty, tabela pozycji, podsumowanie według stawek, informacja o płatności, kod QR z numerem KSeF. Co dokładnie powinno się tam znaleźć, opisujemy w artykule wizualizacja faktury z KSeF.
Przykładowa korekta po zwrocie części zamówienia
Klient odesłał jeden kubek. Korekta zawiera tylko tę pozycję z ilością minus 1. Fragment węzła Fa:
<P_1>2026-10-16</P_1>
<P_2>FVK/2026/10/3</P_2>
<P_13_1>-40.64</P_13_1>
<P_14_1>-9.35</P_14_1>
<P_15>-49.99</P_15>
<RodzajFaktury>KOR</RodzajFaktury>
<PrzyczynaKorekty>Zwrot towaru</PrzyczynaKorekty>
<TypKorekty>2</TypKorekty>
<DaneFaKorygowanej>
<DataWystFaKorygowanej>2026-10-12</DataWystFaKorygowanej>
<NrFaKorygowanej>FV/2026/10/15</NrFaKorygowanej>
<NrKSeF>1</NrKSeF>
<NrKSeFFaKorygowanej>1111111111-20261012-0A1B2C3D4E5F-F8</NrKSeFFaKorygowanej>
</DaneFaKorygowanej>
<FaWiersz>
<NrWierszaFa>1</NrWierszaFa>
<P_7>Kubek ceramiczny 350 ml</P_7>
<P_8A>szt.</P_8A>
<P_8B>-1</P_8B>
<P_9B>49.99</P_9B>
<P_11A>-49.99</P_11A>
<P_12>23</P_12>
</FaWiersz>
Najważniejsze: RodzajFaktury = KOR, numer KSeF faktury korygowanej w NrKSeFFaKorygowanej (obowiązkowy, art. 106j ust. 2 pkt 2a) i TypKorekty = 2, czyli korekta skutkująca w dacie wystawienia korekty. Kwoty to różnice: VAT minus 9,35 zł, netto minus 40,64 zł. FA(3) pozwala też wykazać pozycję w stanie przed i po korekcie jako osobne wiersze ze znacznikiem StanPrzed. Całą procedurę opisujemy w artykule korekta faktury w KSeF przy zwrocie towaru.
Przykład faktury w euro z kursem NBP
Faktura dla polskiej firmy może być w euro. Kwoty są wtedy w euro, a tylko VAT przelicza się na złote w polu P_14_xW, z kursem w polu KursWaluty (FAQ MF, kategoria „Rozwiązania informatyczne, integracje i struktura KSeF”, pyt. 19). Kurs to średni kurs NBP z ostatniego dnia roboczego przed powstaniem obowiązku podatkowego (art. 31a ust. 1).
Przykład: jedna pozycja za 100,00 EUR brutto ze stawką 23%, kurs przykładowy 4,2500:
<KodWaluty>EUR</KodWaluty>
<P_13_1>81.30</P_13_1>
<P_14_1>18.70</P_14_1>
<P_14_1W>79.48</P_14_1W>
<P_15>100.00</P_15>
<!-- w FaWiersz: -->
<P_11A>100.00</P_11A>
<P_12>23</P_12>
<KursWaluty>4.2500</KursWaluty>
VAT w złotych: 18,70 EUR × 4,2500 = 79,475 zł, po zaokrągleniu 79,48 zł (art. 106e ust. 11). Prawdziwy kurs i numer tabeli NBP dla swojej daty sprawdzisz w naszym kalkulatorze kursu NBP, a zasady w artykule faktura w euro w KSeF.
Pliki do pobrania
Nie publikujemy własnych plików do pobrania, bo MF udostępnia oficjalny zestaw: „Przykładowe pliki dla struktury logicznej e-Faktury FA(3)” (ZIP) i broszurę FA(3) na stronie „Pliki do pobrania KSeF 2.0”. Własne próby rób w środowisku testowym KSeF i na fikcyjnych danych, bo firmy o NIP wpisanych w faktury testowe mogą mieć dostęp do ich treści (FAQ MF, kategoria „Zagadnienia techniczne”, pyt. 6).
Najczęstsze różnice między PDF a XML
- Numer KSeF. Jest w PDF pod kodem QR, a nie ma go w wysłanym XML.
- Nazwy i układ. PDF może mieć logo i własny układ; XML ma tylko pola ze schematu.
- Zaokrąglenia. Jeśli program liczy VAT inaczej w PDF i w XML, wiążące są dane z KSeF. Zawsze generuj PDF z tego samego pliku, który poszedł do KSeF.
- PDF bez kodu QR wysłany jako faktura nie spełnia wymogu z art. 106gb ust. 5, gdy przekazujesz go poza KSeF.
W aplikacji KSeF Faktury dla Shopify PDF powstaje z tego samego XML po nadaniu numeru KSeF, więc obie wersje mają te same kwoty.
Pytania i odpowiedzi
Czy fakturą jest PDF czy XML?
Formalnie XML w KSeF. PDF z kodem QR i numerem KSeF jest jego wizualizacją, którą można używać poza systemem.
Czy muszę wypełniać miejsce wystawienia i dane kontaktowe?
Nie, to pola nieobowiązkowe w schemacie. Obowiązkowe są dane wymagane ustawą (art. 106e) i elementy wymagane przez schemat.
Czym różni się przykładowa korekta od faktury podstawowej?
Rodzajem KOR, danymi faktury korygowanej z jej numerem KSeF i kwotami różnic zamiast pełnych wartości.
Źródła
- Pliki do pobrania KSeF 2.0: schemat FA(3), broszura informacyjna FA(3), przykładowe pliki FA(3)
- Ustawa o podatku od towarów i usług, tekst jednolity Dz.U. 2026 poz. 1263: art. 31a, art. 106e ust. 1, 7, 8, 11, art. 106gb ust. 5, art. 106j ust. 2
- Pytania i odpowiedzi KSeF 2.0: kategoria „Rozwiązania informatyczne, integracje i struktura KSeF”, pyt. 9, 19; kategoria „Wystawianie i otrzymywanie faktur”, pyt. 33; kategoria „Tryby offline i kody QR”, pyt. 7; kategoria „KSeF w Jednostkach Samorządu Terytorialnego”, pyt. 40; kategoria „Zagadnienia techniczne”, pyt. 6
- Dokumentacja API KSeF 2.0, MF (GitHub CIRFMF): „Numer KSeF”, „Kody weryfikujące QR”
Stan prawny na 19 października 2026 r. Artykuł ma charakter ogólnej informacji i nie stanowi porady podatkowej.