Jak przekonwertować PDF do XML KSeF – poradnik krok po kroku
Czym jest konwersja PDF do XML KSeF i dlaczego warto ją zautomatyzować?
Faktura w formacie PDF to dziś standard. Problem w tym, że KSeF nie czyta PDF-ów. System wymaga plików XML zgodnych ze ścisłą strukturą FA(1). I tu zaczyna się prawdziwe wyzwanie dla każdej firmy.
Konwersja PDF do XML KSeF to proces wyciągnięcia danych z faktury (najczęściej w PDF) i zapisania ich w ustrukturyzowanym pliku XML. Brzmi prosto? W teorii tak. W praktyce – zwłaszcza przy setkach faktur miesięcznie – to przepis na błędy i frustrację.
Dlaczego automatyzacja to konieczność? Bo ręczne przepisywanie danych z PDF do XML zajmuje mnóstwo czasu. A do tego generuje pomyłki – literówki w NIP-ie, błędne kwoty, nieprawidłowe daty. Każdy taki błąd oznacza odrzucenie faktury przez system KSeF. A to już opóźnienia i dodatkowa praca.
Format XML KSeF – wymogi i struktura
Struktura XML KSeF nie jest dowolna. To ścisły schemat, który definiuje, gdzie i jak mają być zapisane poszczególne dane. Każde pole ma swoją nazwę, typ i dopuszczalne wartości. Nawet drobne odstępstwo – na przykład przecinek zamiast kropki w kwocie – powoduje, że plik zostanie odrzucony.
Co musi zawierać poprawny XML KSeF?
- Dane sprzedawcy i nabywcy – pełne NIP-y, nazwy, adresy
- Szczegóły faktury – numer, data wystawienia, data sprzedaży
- Pozycje faktury – nazwy towarów/usług, ilości, ceny, stawki VAT
- Podsumowanie – kwoty netto, VAT, brutto
- Metody płatności – termin, forma płatności
To sporo pól. I każde z nich musi być wypełnione poprawnie.
Problemy z ręcznym przepisywaniem danych
Ręczne przepisywanie faktur z PDF do XML to proszenie się o kłopoty. Osoba wprowadzająca dane musi:
- odczytać każdą wartość z PDF (często nieczytelnego skanu)
- wpisać ją w odpowiednie pole w XML
- sprawdzić formaty dat i kwot
- upewnić się, że struktura XML jest zgodna z FA(1)
Przy 50 fakturach dziennie to godziny żmudnej pracy. I gwarancja, że gdzieś pojawi się błąd. Stąd rosnąca popularność narzędzi do automatycznego fakturowania KSeF, które robią to za nas.
Krok 1: Przygotowanie pliku PDF do konwersji
Zanim w ogóle pomyślisz o konwersji, musisz przygotować źródłowy PDF. To kluczowy krok, który wielu pomija – i potem dziwi się, że wyniki są kiepskie.
Jakie PDF nadają się do konwersji?
Najlepiej działają PDF z tekstem, czyli pliki wygenerowane bezpośrednio z programu księgowego lub fakturowego. Program może wtedy odczytać każdy znak osobno. Skan faktury? To zupełnie inna historia – to obraz, a nie tekst.
Jeśli masz tylko skany, nie obędzie się bez OCR (optyczne rozpoznawanie znaków). Niektóre narzędzia, jak ksefgpt.pl, mają wbudowane OCR. Inne wymagają osobnego skanera lub programu. Pamiętaj: im gorszej jakości skan, tym więcej błędów w odczycie.
Sprawdź też, czy faktura zawiera wszystkie wymagane pola. Brak NIP-u nabywcy? Nie da się wygenerować poprawnego XML. Brak daty sprzedaży? Też problem.
Czyszczenie i optymalizacja skanów
Jeśli pracujesz ze skanami, zadbaj o ich jakość przed konwersją:
- Ustaw rozdzielczość minimum 300 DPI – niższa daje nieczytelny tekst
- Usuń zbędne strony – faktura wielostronicowa z pustymi kartkami tylko spowalnia proces
- Sprawdź, czy plik nie jest zabezpieczony hasłem – narzędzia do konwersji nie otworzą takiego PDF
- Jeśli to możliwe, wyprostuj skan – przekrzywiony tekst to więcej błędów OCR
To może brzmieć jak drobiazgi, ale w praktyce decydują o sukcesie konwersji. Poświęć 2 minuty na przygotowanie pliku, a zaoszczędzisz 20 minut na poprawkach.
Krok 2: Wybór narzędzia do konwersji – porównanie opcji
Masz przygotowany PDF. Teraz potrzebujesz narzędzia, które przerobi go na XML KSeF. I tu pojawia się pytanie: jakie narzędzie wybrać?
| Narzędzie | Typ | Zalety | Wady |
|---|---|---|---|
| ksefgpt.pl | Online AI | Inteligentna konwersja, walidacja, wsparcie dla wielu faktur, integracja z KSeF | Płatne (ale oszczędza czas) |
| Darmowe konwertery PDF→XML | Online | Bezpłatne, proste w obsłudze | Nie obsługują struktury KSeF, brak walidacji |
| Programy księgowe (Comarch, Symfonia) | Lokalne | Zintegrowane z systemem księgowym | Wymagają licencji i konfiguracji |
| Skrypty programistyczne | Własne | Pełna kontrola nad procesem | Wymagają programisty i czasu |
Widzisz różnicę? Darmowe konwertery PDF→XML po prostu nie rozumieją, czym jest KSeF. Wyplują jakiś XML, ale nie będzie on zgodny z FA(1). A to oznacza, że i tak nie wyślesz faktury do systemu.
Z kolei program do faktur KSeF wbudowany w system księgowy to dobre rozwiązanie – jeśli już go masz. Jeśli nie, czeka cię wdrożenie i szkolenie pracowników.
Najszybszą i najwygodniejszą opcją są narzędzia AI, takie jak ksefgpt.pl. Dlaczego? Bo łączą w sobie automatyczne odczytywanie danych z PDF, mapowanie ich na strukturę KSeF i walidację – wszystko w jednym miejscu. I nie wymagają instalacji.
Automatyczne rozwiązania AI – w tym ksefgpt.pl
ksefgpt.pl to AI do fakturowania, które specjalizuje się w konwersji PDF do XML KSeF. Wrzucasz PDF, a system rozpoznaje dane, mapuje je na odpowiednie pola i generuje gotowy plik XML. Po drodze sprawdza, czy wszystko się zgadza. Jeśli znajdzie błąd – informuje cię i proponuje poprawkę.
To ogromna różnica w porównaniu z ręcznym przepisywaniem czy prostymi konwerterami. Nie musisz znać struktury FA(1) – narzędzie robi to za ciebie. Wystarczy, że zweryfikujesz wynik.
Krok 3: Przeprowadzenie konwersji – praktyczne wskazówki
Masz narzędzie, masz PDF. Czas na właściwą konwersję. I tu pojawia się kilka kluczowych kwestii, które decydują o jakości końcowego XML.
Konfiguracja mapowania pól
Większość zaawansowanych narzędzi pozwala na mapowanie pól – czyli wskazanie, która część PDF odpowiada któremu polu w XML. To szczególnie ważne, gdy faktury pochodzą z różnych źródeł i mają różny układ.
Przykład: w jednej fakturze NIP sprzedawcy jest w lewym górnym rogu, w drugiej – w prawym. Narzędzie musi wiedzieć, gdzie go szukać. Dobre narzędzia AI, jak ksefgpt.pl, uczą się na podstawie Twoich faktur i z czasem mapują je automatycznie. Ale na początku warto sprawdzić, czy wszystko jest poprawnie.
Na co zwrócić uwagę przy mapowaniu?
- NIP – musi być 10-cyfrowy, bez myślników i spacji
- Numer faktury – unikalny w ramach danego okresu
- Data – w formacie RRRR-MM-DD (ISO 8601)
- Kwoty – z kropką jako separatorem dziesiętnym (np. 123.45, nie 123,45)
- Stawki VAT – zgodne z polskim systemem (23%, 8%, 5%, 0%, zwolnione)
Jeśli narzędzie źle odczyta któreś pole, popraw je ręcznie przed generowaniem XML. Lepiej poświęcić chwilę na korektę, niż potem odrzucać fakturę w KSeF.
Walidacja wygenerowanego XML
Po wygenerowaniu pliku XML nie wysyłaj go od razu do KSeF. Najpierw go zweryfikuj. Każde porządne narzędzie do automatyzacji faktur KSeF powinno mieć wbudowaną walidację. ksefgpt.pl sprawdza XML pod kątem zgodności z FA(1) i wyświetla błędy, jeśli jakieś występują.
Możesz też skorzystać z narzędzia walidacyjnego na stronie Ministerstwa Finansów – ale to dodatkowy krok. Lepiej, gdy walidacja jest zintegrowana z konwersją.
Co sprawdza walidacja?
- Czy wszystkie wymagane pola są wypełnione
- Czy formaty danych są poprawne (daty, kwoty, NIP-y)
- Czy struktura XML jest zgodna ze schematem FA(1)
- Czy nie ma nadmiarowych pól, które mogą być odrzucone
Jeśli walidacja wykaże błędy, wróć do mapowania i popraw dane. Nie ignoruj ostrzeżeń – system KSeF też je wychwyci i odrzuci fakturę.
Krok 4: Zatwierdzenie i wysyłka faktury do KSeF
Plik XML jest gotowy i zwalidowany. Teraz trzeba go wysłać do KSeF. I to też nie jest trywialna czynność.
Jak wysłać XML do KSeF?
System KSeF przyjmuje faktury na dwa sposoby:
- Przez API – automatycznie, z poziomu programu księgowego lub narzędzia do faktur
- Przez panel administracyjny – ręcznie, logując się na stronie KSeF
Jeśli masz dużo faktur, API to jedyna sensowna opcja. Wysyłka każdej faktury przez panel to strata czasu. Dlatego narzędzia takie jak ksefgpt.pl integrują się z KSeF przez API i wysyłają faktury automatycznie po konwersji.
Wysyłka przez API wymaga:
- autoryzacji (certyfikat lub login/hasło)
- przygotowania żądania z plikiem XML
- obsługi odpowiedzi z systemu
Brzmi skomplikowanie? Dla programisty – tak. Dla przeciętnego księgowego – jeszcze bardziej. I tu wracamy do zalet automatyzacji. Dobre narzędzie robi to wszystko w tle.
Potwierdzenie odbioru i archiwizacja
Po wysłaniu faktury KSeF zwraca UPO (Urzędowe Poświadczenie Odbioru). To dowód, że faktura dotarła i została przyjęta. Bez UPO nie masz potwierdzenia wysyłki – a to może być problem podczas kontroli skarbowej.
Co zrobić z UPO?
- Pobierz je i zapisz razem z fakturą
- Zarchiwizuj oryginalny PDF, wygenerowany XML i UPO w jednym miejscu
- Przechowuj je przez okres wymagany przez przepisy (co do zasady 5 lat)
Nie polegaj na tym, że KSeF przechowa twoje faktury. Owszem, system je przechowuje, ale dostęp do nich może być utrudniony. Lepiej mieć własne archiwum.
Najczęstsze błędy przy konwersji PDF do XML KSeF i jak ich uniknąć
Nawet najlepsze narzędzie nie jest idealne. Błędy się zdarzają. Ale większości z nich można uniknąć, wiedząc, na co uważać.
Błędy w strukturze XML
Najczęstszy błąd? Brak wymaganych pól. Struktura FA(1) jest bardzo restrykcyjna. Jeśli w XML zabraknie choćby jednego obowiązkowego elementu – faktura zostanie odrzucona.
Przykłady pól, które często są pomijane:
- Kod kraju – dla faktur zagranicznych
- Data sprzedaży – jeśli różni się od daty wystawienia
- Numer zamówienia – jeśli był podstawą wystawienia faktury
- Stawka VAT – dla każdej pozycji osobno
Rozwiązanie? Używaj narzędzi z automatyczną walidacją, które wychwytują brakujące pola przed wysyłką. ksefgpt.pl robi to automatycznie – jeśli czegoś brakuje, system cię o tym poinformuje.
Problemy z danymi liczbowymi
Drugi najczęstszy problem to błędny format danych liczbowych. KSeF wymaga konkretnych formatów:
- Kwoty: format dziesiętny z kropką (np. 1234.56)
- Daty: ISO 8601 (RRRR-MM-DD)
- NIP: 10 cyfr, bez separatorów
Polskie faktury często używają przecinka w kwotach (1234,56) i Nie, tylko faktury w formacie PDF, które zawierają strukturę faktury (np. dane sprzedawcy, nabywcy, kwoty) można przekonwertować, pod warunkiem że są zgodne z wymaganiami KSeF. Proste skany lub obrazy mogą wymagać dodatkowego OCR. Potrzebujesz narzędzia do ekstrakcji danych z PDF (np. edytor PDF lub skrypt) oraz generatora XML zgodnego ze schematem KSeF. Można użyć gotowych aplikacji lub własnych skryptów w Pythonie z bibliotekami jak pdfplumber i xml.etree.ElementTree. Tak, od 1 lipca 2024 roku w Polsce faktury wystawiane w systemie KSeF muszą być w formacie XML. Faktury PDF nie są akceptowane, dlatego konieczna jest konwersja przed wysyłką. Można użyć oficjalnego walidatora KSeF dostępnego na stronie Ministerstwa Finansów lub sprawdzić strukturę ręcznie według schematu XSD. Błędy często dotyczą brakujących pól obowiązkowych lub nieprawidłowych formatów dat. Tak, dostępne są darmowe skrypty open-source (np. na GitHub) oraz narzędzia online, ale wymagają one często ręcznego dostosowania do konkretnego formatu PDF. Dla większych firm zaleca się płatne oprogramowanie z automatyczną ekstrakcją.Najczesciej zadawane pytania
Czy każdy plik PDF można przekonwertować do XML KSeF?
Jakie narzędzia są potrzebne do konwersji PDF do XML KSeF?
Czy konwersja PDF do XML KSeF jest obowiązkowa dla wszystkich firm?
Jak sprawdzić, czy wygenerowany XML KSeF jest poprawny?
Czy istnieją darmowe narzędzia do konwersji PDF na XML KSeF?