Automatyczne przetwarzanie faktur i dokumentów z AI w małej firmie

  • Strona główna
  • Automatyczne przetwarzanie faktur i dokumentów z AI w małej firmie
Automatyczne przetwarzanie faktur i dokumentów z AI w małej firmie

Obieg dokumentów w kilkuosobowej firmie rzadko wygląda tak, jak na schemacie w prezentacji. Faktury spływają na trzy skrzynki, część leży w komunikatorze, paragony fotografuje się telefonem w drodze z kontrahentem, a właściciel przepisuje kwoty wieczorem, bo w dzień nie było kiedy. I właśnie wtedy automatyczne przetwarzanie faktur i dokumentów z AI w małej firmie zaczyna mieć sens: kiedy powtarzalna klepanina zjada godziny osób, które powinny sprzedawać i realizować zlecenia. Projektujemy aplikacje wykorzystujące sztuczną inteligencję i integracje od 2006 roku, więc powiem wprost – sam model to najmniejszy kawałek tej układanki. Wartość rodzi się z połączenia ekstrakcji danych, twardej walidacji i wpięcia w system, którego firma faktycznie używa.

Gdzie w małej firmie naprawdę ucieka czas na dokumentach

Typowy obieg wygląda niewinnie. Faktura przychodzi mailem, ktoś ją pobiera, otwiera PDF, przepisuje numer, datę, NIP i kwoty do arkusza albo systemu księgowego, potem zapisuje plik w folderze pod nazwą wymyśloną na poczekaniu. Jedno powtórzenie to kilka minut. Nikt nie widzi w tym problemu. Problem wychodzi w skali miesiąca, kiedy tych powtórzeń są setki.

Ale prawdziwy koszt nie siedzi w jednej fakturze, tylko w mikroprzerwaniach. Właściciel przerywa rozmowę handlową, żeby zerknąć, czy przelew poszedł. Biuro wraca do skrzynki piąty raz tego dnia, bo kontrahent przysłał korektę. Każde takie przełączenie zjada kilkanaście minut skupienia, których nikt nie wpisuje w żaden raport. Po miesiącu robi się z tego etat – rozproszony między kilka osób i niewidoczny w kosztach.

Drugi problem: rozproszenie. Dokumenty leżą w skrzynce mailowej, na dysku współdzielonym, w PDF-ach od kontrahentów, w skanach z telefonu i w papierowej teczce, którą księgowa odbiera raz w miesiącu. Kiedy trzeba znaleźć konkretną fakturę sprzed pół roku, szukanie zaczyna się od pytania „gdzie to w ogóle może być”. Bez jednego wejścia żadna automatyzacja nie obejmie całości obiegu.

Do tego błędy przepisywania, których nikt nie wyłapuje na bieżąco:

  • zamiana cyfr w NIP-ie, przez którą koszt trafia na złego kontrahenta,
  • pomylenie kwoty netto z brutto przy fakturze ze stawką mieszaną,
  • błędny termin płatności i odsetki, o których dowiadujesz się z wezwania,
  • ta sama faktura wprowadzona dwa razy, bo przyszła mailem i została też wydrukowana.

Tu trzeba postawić granicę. Automatyzacja opłaca się wtedy, gdy da się opisać powtarzalny obieg: skąd dokument przychodzi, kto go akceptuje, gdzie ląduje. Jednorazowy wyjątek, umowa negocjowana przez trzy miesiące albo dokument, który raz w roku wymaga decyzji zarządu – to zostaje przy człowieku. Próba zautomatyzowania wszystkiego kończy się systemem, który ma więcej wyjątków niż reguł.

Jak działa automatyczne przetwarzanie faktur z AI od strony technicznej

Pod maską to nie jedno wywołanie modelu, tylko potok kilku kroków. Najpierw pobranie dokumentu: z maila, z formularza uploadu, ze skanera albo z API kontrahenta. Potem normalizacja pliku – konwersja do wspólnego formatu, obrót krzywego skanu, rozdzielenie wielostronicowego PDF-a na osobne dokumenty, jeśli ktoś zeskanował dziesięć faktur jednym ciągiem. Dalej ekstrakcja treści, walidacja wyniku i zapis do systemu docelowego. Każdy z tych etapów potrafi się wywrócić niezależnie i każdy potrzebuje własnej obsługi błędu.

