Jak działa AI OCR dla faktur PDF? Technologia za automatycznym rozpoznawaniem danych

Tablixa Blog · 2026-05-07

Jak działa AI OCR dla faktur PDF? Technologia za automatycznym rozpoznawaniem danych

Wrzucasz plik PDF z fakturą, chwilę czekasz i dostajesz gotowy plik XML KSeF FA(3) z wszystkimi danymi na właściwych miejscach. Ale co dokładnie dzieje się w tym czasie? Jak system wie, że „1 234,56 PLN" to kwota brutto, a nie cena jednostkowa? Skąd wiadomo, gdzie kończy się opis pozycji, a zaczyna stawka VAT?

Pipeline AI OCR dla faktur PDF PDF Renderowanie do obrazu 300 DPI OCR Rozpoznanie tekstu + pozycji na stronie Model AI Semantyczne wyodrębnianie pól Walidacja NIP, sumy, daty spójność danych XML FA(3) gotowy plik KSeF Klasyczny OCR Rozpoznaje litery i cyfry Nie rozumie kontekstu „1 234,56" = tekst, nic więcej AI + OCR (Tablixa) Rozumie, że to kwota brutto Mapuje do P_15 w FA(3) Weryfikuje: netto + VAT = brutto Wynik <P_15>1234.56</P_15> format XML: bez spacji, separator dziesiętny: „." Kluczowa różnica: rozumienie vs rozpoznawanie Klasyczny OCR zamienia obraz na tekst. AI OCR rozumie, że dane pole to NIP sprzedawcy, kwota VAT 23% lub termin płatności — i wie, gdzie umieścić te dane w strukturze KSeF FA(3).

Etap 1: Renderowanie PDF do obrazu

Każdy plik PDF, zanim zostanie przetworzony przez OCR, jest zamieniany na obraz rastrowy o rozdzielczości 200–300 DPI. To kluczowy krok — wiele plików PDF to faktycznie skany zapisane w formacie PDF, bez warstwy tekstowej.

System rozróżnia dwa typy plików PDF:

  • PDF tekstowy – zawiera warstwę tekstową (plik wygenerowany komputerowo). Tekst można wyodrębnić bezpośrednio, bez OCR.
  • PDF obrazkowy – skan lub zdjęcie zapisane w PDF. Wymaga pełnego procesu OCR.

Tablixa automatycznie wykrywa typ i dobiera właściwą ścieżkę przetwarzania.

Etap 2: Optyczne rozpoznawanie znaków (OCR)

OCR to technologia z historią sięgającą lat 60., ale nowoczesne silniki OCR (jak Google Vision, Tesseract 5, AWS Textract) potrafią znacznie więcej niż tylko „odczytywać litery".

Współczesne OCR wykonuje:

  1. Deskew – prostowanie przekrzywionego skanu
  2. Noise reduction – usuwanie szumów, plam i artefaktów
  3. Layout analysis – wykrywanie tabel, kolumn, nagłówków
  4. Character recognition – rozpoznawanie liter i cyfr z prawdopodobieństwem
  5. Word boundaries – grupowanie znaków w wyrazy i zdania

Wynikiem jest nie tylko tekst, ale też mapa pozycji – każde słowo ma przypisane współrzędne na stronie (bounding box). Ta informacja jest kluczowa dla następnego etapu.

Etap 3: Semantyczne wyodrębnianie pól przez model AI

To tutaj klasyczny OCR kończy pracę, a AI zaczyna. Sam tekst z faktury to chaos:


FAKTURA VAT NR FV/2025/01/0042
Warszawa, 15 stycznia 2025
Sprzedawca: ABC Sp. z o.o., NIP: 1234567890
Nabywca: XYZ S.A., NIP: 0987654321
...
Razem do zapłaty: 2 460,00 PLN

Model AI – w przypadku Tablixa to Gemini od Google – analizuje ten tekst i rozumie:

  • „FV/2025/01/0042" → P_2 (numer faktury)
  • „15 stycznia 2025" → P_1 (data wystawienia), zamienione na format 2025-01-15
  • „NIP: 1234567890" po słowie „Sprzedawca" → NIP Podmiot1
  • „NIP: 0987654321" po słowie „Nabywca" → NIP Podmiot2
  • „2 460,00 PLN" po słowie „Razem" → P_15 (kwota brutto)

