Faktury KSeF XML do Excela
Konwerter zapisuje jeden plik .xlsx z sześcioma arkuszami. Każda kolumna pochodzi ze wskazanego elementu FA(3), bez zaokrągleń. Nazwy kolumn są angielskie, bo skoroszyt ma trafić do centrali lub audytora za granicą.
Masz ZIP z fakturami XML z KSeF?
Zamień go na skoroszyt Excel i PDF-y. Do 5 plików bezpłatnie, bez wysyłania danych.
Arkusz „Invoices”: jeden wiersz na fakturę (58 kolumn)
| Termin polski | Kolumna | Źródło w FA(3) |
|---|---|---|
| Nazwa pliku | File name | (file) |
| Numer KSeF | KSeF number | (not in the XML: _metadata.json or file name) |
| Źródło numeru KSeF | KSeF number source | (this tool) |
| Numer faktury | Invoice number | Fa/P_2 |
| Rodzaj faktury | Invoice type code | Fa/RodzajFaktury |
| Rodzaj faktury (opis) | Invoice type | Fa/RodzajFaktury |
| Data wystawienia | Issue date | Fa/P_1 |
| Data dostawy / wykonania usługi | Sale date | Fa/P_6 |
| Okres od | Period from | Fa/OkresFa/P_6_Od |
| Okres do | Period to | Fa/OkresFa/P_6_Do |
| Miejsce wystawienia | Place of issue | Fa/P_1M |
| NIP sprzedawcy | Seller NIP | Podmiot1/DaneIdentyfikacyjne/NIP |
| Nazwa sprzedawcy | Seller name | Podmiot1/DaneIdentyfikacyjne/Nazwa |
| Kraj sprzedawcy | Seller country | Podmiot1/Adres/KodKraju |
| Adres sprzedawcy | Seller address | Podmiot1/Adres/AdresL1 + AdresL2 |
| Rodzaj identyfikatora nabywcy | Buyer ID type | Podmiot2/DaneIdentyfikacyjne (NIP | KodUE+NrVatUE | NrID | BrakID) |
| Identyfikator podatkowy nabywcy | Buyer tax ID | Podmiot2/DaneIdentyfikacyjne (NIP | KodUE+NrVatUE | KodKraju+NrID) |
| Nazwa nabywcy | Buyer name | Podmiot2/DaneIdentyfikacyjne/Nazwa |
| Kraj nabywcy | Buyer country | Podmiot2/Adres/KodKraju |
| Adres nabywcy | Buyer address | Podmiot2/Adres/AdresL1 + AdresL2 |
| Numer klienta | Buyer customer number | Podmiot2/NrKlienta |
| Podmioty trzecie | Other parties | Podmiot3 (Rola, NIP, Nazwa) |
| Kod waluty | Currency | Fa/KodWaluty |
| Suma wartości sprzedaży netto | Net total (sum of P_13 fields) | calculated: sum of Fa/P_13_1 ... P_13_11 |
| Suma kwot podatku | VAT total (sum of P_14 fields) | calculated: sum of Fa/P_14_1 ... P_14_5 |
| Suma kwot podatku w PLN | VAT total in PLN | calculated: sum of Fa/P_14_1W ... P_14_4W (foreign-currency invoices) |
| Kwota należności ogółem | Gross total | Fa/P_15 |
| Kontrola arytmetyczna | P_15 vs P_13 + P_14 | calculated: P_15 compared with the two sums (arithmetic only) |
| Zapłacono | Paid | Fa/Platnosc/Zaplacono | ZnacznikZaplatyCzesciowej (empty when the XML says nothing) |
| Data zapłaty | Payment date | Fa/Platnosc/DataZaplaty |
| Termin płatności | Payment due date | Fa/Platnosc/TerminPlatnosci/Termin (first) |
| Pozostałe terminy płatności | Other payment terms | Fa/Platnosc/TerminPlatnosci (further Termin, TerminOpis) |
| Forma płatności | Payment method | Fa/Platnosc/FormaPlatnosci | OpisPlatnosci |
| Numer rachunku | Bank account | Fa/Platnosc/RachunekBankowy/NrRB |
| Kod SWIFT | SWIFT | Fa/Platnosc/RachunekBankowy/SWIFT |
| Do zapłaty | Amount to pay | Fa/Rozliczenie/DoZaplaty |
| Numery zamówień | Order numbers | Fa/WarunkiTransakcji/Zamowienia/NrZamowienia |
| Numery umów | Contract numbers | Fa/WarunkiTransakcji/Umowy/NrUmowy |
| Mechanizm podzielonej płatności | Split payment | Fa/Adnotacje/P_18A |
| Odwrotne obciążenie | Reverse charge | Fa/Adnotacje/P_18 |
| Samofakturowanie | Self-billing | Fa/Adnotacje/P_17 |
| Metoda kasowa | Cash accounting | Fa/Adnotacje/P_16 |
| Podstawa zwolnienia od podatku | VAT exemption basis | Fa/Adnotacje/Zwolnienie/P_19A | P_19B | P_19C |
| Procedura marży | Margin scheme | Fa/Adnotacje/PMarzy |
| Procedura trójstronna uproszczona | Simplified triangulation | Fa/Adnotacje/P_23 |
| Powiązania między nabywcą a dostawcą | Related parties (TP) | Fa/TP |
| Przyczyna korekty | Correction reason | Fa/PrzyczynaKorekty |
| Typ skutku korekty | Correction effect | Fa/TypKorekty |
| Numery faktur korygowanych | Corrected invoice numbers | Fa/DaneFaKorygowanej/NrFaKorygowanej |
| Numery KSeF faktur korygowanych | Corrected invoice KSeF numbers | Fa/DaneFaKorygowanej/NrKSeFFaKorygowanej |
| Faktury zaliczkowe | Advance invoices | Fa/FakturaZaliczkowa |
| Liczba wierszy | Lines | count of Fa/FaWiersz |
| Załącznik | Has attachment | Zalacznik |
| System wystawcy | Issuing system | Naglowek/SystemInfo |
| Data wytworzenia faktury | File created at | Naglowek/DataWytworzeniaFa |
| Link weryfikacyjny (KOD I) | KSeF verification link | calculated: seller NIP + P_1 + SHA-256 of this file |
| Kontrola skrótu pliku | File hash check | (this tool) SHA-256 of the file vs invoiceHash in _metadata.json |
| Uwagi | Notes | (this tool) |
Arkusz „Lines”: jeden wiersz na pozycję faktury (36 kolumn)
| Termin polski | Kolumna | Źródło w FA(3) |
|---|---|---|
| Nazwa pliku | File name | (file) |
| Numer KSeF | KSeF number | (not in the XML: _metadata.json or file name) |
| Numer faktury | Invoice number | Fa/P_2 |
| Data wystawienia | Issue date | Fa/P_1 |
| NIP sprzedawcy | Seller NIP | Podmiot1/DaneIdentyfikacyjne/NIP |
| Nazwa sprzedawcy | Seller name | Podmiot1/DaneIdentyfikacyjne/Nazwa |
| Identyfikator podatkowy nabywcy | Buyer tax ID | Podmiot2/DaneIdentyfikacyjne |
| Nazwa nabywcy | Buyer name | Podmiot2/DaneIdentyfikacyjne/Nazwa |
| Kod waluty | Currency | Fa/KodWaluty |
| Rodzaj wiersza | Line type | FaWiersz = invoice line; ZamowienieWiersz = order line on an advance invoice |
| Lp. | Line no. | FaWiersz/NrWierszaFa | ZamowienieWiersz/NrWierszaZam |
| Nazwa towaru lub usługi | Description | FaWiersz/P_7 |
| Miara | Unit | FaWiersz/P_8A |
| Ilość | Quantity | FaWiersz/P_8B |
| Cena jednostkowa netto | Unit price net | FaWiersz/P_9A |
| Cena jednostkowa brutto | Unit price gross | FaWiersz/P_9B |
| Rabat | Discount | FaWiersz/P_10 |
| Wartość sprzedaży netto | Net value | FaWiersz/P_11 |
| Stawka podatku | VAT rate code | FaWiersz/P_12 |
| Stawka podatku (opis) | VAT rate meaning | FaWiersz/P_12 |
| Kwota podatku | VAT amount | FaWiersz/P_11Vat |
| Wartość sprzedaży brutto | Gross value | FaWiersz/P_11A |
| Stawka podatku OSS | OSS VAT rate | FaWiersz/P_12_XII |
| Data dostawy / wykonania | Line date | FaWiersz/P_6A |
| Indeks | Item code | FaWiersz/Indeks |
| GTIN | GTIN | FaWiersz/GTIN |
| PKWiU | PKWiU | FaWiersz/PKWiU |
| CN | CN code | FaWiersz/CN |
| GTU | GTU | FaWiersz/GTU |
| Procedura | Procedure | FaWiersz/Procedura |
| Załącznik nr 15 | Annex 15 item | FaWiersz/P_12_Zal_15 |
| Kwota podatku akcyzowego | Excise amount | FaWiersz/KwotaAkcyzy |
| Kurs waluty | Exchange rate | FaWiersz/KursWaluty |
| Stan przed korektą | Before correction | FaWiersz/StanPrzed |
| UU_ID | Line ID | FaWiersz/UU_ID |
| Dodatkowy opis | Line notes | Fa/DodatkowyOpis (rows with NrWiersza) |
Arkusz „VAT summary”: jeden wiersz na fakturę i kategorię VAT
| Termin polski | Kolumna | Źródło w FA(3) |
|---|---|---|
| Pole | Field | Fa/P_13_x |
| Kategoria | VAT category | meaning of the P_13_x field |
| Kwota netto | Net amount | Fa/P_13_x |
| Kwota podatku | VAT amount | Fa/P_14_x |
| Kwota podatku w PLN | VAT amount in PLN | Fa/P_14_xW |
Jak zapisywane są wartości
- Kwoty to komórki liczbowe z dokładnym zapisem dziesiętnym z XML. Liczby dłuższe niż 15 cyfr znaczących pozostają tekstem, bo Excel by je zmienił.
- Daty to prawdziwe daty Excela w formacie RRRR-MM-DD.
- NIP, numery KSeF i rachunki bankowe są tekstem, więc zera wiodące nie znikają.
- Opcja CSV zapisuje te same trzy tabele jako pliki UTF-8 ze znacznikiem BOM, rozdzielane przecinkami, z kropką dziesiętną.
- Pliki inne niż FA (3) (np. FA (2), UPO, PEF) trafiają do arkusza „Skipped” z podaniem powodu.
Źródło: schemat_FA(3)_v1-0E.xsd (Ministry of Finance, KSeF documentation repository). Odczyt 2026-11-10.