Różnicę między klasycznym OCR a modelem językowym często się myli, a konsekwencje projektowe są spore. OCR odczytuje znaki i zwraca tekst z pozycjami na stronie. Żeby wyciągnąć z tego dane, kiedyś trzeba było mapować szablon: dla tego kontrahenta numer faktury jest w prawym górnym rogu, dla tamtego pod logo. Model multimodalny rozumie kontekst pola, więc znajdzie termin płatności także wtedy, gdy widzi taki układ pierwszy raz w życiu. Przy kilkudziesięciu dostawcach z różnymi szablonami oszczędność pracy jest realna.

Wyjście modelu warto wymuszać jako ustrukturyzowany JSON zgodny ze schematem. Minimum: numer dokumentu, data wystawienia i sprzedaży, termin płatności, dane sprzedawcy z NIP-em, nabywca, pozycje, kwoty netto i brutto, waluta oraz stawki VAT. Schemat robi dwie rzeczy naraz – wymusza przewidywalny kształt odpowiedzi i daje miejsce na sygnalizowanie braku. Pole puste to informacja. Pole zmyślone to problem. Dobrze też prosić model o wskazanie, gdzie na stronie znalazł wartość, bo to mocno ułatwia późniejszą weryfikację.

Tip: zaprojektuj schemat tak, by model mógł zwrócić null z powodem, zamiast zgadywać. Wymuszanie wartości na siłę to najprostsza droga do cichego błędu w księgowości.

No i jeszcze jedno: nie każdy załącznik jest fakturą. Na jedną skrzynkę trafiają korekty, proformy, umowy, potwierdzenia przelewu, oferty i podpisy w stopce zapisane jako obrazek. Klasyfikacja typu dokumentu powinna być pierwszym krokiem po ekstrakcji tekstu, bo to ona decyduje o dalszej ścieżce. Proforma nie idzie do kosztów, korekta musi znaleźć fakturę pierwotną, a umowa ląduje w repozytorium z zupełnie innymi metadanymi.

Walidacja i próg pewności, czyli dlaczego sama ekstrakcja to za mało

Model potrafi zwrócić komplet pól i pomylić się w jednym miejscu, nie sygnalizując tego w żaden sposób. Dlatego obok niego zawsze stawiamy warstwę reguł deterministycznych, które z AI nie mają nic wspólnego. Suma pozycji musi zgadzać się z kwotą całkowitą. VAT policzony ze stawki musi odpowiadać kwocie na dokumencie. NIP musi mieć poprawny format i sumę kontrolną. Termin płatności nie może być wcześniejszy niż data wystawienia. Prosta arytmetyka, a wyłapuje większość realnych pomyłek.

Dopasowanie kontrahenta rób po NIP-ie, nie po nazwie. Ta sama firma potrafi być zapisana na pięć sposobów: z „Sp. z o.o.” i bez, z kropkami, z myślnikiem w nazwie własnej, wielkimi literami albo z literówką sprzed dwóch lat, która została w bazie. Numer identyfikacji podatkowej jest jednoznaczny i sprawdzalny, więc to on ma być kluczem dopasowania. Nazwę traktuj jako podpowiedź przy tworzeniu nowego rekordu. Nigdy jako identyfikator.

Duplikaty warto wykrywać dwutorowo. Para numer dokumentu plus NIP sprzedawcy łapie sytuację, w której ta sama faktura przyszła mailem i została dorzucona ręcznie. Skrót zawartości pliku, czyli hash, łapie ponowne przetworzenie tego samego załącznika, nawet jeśli ekstrakcja zwróciła nieco inne wartości. Oba mechanizmy są tanie i oszczędzają godzin szukania, skąd w księgowości wzięła się podwójna kwota.

Nad tym wszystkim stoi human in the loop. Dokumenty, które przeszły komplet reguł i mają wysoką pewność ekstrakcji, wpadają automatycznie. Wątpliwe trafiają na ekran weryfikacji, gdzie osoba akceptująca widzi skan z podświetlonym fragmentem obok wyciągniętej wartości. Poprawka zajmuje wtedy sekundy zamiast minut, bo nikt nie skanuje wzrokiem całej strony. Ten ekran jest zwykle ważniejszy dla adopcji niż jakość samego modelu.

Tip: zacznij od trybu, w którym człowiek zatwierdza wszystko, i zbieraj statystyki poprawek per pole. Dopiero one pokazują, co można puścić bez kontroli – zwykle najpierw daty i numery, na końcu kwoty.

Integracje: system księgowy, KSeF, poczta i dysk

