OCR faktury nie powinien rozpoczynać się od bezwarunkowego rozpoznawania każdej strony jako obrazu. Część plików PDF zawiera już poprawną warstwę tekstową i można ją odczytać szybciej oraz dokładniej bez OCR.
Dopiero gdy dokument jest skanem albo tekst jest nieużyteczny, warto uruchomić rozpoznawanie obrazu.
Najpierw sprawdzenie dokumentu
Proces może rozpocząć się od weryfikacji typu pliku i próby odczytania tekstu bezpośrednio z PDF. Jeżeli wynik zawiera oczekiwaną treść, można przejść od razu do ekstrakcji danych.
Dla plików zeskanowanych kolejnym krokiem jest zamiana stron na obrazy i uruchomienie OCR.
Takie podejście ogranicza niepotrzebne przetwarzanie i pozwala zachować lepszą jakość tam, gdzie tekst jest już dostępny.
OCR to jeszcze nie ekstrakcja danych
Wynikiem OCR jest tekst. System nadal musi ustalić, które fragmenty oznaczają numer faktury, datę, kontrahenta, walutę lub kwotę.
Dlatego warto oddzielić:
- pobranie tekstu z dokumentu,
- rozpoznanie interesujących pól,
- walidację wartości,
- zapis do systemu docelowego.
Dzięki temu łatwiej diagnozować błędy i poprawiać tylko ten etap, który rzeczywiście nie zadziałał.
Jakie pola zwykle interesują system docelowy?
W zależności od procesu mogą to być:
- numer faktury,
- data wystawienia i sprzedaży,
- dane sprzedawcy,
- NIP lub VAT ID,
- waluta,
- wartości netto, VAT i brutto,
- termin płatności,
- pozycje faktury.
Dla faktur zagranicznych mogą pojawić się dodatkowe informacje potrzebne do importu, których nie ma na każdej fakturze i które trzeba przekazać do procesu jako osobne parametry.
Walidacja przed importem
Rozpoznana wartość nie powinna automatycznie oznaczać wartości poprawnej. Data musi mieć prawidłowy format, kwoty powinny być liczbami, a wymagane pola nie mogą być puste.
Jeżeli system nie potrafi jednoznacznie ustalić ważnej informacji, lepiej skierować dokument do weryfikacji niż tworzyć niepoprawny rekord w ERP.
Lokalne przetwarzanie
Narzędzia do odczytu PDF i OCR mogą działać na własnym serwerze. Pozwala to budować proces, w którym dokument nie musi być przesyłany do zewnętrznej usługi tylko po to, aby wydobyć tekst.
Warstwą sterującą może być skrypt, aplikacja albo workflow n8n, który decyduje, jak obsłużyć dany typ dokumentu i gdzie przekazać wynik.
OCR jako część importu, a nie cel sam w sobie
Najbardziej użyteczny proces kończy się nie plikiem tekstowym, ale przygotowanymi i zweryfikowanymi danymi przekazanymi do CRM, ERP albo formularza akceptacji. OCR jest tylko jednym z etapów prowadzących do tego rezultatu.
