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.
To ostatni, siódmy krok w ścieżkę nauki n8n - łączy wszystko, czego nauczyłeś się wcześniej, w realnym zastosowaniu biznesowym.
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. Szerszy obraz - które procesy w firmie warto oddać maszynie i w jakiej kolejności - opisuję w przewodniku automatyzacja procesów biznesowych.
Źródło: zrzut ekranu z panelu n8n - opracowanie własne
Co będziesz potrzebować
- n8n - lokalnie lub na serwerze (masz już tutorial instalacji n8n oraz pierwsze workflow krok po kroku)
- Konto OpenAI - klucz API (w tutorialu używam GPT-5.4-NANO; zadziała też nowszy, tani GPT-6 Luna)
- Konto Google - do Google Drive i Google Sheets
- Folder "Faktury" na Google Drive - tu wrzucasz pliki do przetworzenia
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.
Krok 3 - Odczytywanie faktury PDF: Extract from File
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.
Wskazówka: dane już w arkuszu możesz dalej obrabiać samą sztuczną inteligencją - funkcją
=AI()od Gemini albo dodatkiem GPT for Sheets. Zebrałem to w przewodniku Google Sheets AI - jak używać AI w arkuszach. A jeśli Twoje PDF-y są w obcym języku, ten sam schemat z folderem na Dysku sprawdza się przy automatycznym tłumaczeniu PDF przez AI.
Ź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. Przetworzenie jednej faktury to ok. 500-1000 tokenów, czyli ułamek grosza - np. GPT-6 Luna kosztuje 0,10 USD za milion tokenów wejściowych i 0,50 USD za milion wyjściowych (stan na 10.10.2026; aktualne stawki na openai.com/api/pricing). Przy 100 fakturach miesięcznie koszt API to mniej niż 1 zł.
Czy potrzebuję płatnego planu n8n? Nie - wersję n8n instalowaną na własnym serwerze możesz używać bez opłat za samo oprogramowanie. Płacisz tylko za serwer (np. mikr.us 2.1 za 75 zł rocznie, stan na 10.10.2026). 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 deklaruje w swojej polityce, że domyślnie nie używa danych przesyłanych przez API do trenowania modeli - sprawdź jednak aktualną wersję tej polityki 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.