Po stronie wejścia najczęściej spotykamy kilka kanałów naraz. Skrzynka IMAP z aliasem typu faktury@, na który przekierowuje się korespondencję od dostawców. Formularz uploadu w aplikacji dla osób, które dostają dokumenty poza firmowym mailem. Aplikacja mobilna do zdjęć paragonów, bo pracownik na delegacji nie będzie skanował rachunku za paliwo. Czasem webhook od większego kontrahenta, który wysyła dokumenty programowo. Każdy kanał ma inne właściwości: jakość plików, opóźnienia, sposób autoryzacji.

Po stronie wyjścia decyduje to, z czym firma już pracuje. Zwykle jest to API systemu księgowego lub fakturowego, do którego trafia gotowy dokument z przypisanym kontrahentem i kategorią kosztu. Alternatywa to eksport w formacie akceptowanym przez biuro rachunkowe, jeśli księgowość jest na zewnątrz i nie udostępnia interfejsu. Niezależnie od wariantu oryginały plików powinny lądować w archiwum z metadanymi, żeby dało się je odszukać bez wchodzenia do księgowości.

KSeF zmienia obieg faktur sprzedażowych i stopniowo także część przychodzących. Dokument pobrany z systemu jest już ustrukturyzowany, więc czytanie go modelem to wyrzucanie pieniędzy i wprowadzanie ryzyka tam, gdzie dane są pewne. Projekt trzeba ułożyć tak, żeby ścieżka „mam gotową strukturę” była pierwsza, a ekstrakcja z PDF-a rezerwowa – dla dokumentów spoza systemu: zagranicznych, paragonów, rachunków od podmiotów zwolnionych.

Ograniczenia API po stronie dostawców to osobny rozdział, który zwykle wychodzi dopiero we wdrożeniu. Limity zapytań potrafią wywrócić import historycznych dokumentów. Bywa, że brakuje pola, którego firma używa w swoim procesie, i trzeba je trzymać u siebie. Środowisko testowe różni się od produkcyjnego zakresem danych albo zachowaniem walidacji, więc plan wdrożenia musi zakładać czas na weryfikację na produkcji.

Na koniec rzecz, która ratuje wdrożenie po pierwszym incydencie: idempotencja i kolejka zadań. Ten sam mail przetworzony dwa razy, po restarcie usługi albo po ponownym pobraniu skrzynki, nie może utworzyć drugiego dokumentu w księgowości. Klucz idempotencji na poziomie źródła plus kolejka z ponowieniami i miejscem na zadania nieudane dają odporność, której nie zapewni żadna poprawność modelu.

Bezpieczeństwo, dane i zgodność

Faktura to dane firmowe, a bardzo często również dane osobowe: imiona i nazwiska osób kontaktowych, adresy, numery rachunków, czasem dane z umów. Decyzja o tym, gdzie te dokumenty są przetwarzane, to nie techniczna drobnostka do ustalenia w trakcie kodowania. To decyzja projektowa na samym początku, bo wpływa na wybór modelu, na koszt, na treść umów i na to, czy wdrożenie w ogóle przejdzie przez wewnętrzne wymagania klienta.

Do wyboru są trzy podejścia i każde ma inny bilans. Model w chmurze globalnego dostawcy zwykle daje najlepszą jakość odczytu przy najniższym progu wejścia, ale wymaga uporządkowanej umowy powierzenia i akceptacji miejsca przetwarzania. Model hostowany w regionie UE ogranicza część wątpliwości przy porównywalnej jakości i nieco wyższym koszcie. Model lokalny daje pełną kontrolę i przewidywalny koszt przy dużym wolumenie – kosztem sprzętu, gorszej skuteczności na trudnych skanach i obowiązku samodzielnego utrzymania. Wybór zależy od branży i od tego, co firma podpisała ze swoimi klientami.

Retencja bywa pomijana, a potrafi zaskoczyć przy pierwszym audycie. Trzeba świadomie ustalić, co trafia do logów – nie loguj pełnej treści dokumentu „na wszelki wypadek”, bo w logach szybko robi się druga, gorzej chroniona baza faktur. Osobno ustala się, jak długo trzymamy oryginały plików, kiedy znikają kopie robocze i kto ma prawo podejrzeć skan po roku od zaksięgowania.

