Akceptacja faktur z AI: Claude czyta fakturę, kod sprawdza sumy i duplikaty
Faktury wpadają do folderu na Google Drive, a ktoś musi je przepisać, sprawdzić i zatwierdzić. Ten workflow n8n daje Claude do przeczytania PDF albo zdjęcie faktury, ale arytmetykę, duplikaty i próg akceptacji sprawdza kodem. Nad progiem decyduje człowiek.
Autor
- Adrian HuniaWspółzałożyciel SEVENEDGE
- Opublikowano:
- Ostatnia weryfikacja:
- Wersja n8n:
- 2.8.4
W skrócie
Co robi
- Pilnuje folderu na Google Drive i pobiera każdą nową fakturę
- Wyciąga dane z PDF albo zdjęcia przez Claude vision
- Sprawdza kodem, czy netto plus VAT daje brutto
- Szuka duplikatu numeru faktury w rejestrze w Google Sheets
- Zatwierdza sama małe kwoty, większe wysyła do człowieka z linkami
Czego nie robi
- Nie zastępuje KSeF dla faktur ustrukturyzowanych
- Nie rozróżnia tego samego numeru faktury od dwóch dostawców
- Nie przelicza walut przy porównaniu z progiem
- Nie zleca płatności
Czego wymaga
- n8n (sprawdzone na 2.8.4)
- Google Drive i Google Sheets
- Klucz API Anthropic
- Adres webhooka na powiadomienia (Slack, Teams albo inny)
Akceptacja faktur z AI: Claude czyta fakturę, kod sprawdza sumy i duplikaty
Proces wygląda podobnie w większości małych firm. Faktura przychodzi mailem, ktoś zapisuje ją w folderze, przepisuje kwoty do arkusza, sprawdza, czy nie była już płacona, i prosi szefa o akceptację. Najwięcej czasu zajmuje przepisywanie, a najwięcej ryzyka niesie akceptacja bez sprawdzenia.
Ten workflow n8n dzieli pracę tak, żeby model robił tylko to, w czym jest dobry, czyli czytanie dokumentu.

Model czyta, nie liczy
Plik z Drive trafia do API Anthropic jako blok document (PDF) albo image (zdjęcie). Prompt wymaga samego JSON-a i zabrania zgadywania:
If a field is not visible, use null. Never guess a plausible-looking number.
Jeśli odpowiedź nie da się sparsować, faktura nie wywraca workflow. Dostaje flagę extraction_failed i idzie prosto do człowieka. Nieczytelna faktura to dokładnie ten przypadek, który ktoś powinien zobaczyć.
Trzy kontrole, których model nie robi
const diff = Math.abs((sub + tax) - tot);
math_ok = diff < 0.02; // tolerancja zaokrągleń
Suma netto plus VAT musi dać brutto z dokładnością do dwóch groszy. Rozjazd oznacza albo błąd odczytu, albo błąd na fakturze. W obu przypadkach nie ma automatycznej akceptacji, niezależnie od kwoty.
Druga kontrola to duplikat: workflow szuka numeru faktury w rejestrze w Google Sheets. Trzecia to próg kwoty (domyślnie 500).
| Sytuacja | Co się dzieje |
|---|---|
| nie udało się odczytać, sumy się nie zgadzają albo duplikat | do człowieka, bez względu na kwotę |
| kwota poniżej progu | akceptacja automatyczna |
| kwota od progu w górę | do człowieka |
Człowiek klika link
Wiadomość do akceptującego idzie na webhook (Slack, Teams, cokolwiek przyjmuje JSON z polem text) i zawiera powód oraz dwa linki: zatwierdź i odrzuć. Linki prowadzą do $execution.resumeUrl node'a Wait, więc workflow po prostu czeka na kliknięcie.
Po decyzji faktura trafia do rejestru razem z wynikiem kontroli, typem akceptacji i sumą wydatków u tego dostawcy, a plik jest przenoszony do folderu „przetworzone” albo „oznaczone”.
Ograniczenia
Duplikat jest sprawdzany po samym numerze faktury. Dwóch dostawców z fakturą „1/11/2026” da fałszywy duplikat. Pewniejszy klucz to numer plus NIP albo nazwa dostawcy.
Wyzwalacz Google Drive sprawdza folder co minutę. Kilka plików wrzuconych naraz trafia do jednego przebiegu, a dalsze kroki są pisane pod jedną fakturę na raz. Przy masowym wrzucaniu lepiej przetwarzać pliki pojedynczo.
Próg porównuje kwotę brutto bez względu na walutę.
W Polsce od 2026 roku większość faktur między firmami przechodzi przez KSeF jako ustrukturyzowany XML. Takich faktur nie trzeba czytać modelem. Ten workflow ma sens dla faktur zagranicznych, paragonów, rachunków od firm spoza KSeF i skanów.
Kiedy to nie ma sensu
Przy kilkunastu fakturach miesięcznie ręczna akceptacja jest szybsza niż utrzymanie kolejnego automatu. Workflow zaczyna się opłacać przy setkach dokumentów i kilku osobach w obiegu akceptacji. Jeśli faktury mają trafiać do systemu księgowego, a akceptacja ma uprawnienia, historię i zastępstwa, to projekt automatyzacji procesów, a nie pojedynczy workflow. Podobny podział pracy między model a kod opisujemy przy analizie cenników dostawców.
Weź to do siebie
Jak to zacytować
Adrian Hunia (2026). Akceptacja faktur z AI: Claude czyta fakturę, kod sprawdza sumy i duplikaty. SEVENEDGE. https://sevenedge.pl/pl/workflows/akceptacja-faktur-ai-claude-vision (dostęp: 5 listopada 2026)
Źródła
- Claude docs — PDF supportdokumentacja API
- n8n docs — Waitdokumentacja n8n
- n8n docs — Google Sheetsdokumentacja n8n
Kto za tym stoi
Adrian Hunia
Współzałożyciel SEVENEDGE
Współzałożyciel SEVENEDGE. Projektuje i wdraża systemy biznesowe dla małych firm — od zarządzania produkcją po rejestrację czasu pracy. Pracuje na Next.js, FastAPI i PostgreSQL. SEVENEDGE działa bez podwykonawców: kod piszą dwaj właściciele.
Powiązane dokumenty
Inne przepływy, które opisaliśmy tak samo dokładnie.
- Przegląd umowy według Twojego playbooka: klauzula po klauzuli, z bramką dla prawnikaUmowa wpada do folderu, Claude wyciąga z niej klauzule, agent ocenia każdą względem Twoich stanowisk negocjacyjnych, a werdykt liczy kod. Przy pisaniu tego tekstu znaleźliśmy w opublikowanej wersji błąd, który gubił dwie z trzech ocen. Opisujemy go razem z poprawką.
- Obsługa zgłoszeń z trzema agentami AI: triage, dokumentacja, odpowiedź i bramka człowiekaJeden agent klasyfikuje zgłoszenie, drugi szuka odpowiedzi we własnej dokumentacji, trzeci pisze odpowiedź. Sama wychodzi tylko odpowiedź, która przeszła trzy warunki naraz. Resztę widzi człowiek, a każde pytanie bez pokrycia w dokumentacji staje się zadaniem do dopisania.


