Odczyt faktur i paragonów przez AI wygląda dziś jak magia: zdjęcie z telefonu zamienia się w gotowy wiersz w księgowości. W praktyce mechanizm jest bardziej przyziemny i ma swoje granice — a to, co dzieje się po stronie odczytu, decyduje o tym, czy w księgach wyląduje poprawna liczba.

Jak w ogóle działa „czytanie” faktury przez AI

Model, który analizuje skan albo zdjęcie dokumentu, nie „rozumie” faktury tak jak księgowa czy księgowy. Rozpoznaje wzorce: układ tabeli, miejsce, w którym zwykle znajduje się kwota brutto, sposób zapisu NIP-u. Na tej podstawie wyodrębnia konkretne pola — sprzedawcę, nabywcę, datę wystawienia, kwoty netto i brutto, stawki VAT, pozycje na fakturze — i zwraca je jako uporządkowane dane, a nie jako obrazek.

Ważny szczegół, który często umyka w uproszczonych opisach: dobrze zaprojektowany mechanizm zwraca nie tylko wartości pól, ale też poziom pewności każdego odczytu. Data wystawienia odczytana z wyraźnego, wydrukowanego nagłówka ma inną „wagę” niż kwota dopisana odręcznie na marginesie — a to rozróżnienie jest kluczowe dla wszystkiego, co dzieje się dalej.

To wystarcza w zdecydowanej większości przypadków, bo faktury i paragony mają powtarzalną strukturę, a modele trenowane są na ogromnej liczbie realnych dokumentów. Problem zaczyna się tam, gdzie dokument odbiega od typowego wzorca albo gdzie sam skan utrudnia odczyt.

Gdzie ten mechanizm sprawdza się najlepiej

Zanim przejdziemy do błędów: większość codziennych przypadków działa dobrze. Standardowa faktura VAT wystawiona elektronicznie jako PDF, wyraźne zdjęcie paragonu w dobrym świetle, znany format dokumentu — to sytuacje, w których odczyt jest szybki i powtarzalny, bez potrzeby ingerencji człowieka. Większość dokumentów trafiających do księgowości to nie są trudne przypadki, tylko rutyna, którą da się bezpiecznie przyspieszyć.

Gdzie AI się myli

Nieczytelne skany i zdjęcia z telefonu

Paragon z drukarki termicznej wyblakły po kilku dniach w portfelu, zdjęcie zrobione pod kątem, w słabym świetle albo z odbiciem lampy na folii — to codzienność, nie wyjątek. W takich warunkach model może pomylić cyfrę, źle odczytać separator dziesiętny (przecinek zamiast kropki i odwrotnie) albo źle przypisać stawkę VAT, jeśli jest wydrukowana zbyt drobną czcionką. Same skanery i telefony różnią się jakością zdjęcia, więc ten sam dokument sfotografowany dwa razy może dać dwa nieco inne odczyty. Dodatkowo paragony termiczne z czasem blakną fizycznie — to nie jest problem jakości zdjęcia, tylko stanu samego dokumentu, i żaden model tego nie odwróci.

Nietypowe formaty dokumentów

Faktury nie mają jednego, ustandaryzowanego wyglądu. Firma z jednej branży wystawia dokument w formie tabeli z dziesięcioma kolumnami, inna — jako prosty tekst z pozycjami wypisanymi jedna pod drugą. Dokumenty z zagranicy dochodzą do tego z inną walutą, innym układem daty i czasem innym językiem. Zdarzają się też hybrydy: skan faktury odbity na kserokopiarce, gdzie część danych jest już nieostra, zanim jeszcze trafi do systemu. Każdy z tych przypadków to inny „kształt” danych, na których model musi sobie poradzić bez gotowego wzorca.

Pozycje wieloznaczne

Najtrudniejsze bywają nie całe dokumenty, tylko pojedyncze wiersze. Faktura z kilkoma stawkami VAT na jednym dokumencie, rabat naniesiony ręcznie po wydrukowaniu, korekta zmieniająca kwotę już po fakcie, pozycja opisana na tyle ogólnie („usługa”, „towar różny”), że nie da się jej jednoznacznie przypisać do kategorii kosztowej — to sytuacje, w których nawet doświadczona osoba musiałaby dopytać wystawcę. AI w takich miejscach nie zgaduje ostrożniej — zgaduje tak samo pewnie, jak w prostych przypadkach, co jest dokładnie tym, czego nie chcemy w księgowości. Właśnie tutaj poziom pewności odczytu odróżnia „AI jest pewne i ma rację” od „AI jest pewne, ale się myli”.

Bliżej błędów: klasy pomyłek i walidacja krzyżowa

Warto rozróżnić trzy typy błędów, bo każdy wymaga innego sposobu wyłapania. Błąd na poziomie pola to pojedyncza źle odczytana wartość — cyfra, data, stawka VAT — przy poprawnej reszcie dokumentu; zwykle najłatwiej go złapać, bo porównanie powiązanych pól (czy suma pozycji zgadza się z kwotą brutto, czy stawka VAT daje właściwy podatek z kwoty netto) od razu pokazuje niespójność. Błąd strukturalny pojawia się, gdy model źle przypisze, która część dokumentu czym jest — na przykład potraktuje adres dostawy jako dane nabywcy, albo połączy dwie osobne pozycje w jedną; takie błędy są trudniejsze do wyłapania automatycznie, bo wyodrębnione dane mogą nadal wyglądać wewnętrznie spójnie, mimo że są błędne — dlatego drugi, niezależny sprawdzian (czy NIP nabywcy pasuje do znanego formatu, czy liczba pozycji zgadza się z liczbą widocznych wierszy) ma tu równie duże znaczenie, co sprawdzenie sumy. Błąd kompletności — brakująca pozycja, urwana strona — jest z tej trójki najtrudniejszy, bo w wyodrębnionych danych nie ma niczego oczywiście błędnego do zaznaczenia; złapanie go wymaga porównania liczby oczekiwanych pól albo stron z tym, co faktycznie zwrócono.

