# 5 Workflow Templates n8n + OpenAI dla Biura Księgowego
Biuro księgowe nie potrzebuje kolejnego ogólnego artykułu o AI. Potrzebuje mapy, która pokazuje: gdzie dokładnie wpina się n8n, co robi OpenAI, gdzie człowiek musi zatwierdzić wynik i jak nie zrobić z automatyzacji ryzyka compliance.
Ten przewodnik to pięć praktycznych template'ów dla małego lub średniego biura księgowego. Nie są to gotowe workflow do bezmyślnego importu. To szkice architektury, które można odtworzyć w n8n, dopasować do używanego systemu księgowego i objąć kontrolą człowieka tam, gdzie decyzja ma skutki podatkowe lub formalne.
Najważniejsza zasada: AI nie księguje samodzielnie. AI porządkuje wejście, wyciąga dane, sugeruje kategorię, wskazuje braki i przygotowuje zadania. Ostateczne zatwierdzenie zostaje po stronie osoby odpowiedzialnej. Dzięki temu automatyzacja przyspiesza pracę, ale nie udaje, że zastępuje odpowiedzialność zawodową.
Jeśli dopiero zaczynasz z n8n, przeczytaj najpierw [pillar o n8n + GPT dla polskich firm](/uslugi/n8n). Jeśli masz już instancję, przejdź od razu do Template 1 i potraktuj go jako pierwszy sprint.
Założenia wspólne dla template'ów
- •n8n działa self-hosted lub w n8n Cloud.
- •OpenAI jest używane do klasyfikacji, ekstrakcji i generowania krótkich podsumowań.
- •Dane klientów trafiają do bazy/logu tylko w minimalnym zakresie potrzebnym do obsługi procesu.
- •Każdy workflow ma gałąź błędu, retry i widoczny status dla człowieka.
- •Żaden workflow nie wykonuje nieodwracalnej akcji bez human review.
## Template 1: Intake dokumentów od klienta
Problem: Klienci wysyłają dokumenty różnymi kanałami: email, Drive, formularz, czasem zdjęcie z telefonu. Księgowa zaczyna dzień od ręcznego sortowania: kto wysłał, czego brakuje, co jest fakturą, co umową, co duplikatem.
Cel workflow: przyjąć dokument, przypisać go do klienta, rozpoznać typ, zapisać w odpowiednim folderze i utworzyć zadanie tylko wtedy, gdy czegoś brakuje.
Diagram opisowy:
Klient wysyła plik do mailboxa lub formularza. n8n odbiera webhook albo IMAP event. Pierwszy node sprawdza nadawcę i mapuje go do klienta. Drugi node zapisuje plik w katalogu klienta. OpenAI klasyfikuje typ dokumentu na podstawie nazwy, treści OCR i kontekstu. Switch node rozdziela dokumenty na faktury kosztowe, faktury sprzedażowe, umowy, potwierdzenia przelewów i inne. Na końcu workflow aktualizuje checklistę miesiąca i wysyła klientowi krótkie potwierdzenie.
Szkic JSON:
```json { "name": "accounting_document_intake", "trigger": "imap_or_webhook", "nodes": [ { "type": "identify_client", "input": "sender_email", "fallback": "manual_review" }, { "type": "store_file", "target": "drive/client/month/raw" }, { "type": "ocr_if_needed", "engine": "tesseract_or_google_vision" }, { "type": "openai_classify", "categories": ["cost_invoice", "sales_invoice", "contract", "payment_confirmation", "other"] }, { "type": "update_monthly_checklist" }, { "type": "notify_client", "template": "received_or_missing_context" } ], "human_review_required": ["unknown_client", "other", "low_confidence"] } ```
Wariant MVP: zacznij tylko od mailboxa i folderów Drive. Nie integruj od razu z systemem księgowym. Pierwszy sukces to koniec ręcznego przenoszenia plików między katalogami.
Pułapka: rozpoznawanie klienta po samym adresie email nie wystarcza. Firmy często wysyłają dokumenty z prywatnych skrzynek, adresów pracowników lub skanerów. Dodaj tabelę aliasów i regułę: jeśli pewność dopasowania jest niska, zadanie trafia do ręcznej akceptacji.
## Template 2: OCR faktury i ekstrakcja pól do review
Problem: Faktura jako PDF lub zdjęcie wymaga przepisania numeru, daty, NIP-u, kwoty netto/brutto, VAT, waluty i terminu płatności. Ręczne przepisywanie jest nudne, ale błąd może kosztować dużo czasu przy korekcie.
Cel workflow: wyciągnąć dane z dokumentu, porównać je z walidatorami i przygotować ekran review dla księgowej.
Diagram opisowy:
Workflow startuje po zapisaniu dokumentu w folderze. OCR zamienia obraz/PDF na tekst. OpenAI dostaje tekst i zwraca wyłącznie JSON z polami faktury. Function node waliduje strukturę: czy NIP ma poprawną długość, czy daty są logiczne, czy brutto zgadza się z netto i VAT w tolerancji groszowej. Jeśli confidence jest wysoki, rekord trafia do kolejki "gotowe do zatwierdzenia". Jeśli coś nie gra, workflow tworzy zadanie z konkretną przyczyną.
Szkic JSON:
```json { "name": "invoice_ocr_extraction_review", "trigger": "new_file_in_client_folder", "nodes": [ { "type": "ocr", "output": "plain_text" }, { "type": "openai_extract_json", "schema": { "seller_nip": "string", "buyer_nip": "string", "invoice_number": "string", "issue_date": "YYYY-MM-DD", "due_date": "YYYY-MM-DD|null", "net_amount": "number", "vat_amount": "number", "gross_amount": "number", "currency": "PLN|EUR|USD|other" }}, { "type": "validate_fields", "rules": ["nip_format", "date_order", "amount_sum"] }, { "type": "create_review_record", "destination": "notion_or_airtable" } ], "blocked_actions": ["auto_book_without_review"] } ```
Wariant MVP: waliduj tylko NIP, numer faktury, datę i kwotę brutto. To już redukuje przepisywanie, a nie wymaga pełnego modelowania księgowego.
Pułapka: OCR z paragonów i zdjęć z telefonu bywa niestabilny. Wymuś minimalną jakość obrazu: jeśli OCR zwraca zbyt mało tekstu albo brak numeru dokumentu, workflow prosi klienta o ponowne przesłanie w PDF lub lepszym zdjęciu.
## Template 3: Klasyfikacja maili księgowych i routing spraw
Problem: Skrzynka biura księgowego miesza zapytania o dokumenty, pytania kadrowe, prośby o zaświadczenia, opóźnione faktury i sprawy pilne. Ręczne sortowanie sprawia, że najpilniejsze tematy giną obok newsletterów i potwierdzeń.
Cel workflow: nadać mailowi kategorię, pilność i właściciela, a potem utworzyć zadanie w odpowiedniej kolejce.
Diagram opisowy:
IMAP trigger pobiera nową wiadomość. Function node usuwa stopki i cytowane odpowiedzi. OpenAI klasyfikuje mail w zamkniętym słowniku: dokumenty, podatki, kadry, płatności, zaświadczenia, reklamacja, inne. Drugi krok sprawdza pilność na podstawie słów typu termin, kontrola, urząd, dziś, zaległe. Switch node wysyła temat do właściwej osoby albo do kolejki triage.
Szkic JSON:
```json { "name": "accounting_inbox_triage", "trigger": "imap_new_email", "nodes": [ { "type": "clean_email", "remove": ["html", "signature", "quoted_thread"] }, { "type": "openai_classify", "allowed_categories": ["documents", "tax", "payroll", "payments", "certificate", "complaint", "other"] }, { "type": "detect_urgency", "signals": ["deadline", "office_notice", "today", "overdue"] }, { "type": "assign_owner", "source": "client_owner_table" }, { "type": "create_task", "system": "linear_trello_asana_or_notion" }, { "type": "send_acknowledgement", "condition": "client_email" } ], "manual_review": ["complaint", "other", "high_urgency_without_owner"] } ```
Wariant MVP: nie zaczynaj od automatycznych odpowiedzi. Najpierw tylko kategoryzuj i twórz zadania. Po tygodniu zobaczysz, które kategorie są powtarzalne i dopiero wtedy dodasz gotowe odpowiedzi.
Pułapka: mail może mieć kilka intencji naraz, na przykład faktura plus pytanie kadrowe. Prompt powinien pozwalać na primary_category i secondary_category. Jeśli secondary istnieje, workflow tworzy dwa zadania albo jedno zadanie z checklistą.
## Template 4: Raport brakujących dokumentów przed zamknięciem miesiąca
Problem: Pod koniec miesiąca zespół robi ręczny przegląd: od kogo brakuje faktur, potwierdzeń, raportów kasowych lub danych do płac. To powtarzalna praca, ale musi być precyzyjna i dobrze opisana dla klienta.
Cel workflow: porównać checklistę klienta z dokumentami, wykryć braki i wygenerować krótką wiadomość z listą rzeczy do dosłania.
Diagram opisowy:
Cron uruchamia workflow kilka dni przed terminem. n8n pobiera listę klientów i ich checklisty. Dla każdego klienta sprawdza folder dokumentów oraz statusy z poprzednich workflow. Function node buduje listę braków. OpenAI zamienia techniczną listę w czytelny email po polsku. Człowiek zatwierdza wysyłkę albo edytuje treść.
Szkic JSON:
```json { "name": "monthly_missing_documents_report", "trigger": "cron_before_month_close", "nodes": [ { "type": "load_clients", "filter": "active" }, { "type": "load_required_document_checklist", "source": "client_profile" }, { "type": "scan_received_documents", "period": "current_month" }, { "type": "diff_required_vs_received" }, { "type": "openai_write_client_message", "tone": "short_specific_polish" }, { "type": "create_approval_task" }, { "type": "send_after_approval" } ], "message_rule": "never_guess_missing_items" } ```
Wariant MVP: obsłuż tylko 10 najważniejszych klientów i jedną listę dokumentów. Dopiero po sprawdzeniu jakości dodaj profile per klient.
Pułapka: nie każda firma ma ten sam zestaw dokumentów. Jeśli użyjesz jednej globalnej checklisty, klienci dostaną niepotrzebne prośby. Modeluj wymagania per klient, nawet jeśli na początku to zwykła tabela.
## Template 5: Follow-up po brakach i eskalacja do opiekuna
Problem: Pierwszy email z prośbą o dokumenty często nie wystarcza. Zespół pamięta o follow-upach w głowie, a potem końcówka miesiąca robi się nerwowa.
Cel workflow: pilnować terminów, wysyłać uprzejme przypomnienia i eskalować tylko te sprawy, które naprawdę wymagają interwencji człowieka.
Diagram opisowy:
Workflow startuje codziennie rano. Pobiera otwarte braki dokumentów i sprawdza datę ostatniego kontaktu. Jeśli minął określony czas, tworzy wersję follow-upu. OpenAI skraca i personalizuje wiadomość, ale nie wymyśla nowych braków. Po drugim przypomnieniu sprawa trafia do opiekuna klienta jako zadanie z kontekstem dotychczasowej komunikacji.
Szkic JSON:
```json { "name": "missing_documents_followup_escalation", "trigger": "daily_cron", "nodes": [ { "type": "load_open_missing_items" }, { "type": "filter_by_last_contact", "days_since_last_message": [3, 7, 10] }, { "type": "openai_generate_followup", "constraint": "use_only_known_missing_items" }, { "type": "approval_or_auto_send", "auto_send_only_for_low_risk" }, { "type": "escalate_to_owner", "condition": "second_followup_no_response" }, { "type": "write_audit_log" } ], "tone": "firm_but_calm", "do_not": ["invent_deadlines", "threaten", "mention_penalties_without_human_review"] } ```
Wariant MVP: pierwsze przypomnienie automatyczne, drugie tylko jako draft do zatwierdzenia. To utrzymuje kontrolę i pozwala wyłapać klientów o niestandardowych ustaleniach.
Pułapka: automatyczny follow-up może brzmieć pasywno-agresywnie, jeśli poprzednia rozmowa miała napięty kontekst. Dlatego przy sprawach oznaczonych jako reklamacja, konflikt lub VIP wyłącz auto-send i twórz tylko draft.
## Jak wdrożyć te template'y w 30 dni
Nie wdrażaj pięciu workflow naraz. Kolejność ma znaczenie:
- •Tydzień 1: Intake dokumentów i mapowanie klientów.
- •Tydzień 2: OCR faktur do review, bez automatycznego księgowania.
- •Tydzień 3: Klasyfikacja maili i zadania dla właścicieli.
- •Tydzień 4: Raport braków i pierwszy follow-up.
Piąty workflow, czyli eskalacja, najlepiej dodać dopiero po jednym pełnym cyklu miesiąca. Wtedy wiadomo, które przypomnienia są bezpieczne, które wymagają tonu opiekuna, a które lepiej zostawić jako telefon.
## Minimalny zestaw kontroli
Przed uruchomieniem produkcyjnym sprawdź:
- •Czy każdy workflow ma log egzekucji i łatwe wyszukiwanie po kliencie.
- •Czy dane wejściowe są walidowane przed wysłaniem do OpenAI.
- •Czy prompt zabrania dopowiadania brakujących danych.
- •Czy confidence poniżej progu trafia do człowieka.
- •Czy klient może łatwo odpowiedzieć i poprawić błąd.
- •Czy retention logów jest zgodny z polityką biura.
## Co pobrać jako template
Jeśli robisz z tego lead magnet, pakiet powinien zawierać:
- •pięć plików JSON jako szkice workflow,
- •checklistę danych wejściowych,
- •mapę ról i odpowiedzialności,
- •politykę human review,
- •gotowe prompty do klasyfikacji i ekstrakcji,
- •instrukcję testu na 10 przykładowych dokumentach.
Na stronie publicznej nie musisz dawać pełnych credentiali ani gotowych kluczy API. Daj strukturę, nazwy node'ów, przykładowe pola i zasady bezpieczeństwa. To wystarczy, żeby klient zobaczył wartość, a jednocześnie nie zachęca do bezmyślnego kopiowania procesu bez kontroli.
## Podsumowanie
Dobre workflow dla biura księgowego nie zaczyna się od pytania "co może zrobić AI?". Zaczyna się od pytania: gdzie zespół traci czas na sortowanie, przepisywanie, przypominanie i sprawdzanie kompletności.
n8n jest warstwą orkiestracji. OpenAI jest warstwą językową. Człowiek zostaje warstwą odpowiedzialności. Ten układ jest bezpieczny, praktyczny i szybki do wdrożenia.
Jeśli chcesz zbudować pierwszy taki system bez miesiąca eksperymentów, zobacz [Sprint AI](/sprint-ai), [automatyzację marketingu i biura](/uslugi/automatyzacja) albo [n8n + GPT dla polskich firm](/uslugi/n8n).