Kontrola dostępu powinna odzwierciedlać role, które i tak w firmie istnieją. Właściciel widzi wszystko, łącznie z wynagrodzeniami i umowami. Księgowa widzi dokumenty kosztowe i sprzedażowe, ale niekoniecznie kadrowe. Pracownik zgłaszający koszty widzi wyłącznie własne zgłoszenia i ich status. Prosty model, a zdejmuje najczęstsze zastrzeżenie zgłaszane po wdrożeniu.

Ślad audytowy zamyka temat. Zapis tego, kto zaakceptował dokument, które pole poprawił, jaka była wartość przed zmianą i kiedy to nastąpiło, przydaje się przy kontroli, przy zmianie osoby na stanowisku i przy sporze z kontrahentem o to, jaka kwota faktycznie widniała na dokumencie.

Koszty wdrożenia i utrzymania, których mała firma zwykle nie liczy

Rozmowa o budżecie zwykle dotyczy pierwszej warstwy, a warstwy są trzy. Budowa: analiza obiegu, schemat danych, integracje, ekran weryfikacji i testy na realnych dokumentach. Zużycie modelu, naliczane od każdego przetworzonego dokumentu przez cały czas życia systemu. I utrzymanie, czyli reakcja na zmiany po stronie rzeczy, na które nie masz wpływu. Pominięcie dwóch ostatnich sprawia, że projekt wygląda tanio na starcie i zaskakuje po pół roku.

Koszt tokenów zależy od objętości dokumentu i liczby prób. Jednostronicowa faktura jest tania. Ale wielostronicowy załącznik ze specyfikacją pozycji albo skan całej umowy potrafi zmienić rachunek o rząd wielkości. Podobnie ponowne wywołania: jeśli walidacja odrzuca wynik i system próbuje jeszcze raz z innym promptem, płacisz dwa albo trzy razy za ten sam dokument. Dlatego przy wycenie policz rozkład objętości na realnej próbce, nie na przykładzie modelowej faktury.

Nie każdemu opłaca się budować własne rozwiązanie i mówimy to wprost także wtedy, gdy pytanie trafia do nas. Gotowy SaaS bywa tańszy przy małym wolumenie i standardowym obiegu – jeśli firma dostaje kilkadziesiąt faktur miesięcznie i używa popularnego systemu księgowego, subskrypcja wygra z jakimkolwiek wdrożeniem. Własny projekt zaczyna mieć przewagę, gdy obieg jest nietypowy, gdy trzeba wpiąć dokumenty w istniejącą aplikację branżową albo gdy akceptacja kosztu ma własną logikę, której pudełkowe narzędzie nie odwzoruje. Wtedy warto policzyć budżet na tworzenie dedykowanego oprogramowania i porównać go z subskrypcją w perspektywie kilku lat.

Utrzymanie to nie tylko serwer i jego rachunek. To zmiana API systemu księgowego, która potrafi przyjść z krótkim wyprzedzeniem. Nowy format dokumentu od dużego dostawcy, po którym skuteczność na jednym typie faktur nagle siada. Aktualizacja modelu, zmieniająca zachowanie na przypadkach brzegowych. Wszystko to wymaga kogoś, kto zareaguje, oraz testów regresyjnych na zestawie dokumentów, które kiedyś sprawiały problem.

Najszybszą odpowiedź o realnej skuteczności daje MVP na jednym źródle dokumentów i jednym systemie docelowym. Dwa tygodnie pracy na prawdziwych fakturach powiedzą więcej niż miesiąc analizy wymagań, bo pokażą liczby zamiast założeń.

Typowe błędy przy wdrożeniu i jak ich uniknąć

Najczęstszy błąd? Automatyzacja bałaganu. Firma wpina AI w proces, którego nikt wcześniej nie opisał, i utrwala stary chaos, dokładając do niego warstwę technologiczną. Jeśli przed wdrożeniem nie było wiadomo, kto akceptuje koszt powyżej pewnej kwoty, po wdrożeniu też nie będzie – tyle że teraz nikt nie będzie wiedział, czy zdecydował człowiek, czy system. Godzina rozmowy o obiegu przed pierwszą linią kodu zwraca się wielokrotnie.

Drugi błąd to brak metryki jakości. „Działa całkiem nieźle” nie jest oceną. Bez pomiaru skuteczności na polach krytycznych, osobno dla numeru, dat, NIP-u i kwot, nie stwierdzisz, czy system pomaga, ani nie zauważysz, że po zmianie modelu zrobiło się gorzej. Zestaw kilkuset zweryfikowanych dokumentów, na którym mierzysz wynik po każdej zmianie, to tanie ubezpieczenie.

