Każda firma przetwarza faktury. Większość robi to ręcznie — otwierasz PDF, przepisujesz dane do arkusza lub Excela, tracisz czas. W tym tutorialu pokażę Ci jak zbudować workflow w n8n, który automatycznie odczytuje faktury PDF, wyciąga z nich dane przez AI i zapisuje wszystko do Google Sheets. Bez przepisywania, bez błędów, bez kodowania.
Automatyzacja faktur PDF — jak działa ten workflow
Pięć węzłów, dwa serwisy zewnętrzne:
- Google Drive — trigger wykrywa nowy plik i pobiera go
- Extract from File — wbudowany węzeł n8n wyciąga tekst z PDF-a bez żadnego zewnętrznego API
- OpenAI GPT-5.4-NANO — analizuje tekst i zwraca dane faktury jako JSON
- Google Sheets — zapisuje dane do arkusza automatycznie
To proste podejście do automatyzacji dokumentów — zamiast ręcznie eksportować fakturę PDF do Excela, AI robi to za Ciebie w kilka sekund. Podobne zasady działania opisuję szerzej w artykule o tym, jak AI zmienia automatyzację procesów biznesowych.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Co będziesz potrzebować
Krok 1 — Trigger: nasłuchiwanie na folder Google Drive
Dodaj węzeł Google Drive Trigger. Skonfiguruj:
- Credential — połączone konto Google Drive
- Mode — Every Minute
- Trigger On — Changes Involving a Specific Folder
- Folder — wybierz folder "Faktury"
- Watch For — File Created
Od tej chwili każda nowa faktura wrzucona do folderu automatycznie uruchamia workflow.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Krok 2 — Pobranie pliku PDF
Dodaj węzeł Google Drive → Download File. W polu File ustaw tryb By ID i wpisz {{ $json.id }} — pobiera ID pliku przekazanego przez trigger.
Dodaj węzeł Extract from File i wybierz operację Extract From PDF. To wbudowany węzeł n8n — nie potrzebujesz żadnego zewnętrznego API, klucza ani osobnego narzędzia OCR. Węzeł zwraca pełny tekst faktury w polu $json.text.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Faktury wielostronicowe: węzeł Extract from File automatycznie odczytuje wszystkie strony i skleja je w jedno pole $json.text — nie musisz nic dodawać. GPT dostaje pełny tekst i ekstrakcja działa tak samo jak przy jednostronicowej fakturze.
Uwaga: Ten węzeł działa tylko z PDF-ami które mają warstwę tekstową. Jeśli faktura to skan, tekst będzie pusty — w takim przypadku potrzebujesz osobnego narzędzia OCR faktur przed tym krokiem.
Krok 4 — Ekstrakcja danych z faktury przez AI
Dodaj węzeł OpenAI i skonfiguruj:
- Credential — OpenAI account
- Resource — Text
- Operation — Message a Model
- Model — GPT-5.4-NANO
W polu Prompt wklej poniższy prompt. Zmienna {{ $json.text }} przekazuje tekst wyciągnięty z faktury przez poprzedni węzeł:
Jesteś systemem ekstrakcji danych z faktur.
Z poniższego tekstu wyciągnij dane i zwróć TYLKO JSON bez żadnego dodatkowego tekstu.
Format odpowiedzi:
{
"numer_faktury": "",
"data_wystawienia": "",
"termin_platnosci": "",
"sprzedawca_nazwa": "",
"sprzedawca_nip": "",
"nabywca_nazwa": "",
"nabywca_nip": "",
"kwota_netto": "",
"kwota_vat": "",
"kwota_brutto": "",
"waluta": "PLN"
}
Tekst faktury:
{{ $json.text }}
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Krok 5 — Zapis do Google Sheets
Dodaj węzeł Google Sheets → Append Row, wybierz Map Each Column Manually i zmapuj wszystkie pola z odpowiedzi GPT:
| Kolumna w Sheets |
Wyrażenie n8n |
| numer faktury |
{{ $json.content[0].text.numer_faktury }} |
| data wystawienia |
{{ $json.content[0].text.data_wystawienia }} |
| termin platnosci |
{{ $json.content[0].text.termin_platnosci }} |
| sprzedawca nip |
{{ $json.content[0].text.sprzedawca_nip }} |
| nabywca nazwa |
{{ $json.content[0].text.nabywca_nazwa }} |
| nabywca nip |
{{ $json.content[0].text.nabywca_nip }} |
| kwota netto |
{{ $json.content[0].text.kwota_netto }} |
| kwota vat |
{{ $json.content[0].text.kwota_vat }} |
| kwota brutto |
{{ $json.content[0].text.kwota_brutto }} |
| waluta |
{{ $json.content[0].text.waluta }} |
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Krok 6 — Aktywacja workflow
Gdy wszystkie węzły są skonfigurowane, kliknij Publish w prawym górnym rogu. Od tej chwili workflow działa w tle — każdy nowy plik w folderze "Faktury" uruchamia automatyczne przetwarzanie.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Wynik — przetwarzanie faktur AI w praktyce
Po uruchomieniu workflow dane trafiają do arkusza automatycznie. Poniżej działający przykład z testową fakturą — numer, daty, NIP-y i kwoty w odpowiednich kolumnach Google Sheets.
Źródło: zrzut ekranu z panelu n8n — opracowanie własne
Na co uważać
Weryfikuj liczby. AI do faktur działa bardzo dobrze, ale nie jest idealne. GPT może się mylić przy niestandardowych układach, szczególnie przy kwotach z groszami i wielu pozycjach. Zanim zautomatyzujesz księgowanie, sprawdź czy netto + VAT = brutto.
Faktury z wieloma pozycjami. Prompt w tym tutorialu wyciąga tylko sumaryczne kwoty — jedno pole "kwota netto", jedno "kwota brutto". Jeśli na fakturze jest 10 różnych usług lub produktów i chcesz każdą z nich jako osobny wiersz w arkuszu, prompt trzeba rozbudować. W tym tutorialu tego nie omawiamy — to temat na bardziej zaawansowany scenariusz.
Skany bez OCR nie działają. Węzeł Extract from File obsługuje tylko PDF-y z warstwą tekstową. Dla skanowanych faktur potrzebujesz osobnego kroku OCR przed ekstrakcją danych.
AI do księgowości wymaga nadzoru. Automatyzacja dokumentów przyspiesza pracę, ale dane przed zaksięgowaniem zawsze powinien zatwierdzić człowiek — szczególnie na początku wdrożenia.
Przetwarzanie danych osobowych. Faktury zawierają dane objęte RODO. Przed wdrożeniem produkcyjnym warto skonsultować się z prawnikiem lub inspektorem ochrony danych — szczególnie jeśli przetwarzasz faktury od klientów lub podwykonawców.
Co dalej? Niedługo pojawi się osobny artykuł o tym, jak skonfigurować połączenie z Google Drive i Google Sheets przez Google Cloud Console — od pustego projektu do działającego konta serwisowego. Planuję też bardziej rozbudowany scenariusz automatyzacji faktur z obsługą wielu formatów i eksportem do systemu księgowego. Zostań na bieżąco.
Najczęstsze pytania
Czy workflow działa ze skanowanymi fakturami (zdjęcia, skany)?
Nie bezpośrednio. Węzeł Extract from File obsługuje tylko PDF-y z warstwą tekstową. Jeśli faktura to skan, węzeł zwróci puste pole. W takim przypadku przed ekstrakcją potrzebny jest osobny krok OCR — np. Google Vision API lub dedykowane narzędzie do OCR faktur.
Ile kosztuje przetwarzanie faktur przez AI w n8n?
Koszt to głównie API OpenAI. Model GPT-5.4-NANO kosztuje $0.20 za milion tokenów wejściowych — przetworzeniejednej faktury to ok. 500–1000 tokenów, czyli ułamek grosza. Przy 100 fakturach miesięcznie koszt API to mniej niż 1 zł.
Czy potrzebuję płatnego planu n8n?
Nie — n8n jest open source i możesz hostować go samodzielnie za darmo. Płacisz tylko za serwer (np. mikr.us za 75 zł rocznie). Bez limitów operacji, bez miesięcznych abonamentów za narzędzie.
Czy dane z faktur są bezpieczne przy wysyłaniu do OpenAI?
Faktury zawierają dane osobowe i finansowe objęte RODO. Tekst faktury jest wysyłany do API OpenAI — OpenAI nie używa danych z API do trenowania modeli, ale warto zapoznać się z ich polityką prywatności i skonsultować wdrożenie produkcyjne z inspektorem danych.
Co jeśli AI pomyli kwoty lub numery NIP?
Zdarza się przy niestandardowych układach faktur. Zawsze weryfikuj wyniki, szczególnie na początku wdrożenia. Dobrą praktyką jest dodanie kolumny "weryfikacja" w arkuszu i kontrola przez człowieka przed zaksięgowaniem danych.