KSeF XML to Excel: the workbook, column by column
The converter writes one .xlsx file with six sheets. Each column below is read from the FA(3) element shown, without rounding. FA(3) is the XML structure of invoices in KSeF, Poland's national e-invoicing system.
Have a ZIP of KSeF XML invoices?
Turn it into an Excel workbook and PDFs. Free up to 5 files, nothing uploaded.
Sheet "Invoices": one row per invoice (58 columns)
| Column | Polish term | FA(3) source |
|---|---|---|
| File name | Nazwa pliku | (file) |
| KSeF number | Numer KSeF | (not in the XML: _metadata.json or file name) |
| KSeF number source | Źródło numeru KSeF | (this tool) |
| Invoice number | Numer faktury | Fa/P_2 |
| Invoice type code | Rodzaj faktury | Fa/RodzajFaktury |
| Invoice type | Rodzaj faktury (opis) | Fa/RodzajFaktury |
| Issue date | Data wystawienia | Fa/P_1 |
| Sale date | Data dostawy / wykonania usługi | Fa/P_6 |
| Period from | Okres od | Fa/OkresFa/P_6_Od |
| Period to | Okres do | Fa/OkresFa/P_6_Do |
| Place of issue | Miejsce wystawienia | Fa/P_1M |
| Seller NIP | NIP sprzedawcy | Podmiot1/DaneIdentyfikacyjne/NIP |
| Seller name | Nazwa sprzedawcy | Podmiot1/DaneIdentyfikacyjne/Nazwa |
| Seller country | Kraj sprzedawcy | Podmiot1/Adres/KodKraju |
| Seller address | Adres sprzedawcy | Podmiot1/Adres/AdresL1 + AdresL2 |
| Buyer ID type | Rodzaj identyfikatora nabywcy | Podmiot2/DaneIdentyfikacyjne (NIP | KodUE+NrVatUE | NrID | BrakID) |
| Buyer tax ID | Identyfikator podatkowy nabywcy | Podmiot2/DaneIdentyfikacyjne (NIP | KodUE+NrVatUE | KodKraju+NrID) |
| Buyer name | Nazwa nabywcy | Podmiot2/DaneIdentyfikacyjne/Nazwa |
| Buyer country | Kraj nabywcy | Podmiot2/Adres/KodKraju |
| Buyer address | Adres nabywcy | Podmiot2/Adres/AdresL1 + AdresL2 |
| Buyer customer number | Numer klienta | Podmiot2/NrKlienta |
| Other parties | Podmioty trzecie | Podmiot3 (Rola, NIP, Nazwa) |
| Currency | Kod waluty | Fa/KodWaluty |
| Net total (sum of P_13 fields) | Suma wartości sprzedaży netto | calculated: sum of Fa/P_13_1 ... P_13_11 |
| VAT total (sum of P_14 fields) | Suma kwot podatku | calculated: sum of Fa/P_14_1 ... P_14_5 |
| VAT total in PLN | Suma kwot podatku w PLN | calculated: sum of Fa/P_14_1W ... P_14_4W (foreign-currency invoices) |
| Gross total | Kwota należności ogółem | Fa/P_15 |
| P_15 vs P_13 + P_14 | Kontrola arytmetyczna | calculated: P_15 compared with the two sums (arithmetic only) |
| Paid | Zapłacono | Fa/Platnosc/Zaplacono | ZnacznikZaplatyCzesciowej (empty when the XML says nothing) |
| Payment date | Data zapłaty | Fa/Platnosc/DataZaplaty |
| Payment due date | Termin płatności | Fa/Platnosc/TerminPlatnosci/Termin (first) |
| Other payment terms | Pozostałe terminy płatności | Fa/Platnosc/TerminPlatnosci (further Termin, TerminOpis) |
| Payment method | Forma płatności | Fa/Platnosc/FormaPlatnosci | OpisPlatnosci |
| Bank account | Numer rachunku | Fa/Platnosc/RachunekBankowy/NrRB |
| SWIFT | Kod SWIFT | Fa/Platnosc/RachunekBankowy/SWIFT |
| Amount to pay | Do zapłaty | Fa/Rozliczenie/DoZaplaty |
| Order numbers | Numery zamówień | Fa/WarunkiTransakcji/Zamowienia/NrZamowienia |
| Contract numbers | Numery umów | Fa/WarunkiTransakcji/Umowy/NrUmowy |
| Split payment | Mechanizm podzielonej płatności | Fa/Adnotacje/P_18A |
| Reverse charge | Odwrotne obciążenie | Fa/Adnotacje/P_18 |
| Self-billing | Samofakturowanie | Fa/Adnotacje/P_17 |
| Cash accounting | Metoda kasowa | Fa/Adnotacje/P_16 |
| VAT exemption basis | Podstawa zwolnienia od podatku | Fa/Adnotacje/Zwolnienie/P_19A | P_19B | P_19C |
| Margin scheme | Procedura marży | Fa/Adnotacje/PMarzy |
| Simplified triangulation | Procedura trójstronna uproszczona | Fa/Adnotacje/P_23 |
| Related parties (TP) | Powiązania między nabywcą a dostawcą | Fa/TP |
| Correction reason | Przyczyna korekty | Fa/PrzyczynaKorekty |
| Correction effect | Typ skutku korekty | Fa/TypKorekty |
| Corrected invoice numbers | Numery faktur korygowanych | Fa/DaneFaKorygowanej/NrFaKorygowanej |
| Corrected invoice KSeF numbers | Numery KSeF faktur korygowanych | Fa/DaneFaKorygowanej/NrKSeFFaKorygowanej |
| Advance invoices | Faktury zaliczkowe | Fa/FakturaZaliczkowa |
| Lines | Liczba wierszy | count of Fa/FaWiersz |
| Has attachment | Załącznik | Zalacznik |
| Issuing system | System wystawcy | Naglowek/SystemInfo |
| File created at | Data wytworzenia faktury | Naglowek/DataWytworzeniaFa |
| KSeF verification link | Link weryfikacyjny (KOD I) | calculated: seller NIP + P_1 + SHA-256 of this file |
| File hash check | Kontrola skrótu pliku | (this tool) SHA-256 of the file vs invoiceHash in _metadata.json |
| Notes | Uwagi | (this tool) |
Sheet "Lines": one row per invoice line (36 columns)
Order lines of advance payment invoices (ZamowienieWiersz) are included and marked "Order line".
| Column | Polish term | FA(3) source |
|---|---|---|
| File name | Nazwa pliku | (file) |
| KSeF number | Numer KSeF | (not in the XML: _metadata.json or file name) |
| Invoice number | Numer faktury | Fa/P_2 |
| Issue date | Data wystawienia | Fa/P_1 |
| Seller NIP | NIP sprzedawcy | Podmiot1/DaneIdentyfikacyjne/NIP |
| Seller name | Nazwa sprzedawcy | Podmiot1/DaneIdentyfikacyjne/Nazwa |
| Buyer tax ID | Identyfikator podatkowy nabywcy | Podmiot2/DaneIdentyfikacyjne |
| Buyer name | Nazwa nabywcy | Podmiot2/DaneIdentyfikacyjne/Nazwa |
| Currency | Kod waluty | Fa/KodWaluty |
| Line type | Rodzaj wiersza | FaWiersz = invoice line; ZamowienieWiersz = order line on an advance invoice |
| Line no. | Lp. | FaWiersz/NrWierszaFa | ZamowienieWiersz/NrWierszaZam |
| Description | Nazwa towaru lub usługi | FaWiersz/P_7 |
| Unit | Miara | FaWiersz/P_8A |
| Quantity | Ilość | FaWiersz/P_8B |
| Unit price net | Cena jednostkowa netto | FaWiersz/P_9A |
| Unit price gross | Cena jednostkowa brutto | FaWiersz/P_9B |
| Discount | Rabat | FaWiersz/P_10 |
| Net value | Wartość sprzedaży netto | FaWiersz/P_11 |
| VAT rate code | Stawka podatku | FaWiersz/P_12 |
| VAT rate meaning | Stawka podatku (opis) | FaWiersz/P_12 |
| VAT amount | Kwota podatku | FaWiersz/P_11Vat |
| Gross value | Wartość sprzedaży brutto | FaWiersz/P_11A |
| OSS VAT rate | Stawka podatku OSS | FaWiersz/P_12_XII |
| Line date | Data dostawy / wykonania | FaWiersz/P_6A |
| Item code | Indeks | FaWiersz/Indeks |
| GTIN | GTIN | FaWiersz/GTIN |
| PKWiU | PKWiU | FaWiersz/PKWiU |
| CN code | CN | FaWiersz/CN |
| GTU | GTU | FaWiersz/GTU |
| Procedure | Procedura | FaWiersz/Procedura |
| Annex 15 item | Załącznik nr 15 | FaWiersz/P_12_Zal_15 |
| Excise amount | Kwota podatku akcyzowego | FaWiersz/KwotaAkcyzy |
| Exchange rate | Kurs waluty | FaWiersz/KursWaluty |
| Before correction | Stan przed korektą | FaWiersz/StanPrzed |
| Line ID | UU_ID | FaWiersz/UU_ID |
| Line notes | Dodatkowy opis | Fa/DodatkowyOpis (rows with NrWiersza) |
Sheet "VAT summary": one row per invoice and VAT category
| Column | Polish term | FA(3) source |
|---|---|---|
| Field | Pole | Fa/P_13_x |
| VAT category | Kategoria | meaning of the P_13_x field |
| Net amount | Kwota netto | Fa/P_13_x |
| VAT amount | Kwota podatku | Fa/P_14_x |
| VAT amount in PLN | Kwota podatku w PLN | Fa/P_14_xW |
Other sheets
- Skipped: every file that was not converted, with the reason.
- Fields: this column list, inside the workbook.
- About: what the file is, when it was made, and how numbers were handled.
How values are written
- Amounts are numeric cells holding the exact decimal text from the XML. Numbers longer than 15 significant digits stay as text, because Excel would otherwise alter them.
- Dates are real Excel dates shown as YYYY-MM-DD.
- NIP, KSeF numbers and bank accounts are text, so leading zeros survive.
- The CSV option writes the same three tables as UTF-8 files with a byte order mark, comma separated, with a decimal point.
Source: schemat_FA(3)_v1-0E.xsd (Ministry of Finance, KSeF documentation repository). Read 2026-11-10.