Masowa konwersja faktur PDF do KSeF FA(3) XML

Cała paczka dokumentów w jednym przebiegu, przetwarzana równolegle. Organizacja pracy przy kilkuset fakturach miesięcznie.

Przetwarzanie wsadowe faktur PDF do XML FA(3): podział paczek, nazewnictwo, weryfikacja przy dużych wolumenach i wysyłka do KSeF.

Masowa konwersja polega na przetworzeniu całej paczki faktur PDF w jednym przebiegu, zamiast wgrywania dokumentów pojedynczo. Dokumenty przetwarzane są równolegle, więc czas rośnie znacznie wolniej niż ich liczba — piętnaście faktur kończy się pobraniem archiwum z piętnastoma plikami XML w około dwadzieścia sekund. Ten tekst opisuje organizację takiej pracy przy większych wolumenach.

Jeżeli interesuje Cię pojedynczy dokument i przebieg krok po kroku, zobacz przewodnik jak przekonwertować fakturę PDF do KSeF.

Rachunek czasu

Przy pracy wsadowej liczy się nie czas jednej konwersji, lecz czas zamknięcia całego okresu. Punktem odniesienia jest ręczne wprowadzanie dokumentów:

Wolumen miesięcznyRęczne przepisanie (ok. 3 min/dok.)Konwersja wsadowa
50 fakturok. 2,5 godzinykilka minut
150 fakturok. 7,5 godzinykilkanaście minut
300 fakturok. 15 godzinok. pół godziny

Różnica nie bierze się z szybkości pisania, tylko z tego, że dokumenty przetwarzane są jednocześnie, a nie po kolei. Czas pracy człowieka przesuwa się z przepisywania na weryfikację — sprawdzenie odczytanych wartości zajmuje kilkanaście sekund na dokument zamiast kilku minut.

Jak dzielić paczki

W praktyce sprawdza się podział według kryterium, które i tak wynika z organizacji pracy:

Według klienta. Naturalny podział w biurze rachunkowym. Każda paczka odpowiada jednemu podmiotowi, dzięki czemu numeracja i folder pozostają spójne. Organizację pracy wieloklieńckiej opisaliśmy w omówieniu dla biur rachunkowych.

Według rodzaju dokumentu. Faktury sprzedaży i zakupu warto przetwarzać osobno, ponieważ trafiają do różnych rejestrów i wymagają innej weryfikacji.

Według okresu. Przy nadrabianiu zaległości wygodniej pracować miesiącami niż całym kwartałem naraz — łatwiej wychwycić dokument, którego brakuje.

Nie ma potrzeby dzielenia faktur wielostronicowych. Dokument przetwarzany jest w całości niezależnie od liczby stron.

Nazewnictwo i porządkowanie

Przy kilkuset plikach nazwy generowane automatycznie przez system źródłowy przestają być użyteczne. Po przypisaniu dokumentów do folderu można zastosować wzorzec nazw, na przykład FV/01/2026, FV/02/2026 — numeracja nadawana jest kolejno w obrębie folderu.

Pozwala to uniknąć sytuacji, w której w archiwum znajdują się trzy pliki o nazwie faktura.pdf z różnych miesięcy. Nazwa nadana przy przypisaniu do folderu zostaje zachowana także w pobranym archiwum.

Weryfikacja przy dużych wolumenach

Sprawdzanie każdej faktury pole po polu przy trzystu dokumentach jest niewykonalne. W praktyce sprawdza się kontrola wyrywkowa połączona z kontrolą sum.

Warto zwrócić uwagę na trzy rzeczy. Po pierwsze — dokumenty odbiegające od typowego wzorca: faktury z rabatem na całość, z pozycjami w kilku stawkach, z korektą. Po drugie — dokumenty o najniższej jakości skanu, bo tam ryzyko błędnego odczytu jest największe. Po trzecie — zgodność sumy kontrolnej całej paczki z zestawieniem z systemu źródłowego.

Każdy plik generowany w przebiegu wsadowym przechodzi walidację względem schematu XSD przed pobraniem, więc błędy strukturalne nie przechodzą dalej. Typowe przyczyny odrzuceń zestawiliśmy w opracowaniu błędów walidacji XML FA(3).

Co dostajesz na wyjściu

Wynikiem przebiegu jest archiwum z osobnym plikiem XML dla każdej faktury. Pliki są niezależne — każdy można wysłać do KSeF oddzielnie, a odrzucenie jednego nie wpływa na pozostałe.

Ten sam zestaw dokumentów można wyeksportować równolegle w innych formatach, jeśli dane mają trafić także do systemu księgowego: do formatu importu Comarch ERP Optima, do EDI++ dla InsERT albo do arkusza Excel. Dokument wprowadzany jest wtedy raz, a trafia w dwa miejsca — opisujemy to przy okazji obiegu faktur PDF w Optimie.

Wysyłka do KSeF

Po połączeniu konta tokenem z systemu Ministerstwa Finansów faktury można wysyłać bezpośrednio z panelu. Przy pracy wsadowej istotne jest, aby wysyłka odbywała się w kontekście właściwego NIP-u — przy obsłudze wielu podmiotów każdy wymaga osobnego tokena.

W odpowiedzi system zwraca numer KSeF oraz UPO dla każdego przyjętego dokumentu. Dokumenty odrzucone można poprawić i wysłać ponownie bez powtarzania konwersji całej paczki.

Najczęstsze pytania

Ile dokumentów można wgrać jednocześnie? Paczki kilkunastu dokumentów przetwarzane są równolegle. Przy większych wolumenach wygodniej pracować partiami odpowiadającymi klientowi lub okresowi.

Czy przy konwersji wsadowej spada dokładność odczytu? Nie. Każdy dokument przetwarzany jest tak samo jak pojedynczy — równoległość dotyczy tylko sposobu kolejkowania.

Co się dzieje, gdy jeden dokument w paczce jest nieczytelny? Pozostałe pliki powstają normalnie. Dokument problematyczny można poprawić w edytorze albo przetworzyć ponownie osobno.

Czy mogę pobrać wszystko jako jedno archiwum? Tak. Wynikiem przebiegu jest archiwum zawierające osobny plik XML dla każdej faktury.

Czy limit dokumentów dotyczy stron czy plików? Liczone są przetworzone strony wejściowe. Faktura dwustronicowa zużywa dwa dokumenty z puli.

Przetestuj na własnej paczce

Wgraj komplet faktur za jeden miesiąc i zmierz czas na własnych danych — uruchom konwersję wsadową. Szczegóły mapowania pól PDF na strukturę XML opisaliśmy w tekście o konwerterze PDF na XML FA(3).