Walidacja krzyżowa w praktyce oznacza uruchomienie kilku takich sprawdzianów naraz, zamiast ufania jednemu: sumy kontra pozycje, matematyka VAT kontra zadeklarowane stawki, format pól kontra znane wzorce dla NIP-ów i dat. Dokument, który przechodzi wszystkie, trafia dalej automatycznie; ten, który nie przejdzie choćby jednego, zostaje oznaczony — nawet jeśli każde pole z osobna „wygląda” wiarygodnie.

Dlaczego walidacja i eskalacja do człowieka są niezbędne

Stąd bierze się zasada, którą stosujemy w każdym wdrożeniu, gdzie AI dotyka liczb: AI proponuje, kod liczy. Model odpowiada za odczyt i wstępną klasyfikację, natomiast finalne przeliczenia i decyzje o tym, czy dokument jest kompletny i spójny, należą do deterministycznej warstwy systemu.

W praktyce oznacza to konkretne mechanizmy: sumy pozycji na fakturze są automatycznie porównywane z kwotą brutto, a rozbieżność blokuje dalsze przetwarzanie zamiast zostać po cichu zaokrągloną. Odczyt z niską pewnością — czy to niewyraźna cyfra, czy niejednoznaczna stawka VAT — nie jest akceptowany automatycznie, tylko trafia do przejrzenia przez człowieka. To nie jest dodatkowy krok „na wszelki wypadek” — to jest właściwe miejsce, w którym powinna kończyć się automatyzacja, a zaczynać kontrola. Dobrze zaprojektowany próg eskalacji sprawia też, że człowiek nie przegląda wszystkiego po kolei, tylko dokładnie te przypadki, w których jego uwaga faktycznie coś zmienia.

Jak to wygląda w praktyce: Qkwit

W Qkwit AI (Claude) odpowiada za odczyt dokumentów księgowych, natomiast wyliczenia podatków i składek ZUS wykonuje odrębny, deterministyczny silnik — dokładnie z tego samego powodu, o którym pisaliśmy w artykule dlaczego AI nie powinno liczyć podatków samodzielnie. Rozdzielenie tych dwóch warstw sprawia, że błąd odczytu nie przekłada się automatycznie na błędną deklarację — zostaje wyłapany, zanim liczby trafią dalej.

Dziś ten mechanizm działa dla jednoosobowych działalności gospodarczych, a jego rozszerzenie na spółki, kadry i biura rachunkowe jest w przygotowaniu. To też odpowiedź na pytanie, które często słyszymy od biur rachunkowych rozważających automatyzację: mechanizm eskalacji nie jest dodatkiem na później, tylko częścią projektu od pierwszego dnia — a to właśnie kontekst, w którym pisaliśmy o skróconym miesiącu rozliczeniowym w AI w księgowości JDG i, szerzej, o automatyzacji obiegu dokumentów.

Co to oznacza dla firmy, która wdraża taki mechanizm

Praktyczny wniosek jest prosty: pytanie „czy AI dobrze czyta faktury” jest mniej istotne niż pytanie „co się dzieje, gdy AI czyta je źle”. Firma wdrażająca automatyzację dokumentów powinna od razu zapytać dostawcę o próg pewności i o to, kto przegląda kolejkę do weryfikacji — to te elementy decydują, czy mechanizmowi da się zaufać przy setkach dokumentów miesięcznie.

Najczęstsze pytania

Czy AI może całkowicie zastąpić ręczne wprowadzanie faktur? W większości przypadków tak — poprawnie odczytane, jednoznaczne dokumenty nie wymagają ręcznej pracy. System powinien być jednak zaprojektowany tak, żeby przypadki niepewne trafiały do człowieka zamiast być akceptowane automatycznie.

Co się dzieje, gdy AI nie jest pewne odczytu? Trafia do kolejki do przejrzenia, zamiast zostać przepuszczony dalej z domyślnym albo zgadywanym uzupełnieniem. Osoba przeglądająca widzi dokładnie to pole, które budzi wątpliwość, a nie cały dokument od nowa.

Czy błąd odczytu wpływa na wysokość podatku? Może wpłynąć, jeśli nic nie stoi między odczytem a wyliczeniem. Dlatego wyliczenia realizuje osobny, deterministyczny silnik, a nie sam model językowy — błąd w odczycie zostaje wyłapany na etapie walidacji, zanim wpłynie na wynik.

Czy trzeba sprawdzać każdą fakturę ręcznie? Nie — sprawdzeniu podlegają te przypadki, które system sam oznaczy jako niepewne albo niespójne. To zwykle niewielki odsetek wszystkich dokumentów, ale kluczowy dla wiarygodności całości.

Jak długo trwa wdrożenie takiego mechanizmu w firmie? Zależy od różnorodności dokumentów i systemów, z którymi trzeba się zintegrować. Zaczynamy zawsze od audytu procesu, żeby ustalić realny zakres, zanim zaproponujemy harmonogram.

Jeśli zastanawiacie się, jak wygląda to w Waszych dokumentach, napiszcie do nas — chętnie przejdziemy przez to razem, zanim zaproponujemy konkretne rozwiązanie.