Model rozumie kontekst, a nie tylko szuka wzorców regex. To pozwala mu radzić sobie z faktyczną różnorodnością formatów faktur.

Etap 4: Mapowanie do schematu FA(3)

Po wyodrębnieniu danych system mapuje je do konkretnych pól w schemacie KSeF FA(3):

Dane z fakturyPole FA(3)Uwagi
Numer fakturyP_2Oczyszczenie ze znaków specjalnych
Data wystawieniaP_1Konwersja do ISO 8601
NIP sprzedawcyNIP w Podmiot1Usunięcie kresek
Nazwa nabywcyNazwaPodmiotu2Max 256 znaków
Kwota netto 23%P_13_1Format: dwie cyfry po przecinku
Kwota VAT 23%P_14_1Weryfikacja: P_13_1 × 0,23
Kwota bruttoP_15Suma wszystkich P_14 + P_13

Etap 5: Wielopoziomowa walidacja

Przed wygenerowaniem pliku XML system wykonuje kilka rodzajów walidacji:

Walidacja formatów

  • NIP: algorytm sumy kontrolnej (wagi 6-5-7-2-3-4-5-6-7)
  • IBAN: algorytm modulo 97
  • Data: poprawna data kalendarzowa

Walidacja rachunkowa

  • Suma netto pozycji ≈ suma P_13_x (±0,02 PLN na zaokrąglenia)
  • Σ(netto) + Σ(VAT) = brutto (P_15)
  • VAT dla każdej stawki = netto × stawka

Walidacja schematyczna

  • Wszystkie wymagane pola FA(3) są wypełnione
  • Wartości mieszczą się w dopuszczalnych zakresach
  • Typ danych zgodny ze schematem XSD

Jeśli walidacja wykryje niespójność, system zaznacza problematyczne pole i prosi użytkownika o weryfikację – zamiast cicho generować błędny plik.

Jak model AI „uczy się" faktur?

Modele takie jak Gemini są trenowane na miliardach przykładów tekstu i rozumieją strukturę dokumentów finansowych w wielu językach. Kluczowe jest jednak prompt engineering – sposób zadawania pytań modelowi.

Zamiast ogólnego „wyodrębnij dane z faktury", system Tablixa używa precyzyjnych promptów:


Wyodrębnij z poniższego tekstu faktury polskiej:
- NIP sprzedawcy (10 cyfr, ignoruj kreski)
- NIP nabywcy (10 cyfr)
- Numer faktury (zachowaj oryginalny format)
- Datę wystawienia (zwróć w ISO 8601)
- Pozycje faktury (każda: nazwa, ilość, j.m., cena netto, stawka VAT)
- Kwoty podsumowania dla każdej stawki VAT
Jeśli pole nie istnieje lub jest nieczytelne, zwróć null.

Taki prompt eliminuje domysły i zmusza model do zwrócenia struktury JSON bezpośrednio mapującej na pola FA(3).

Co może sprawiać trudności?

Nawet najlepszy model AI ma ograniczenia:

  • Faktury ręczne – pismo odręczne jest trudniejsze do rozpoznania
  • Bardzo niskiej jakości skany – poniżej 150 DPI dokładność spada
  • Niestandardowe układy – egzotyczne szablony bez wyraźnych etykiet pól
  • Korekty z odniesieniem – faktury korygujące wymagają powiązania z oryginalną fakturą

Dla tych przypadków system zwraca komunikat z prośbą o ręczną weryfikację konkretnego pola.

Podsumowanie

AI OCR dla faktur to wieloetapowy pipeline: renderowanie PDF → optyczne rozpoznawanie tekstu z analizą layoutu → semantyczne wyodrębnianie pól przez model językowy → mapowanie do schematu FA(3) → wielopoziomowa walidacja. Kluczowa przewaga nad klasycznym OCR to rozumienie kontekstu – system wie nie tylko co jest napisane, ale co to oznacza w strukturze faktury KSeF.