Trzeci: zaufanie modelowi w kwotach. Kwota to jedyne pole, którego błąd kosztuje bezpośrednio pieniądze, więc powinna mieć podwójne zabezpieczenie – reguły arytmetyczne oraz próg wartości, powyżej którego dokument zawsze widzi człowiek, niezależnie od pewności ekstrakcji. Ustawienie takiego limitu zajmuje chwilę i zdejmuje najgorszy scenariusz.

Czwarty to pominięcie przypadków brzegowych, których w każdej firmie jest więcej, niż się wydaje:

  1. korekty, w tym takie, które zmieniają tylko dane formalne bez kwot,
  2. faktury walutowe z kursem i przeliczeniem, czasem z dwiema kwotami VAT,
  3. faktury zaliczkowe i końcowe rozliczające wcześniejsze wpłaty,
  4. dokumenty wielostronicowe, gdzie podsumowanie jest na ostatniej stronie,
  5. skany krzywe, prześwietlone, zrobione telefonem pod kątem, ze zszywką na kwocie.

Piąty jest najbardziej podstępny: brak planu na wyjątek. Dokument, którego system nie rozumie, musi mieć jasną ścieżkę ręczną i osobę odpowiedzialną. Jeśli takie przypadki po cichu lądują w kolejce błędów, do której nikt nie zagląda, po kwartale okazuje się, że kilkanaście dokumentów nigdy nie zostało zaksięgowanych. Widoczna lista „do obsługi ręcznej” z licznikiem na pulpicie załatwia to prostym środkiem.

Od czego zacząć wdrożenie w swojej firmie

Krok pierwszy: zbierz reprezentatywną próbkę dokumentów z ostatnich kilku miesięcy. Nie wybieraj najładniejszych. Wrzuć tam zdjęcie paragonu zrobione w samochodzie, skan z zagiętym rogiem, fakturę od dostawcy, który drukuje wszystko czcionką sześć, korektę i dokument walutowy. Ta próbka jest jedynym wiarygodnym testem – na czystych PDF-ach każde rozwiązanie wygląda świetnie i żadne nie mówi prawdy o tym, jak zachowa się w środę o piętnastej.

Krok drugi: zdecyduj o jednym systemie docelowym i jednym wejściu. Skrzynka faktury@ i konkretny system księgowy w zupełności wystarczą na start. Reszta kanałów – aplikacja mobilna, upload, integracja z dostawcą – może poczekać na kolejny etap. Wdrożenia, które od pierwszego dnia próbują obsłużyć wszystkie źródła naraz, ciągną się do momentu, w którym firma traci cierpliwość i wraca do arkusza.

Krok trzeci: zdefiniuj listę pól krytycznych i próg akceptacji. Ustal, które dane muszą być bezwzględnie poprawne, a które można poprawić później bez konsekwencji. Do tego dopisz reguły przekazania do człowieka: niska pewność ekstrakcji, nieznany kontrahent, kwota powyżej ustalonego limitu, nietypowy typ dokumentu. Te cztery warunki zdejmują większość ryzyka.

Krok czwarty: uruchom nowy obieg równolegle ze starym i porównuj wyniki przez kilka tygodni. Ręczne przepisywanie wyłączasz dopiero wtedy, gdy liczby z porównania są przekonujące, a nie wtedy, gdy system „wygląda na gotowy”. Ten okres pokazuje też, które przypadki brzegowe faktycznie występują, a nie tylko mogłyby wystąpić.

Krótko: skuteczne automatyczne przetwarzanie faktur i dokumentów z AI w małej firmie bierze się z trzech rzeczy – dobrej ekstrakcji, twardej walidacji i solidnej integracji z systemem, w którym firma naprawdę pracuje. Sam model jest dziś najłatwiejszą częścią tego równania.

Jeśli myślisz o uporządkowaniu obiegu dokumentów, integracji z systemem księgowym albo o MVP, które szybko sprawdzi skuteczność na Twoich fakturach, napisz do nas. Chętnie przejdziemy przez Twój proces, powiemy wprost, czy warto budować własne rozwiązanie, czy wystarczy gotowe narzędzie, i zaproponujemy zakres pierwszego etapu – również wtedy, gdy chodzi o modernizację aplikacji, którą już masz.

Zarezerwuj darmową konsultację

Zostaw numer telefonu lub umów spotkanie.