Wszystkie artykuły
    KSeF26 maja 20268 min

    KSeF eksport faktur z Excela: jak zamienić arkusz na FA(3) i wysłać do systemu

    Zespół FakturaFlowPraktycy automatyzacji KSeF dla biur rachunkowych w Polsce.

    Większość biur rachunkowych trzyma dane fakturowe klientów w arkuszach Excela. Jeden plik na klienta, kolumny z numerem faktury, NIP-em nabywcy, kwotą netto i stawką VAT, a na końcu miesiąca trzeba to wszystko przenieść do Krajowego Systemu e-Faktur. Problem w tym, że KSeF nie przyjmie pliku .xlsx. System akceptuje wyłącznie ustrukturyzowany plik XML w schemacie FA(3). W tym artykule pokazujemy, jak przejść od arkusza do gotowego FA(3) i hurtowo wysłać faktury, bez przepisywania każdej pozycji ręcznie.

    Dlaczego nie wgrasz Excela wprost do KSeF

    To pierwsze nieporozumienie, na które trafia każde biuro. KSeF nie jest skrzynką na pliki. To rządowe repozytorium, które przyjmuje fakturę tylko wtedy, gdy ma ona ściśle określoną strukturę: zdefiniowane pola, ich kolejność i typy danych zgodne ze schematem FA(3) opublikowanym przez Ministerstwo Finansów.

    Arkusz Excela jest „płaski". Wiersz to faktura, kolumna to jedno pole, a komórka zawiera surową wartość. FA(3) jest „zagnieżdżony": dane sprzedawcy i nabywcy siedzą w osobnych blokach (Podmiot1, Podmiot2), pozycje faktury w sekcji FaWiersz, a podsumowania VAT w polach P_13_x i P_14_x. Konwersja polega więc na zmapowaniu kolumn arkusza na właściwe elementy XML, a nie na zwykłym „zapisz jako".

    Jeśli chcesz najpierw zrozumieć samą anatomię tego formatu, zacznij od artykułu Schemat FA(3): struktura faktury w KSeF. Tutaj skupiamy się na drodze od Excela do wysyłki.

    Co naprawdę oznacza „eksport faktur z Excela do KSeF"

    Pod tym hasłem kryją się dwa różne scenariusze, które warto rozróżnić, zanim zaczniesz działać.

    Scenariusz A: dane wystawione poza KSeF

    Klient prowadzi własną ewidencję sprzedaży w Excelu (sklep, usługi, najem) i co miesiąc przekazuje biuru gotowy arkusz z listą faktur. Biuro musi te faktury wystawić w KSeF jako faktury sprzedażowe klienta. To najczęstszy przypadek i właśnie o nim mówimy w dalszej części.

    Scenariusz B: raport kontrolny przed wysyłką

    Tu Excel służy jako warstwa weryfikacji: biuro buduje arkusz zbiorczy, sprawdza sumy VAT, wyłapuje duplikaty numerów, a dopiero potem przekształca dane na FA(3). Ten krok zmniejsza liczbę odrzuceń po stronie KSeF i jest dobrym nawykiem nawet przy niewielkiej liczbie faktur.

    Jak przygotować arkusz pod konwersję do FA(3)

    Jakość pliku XML zależy przede wszystkim od jakości arkusza. Czysty, jednoznaczny Excel konwertuje się gładko, a bałaganiarski wymusza ręczne poprawki przy każdej fakturze.

    Minimalny zestaw kolumn

    Aby zbudować poprawne FA(3), arkusz musi zawierać co najmniej:

    • numer faktury (pole P_2), na przykład FV/2026/05/0012,
    • datę wystawienia w formacie RRRR-MM-DD (pole P_1),
    • NIP nabywcy (10 cyfr, bez myślników i spacji),
    • nazwę i adres nabywcy,
    • nazwę pozycji, ilość, cenę jednostkową netto,
    • stawkę VAT jako liczbę: 23, 8, 5, 0 lub oznaczenie zw,
    • wartość netto i kwotę VAT dla każdej stawki.

    Najczęstsze pułapki w danych z Excela

    • NIP z formatowaniem. 525-276-32-66 albo 5252763266 ze spacją na końcu psują walidację. NIP musi być ciągiem 10 cyfr.
    • Stawka VAT jako tekst. Komórka zawierająca 23% to tekst, nie liczba. W FA(3) stawka trafia do osobnego pola, a procent jest tylko opisem.
    • Przecinek zamiast kropki w kwotach. Polski Excel domyślnie zapisuje 1 230,00, a XML wymaga 1230.00, bez separatora tysięcy i z kropką dziesiętną.
    • Daty jako tekst. 4 maja 2026 albo 04.05.2026 muszą zostać sprowadzone do 2026-05-04.
    • Puste wiersze i sumy częściowe. Wiersz „RAZEM" w środku arkusza zostanie potraktowany jako kolejna faktura, jeśli go nie usuniesz.

    Im wcześniej posprzątasz dane, tym mniej błędów zobaczysz później. O typowych komunikatach odrzucenia piszemy w artykule Najczęstsze błędy KSeF i jak je naprawić.

    Metoda 1: ręczne przepisywanie do formularza

    Najprostsza i najwolniejsza droga. Otwierasz aplikację (np. bezpłatną Aplikację Podatnika MF), wybierasz „nowa faktura" i przepisujesz pola z arkusza jedno po drugim.

    Dla pięciu faktur miesięcznie to do zaakceptowania. Dla biura obsługującego kilkudziesięciu klientów, gdzie każdy generuje od kilkunastu do kilkuset dokumentów, ręczne przepisywanie oznacza dziesiątki godzin pracy i wysokie ryzyko literówki w NIP-ie lub kwocie. To nie jest metoda, którą da się skalować.

    Metoda 2: własny skrypt mapujący Excel na FA(3) XML

    Jeśli w zespole jest osoba znająca podstawy programowania, można napisać skrypt, który czyta arkusz i generuje pliki XML. Idea jest prosta: każda kolumna arkusza odpowiada jednemu elementowi FA(3).

    Przykład mapowania kolumny na pole FA(3)

    Załóżmy, że arkusz ma kolumny: Numer, Data, NIP_nabywcy, Netto, VAT. Fragment wynikowego XML dla jednej faktury wygląda tak:

    <Fa>
      <KodWaluty>PLN</KodWaluty>
      <P_1>2026-05-04</P_1>
      <P_2>FV/2026/05/0012</P_2>
      <P_13_1>1000.00</P_13_1>
      <P_14_1>230.00</P_14_1>
      <P_15>1230.00</P_15>
    </Fa>
    

    Tu P_13_1 to suma netto w stawce 23%, P_14_1 to kwota VAT w tej stawce, a P_15 to należność ogółem (brutto). Jeśli faktura ma pozycje w kilku stawkach, trafiają one do kolejnych par pól (P_13_2/P_14_2 dla 8% i tak dalej).

    Minusy własnego skryptu: trzeba go utrzymywać przy każdej zmianie schematu po stronie MF, samodzielnie obsłużyć uwierzytelnianie tokenem, szyfrowanie sesji i pobieranie potwierdzeń. To realny projekt programistyczny, nie jednorazowy makrowiec w Excelu. Jeśli mimo to chcesz iść tą drogą, przyda się przewodnik Token KSeF: jak go wygenerować.

    Metoda 3: hurtowy import pliku Excel w Cockpicie KSeF

    Trzecia droga to gotowe narzędzie, które bierze na siebie konwersję, walidację, wysyłkę i pobranie potwierdzeń. W FakturaFlow wygląda to tak:

    1. Wgrywasz plik Excel z listą faktur klienta (obsługujemy też PDF i gotowy XML).
    2. System mapuje kolumny na pola FA(3) i pokazuje podgląd do sprawdzenia.
    3. Wbudowana walidacja sygnalizuje błędne NIP-y, brakujące pola i niespójne sumy VAT, zanim cokolwiek poleci do MF.
    4. Po akceptacji faktury są szyfrowane i wysyłane hurtowo na produkcyjny endpoint api.ksef.mf.gov.pl.
    5. Dla każdej faktury system pobiera Urzędowe Poświadczenie Odbioru (UPO) i zapisuje je razem z numerem KSeF.

    Wysyłka hurtowa z pliku jest dostępna w planie Professional (319 zł / mies.) oraz Enterprise (499 zł / mies.). Plan Starter (199 zł / mies.) obsługuje pojedyncze faktury i mniejszy zestaw klientów. Pełny przebieg masowej wysyłki opisujemy w artykule Jak wysyłać faktury do KSeF hurtowo.

    Walidacja przed wysyłką: dlaczego to się opłaca

    Niezależnie od wybranej metody, sprawdź XML, zanim trafi do KSeF. System odrzuci fakturę z błędną strukturą i zwróci kod błędu, ale Twoim celem jest, żeby do odrzucenia w ogóle nie doszło, bo każda poprawka po fakcie to dodatkowa runda komunikacji z systemem.

    Jeśli generujesz XML poza naszym narzędziem (na przykład własnym skryptem), możesz go bezpłatnie sprawdzić w naszym walidatorze KSeF. Walidator wykonuje dziewięć kontroli zgodności ze schematem FA(3) i działa w całości w przeglądarce, więc plik z danymi klienta nie opuszcza Twojego komputera. Surowe dane fakturowe mogą zawierać dane osobowe kontrahentów, więc lokalna walidacja ogranicza zakres ich przetwarzania zgodnie z RODO.

    Workflow miesięczny biura: od arkusza do UPO

    Poskładajmy to w powtarzalny proces dla biura obsługującego wielu klientów:

    1. Zbierz arkusze. Klienci przesyłają miesięczne zestawienia sprzedaży w ustalonym szablonie Excela. Jeden szablon dla wszystkich oszczędza godziny na sprzątaniu danych.
    2. Wyczyść dane. Usuń puste wiersze, ujednolicaj format dat i kwot, sprawdź NIP-y.
    3. Skonwertuj na FA(3). Hurtowy import zamienia arkusz na zestaw plików XML.
    4. Zwaliduj. Wyłap błędy przed wysyłką, najlepiej automatycznie na etapie podglądu.
    5. Wyślij hurtowo. Cały plik leci do KSeF jednym działaniem, a nie fakturą po fakturze.
    6. Pobierz i zarchiwizuj UPO. Każde potwierdzenie zapisujesz przy fakturze, razem z numerem KSeF, na potrzeby kontroli.

    Tak wygląda różnica między „przepisywaniem do północy ostatniego dnia miesiąca" a procesem, który da się zamknąć w jedno popołudnie.

    Kiedy obowiązek wejdzie w życie

    Warto pamiętać o kontekście, bo to on wymusza uporządkowanie eksportu z Excela. Obowiązek KSeF wchodzi etapami: od 1 lutego 2026 r. dla największych podatników (obrót powyżej 200 mln zł), od 1 kwietnia 2026 r. dla pozostałych czynnych podatników VAT, a od 1 stycznia 2027 r. obejmie także najmniejszych przedsiębiorców. Dla biur rachunkowych oznacza to, że ad hoc wpisywanie faktur przestaje być opcją: potrzebny jest powtarzalny, walidowany proces hurtowy.

    Najczęstsze pytania

    Czy KSeF kiedyś będzie przyjmował pliki Excel bezpośrednio?

    Ministerstwo Finansów nie zapowiadało takiej funkcji, a docelowym formatem pozostaje ustrukturyzowany XML w schemacie FA(3). Excel pozostanie formatem roboczym po stronie biura, a konwersja będzie potrzebna zawsze.

    Czy jeden arkusz może zawierać faktury kilku klientów?

    Technicznie tak, ale w praktyce wygodniej rozdzielić arkusze per klient, bo każda faktura sprzedażowa jest wystawiana w kontekście konkretnego sprzedawcy (z jego NIP-em w sekcji Podmiot1). Mieszanie sprzedawców w jednym pliku komplikuje mapowanie.

    Co z fakturami w kilku stawkach VAT?

    FA(3) obsługuje wiele stawek na jednej fakturze. W arkuszu wystarczy mieć osobne kolumny netto i VAT dla każdej stawki albo osobne wiersze pozycji, a narzędzie zsumuje je do właściwych pól P_13_x i P_14_x.

    Podsumowanie

    Eksport faktur z Excela do KSeF to nie zapis pliku, tylko mapowanie danych na schemat FA(3) i wysyłka ustrukturyzowanego XML. Możesz przepisywać ręcznie (wolno i ryzykownie), napisać własny skrypt (elastycznie, ale kosztownie w utrzymaniu) albo użyć gotowego importu hurtowego, który zamknie cały cykl od arkusza do UPO. Jeśli generujesz XML samodzielnie, sprawdź go najpierw w bezpłatnym walidatorze KSeF, a dane klienta zostaną na Twoim komputerze.

    Wypróbuj za darmo

    Sprawdź swoją fakturę, zanim odrzuci ją KSeF

    Wgraj XML faktury w walidatorze FakturaFlow i zobacz konkretne błędy zanim plik trafi do Krajowego Systemu e-Faktur. Bez konta, bez instalacji, pliki nie opuszczają Twojej przeglądarki.

    Walidator XML FA(3) · Konwerter PDF → XML · 3 użycia dziennie za darmo