Przestań klepać faktury ręcznie: Kompletny przewodnik po n8n i Google Sheets
Dlaczego wciąż kopiujesz dane jak w 2010 roku?
Jeśli prowadzisz małą firmę, agencję lub jesteś freelancerem, koniec miesiąca prawdopodobnie wygląda tak samo: otwierasz arkusz z godzinami, logujesz się do programu księgowego (lub, o zgrozo, Worda) i zaczynasz żmudny proces kopiuj-wklej. Data, NIP, nazwa usługi, kwota netto, VAT. Klikasz „generuj”, potem „pobierz”, otwierasz klienta poczty, załączasz plik i wysyłasz.
To strata czasu. Co gorsza, to pole minowe dla ludzkich błędów. Wystarczy jedna pomyłka w NIP-ie lub przecinku przy kwocie, by narazić się na korekty i irytację klienta. Rozwiązaniem nie jest kolejny drogi SaaS, który obiecuje, że zrobi wszystko za Ciebie, ale elastyczny system, który zbudujesz sam w jeden wieczór, używając Google Sheets jako bazy danych i N8n jako silnika wykonawczego.
Google Sheets: Twój nowy CRM i baza faktur
Zapomnij o skomplikowanych systemach ERP. Dla większości małych podmiotów Google Sheets jest wystarczający, pod warunkiem, że zachowasz higienę danych. Aby automatyzacja zadziałała, Twój arkusz musi być ustrukturyzowany. Nie może być brudnopisem.
Stwórz arkusz z następującymi kolumnami:
- ID Klienta / Nazwa: Do identyfikacji.
- NIP: Kluczowy do faktury.
- Adres e-mail: Dokąd wysłać dokument.
- Usługa/Pozycje: Co fakturujesz.
- Kwota Netto: Matematykę VAT zostaw automatyzacji, ale baza netto musi być czysta.
- Status Faktury: To najważniejsza kolumna dla N8n. Wartości to np. „Do wystawienia”, „Wysłano”, „Błąd”.
- ID Wygenerowanej Faktury: Miejsce, gdzie automat wpisze numer po sukcesie.
Kluczowa zasada: N8n będzie „patrzył” tylko na wiersze, gdzie status to „Do wystawienia”. To Twój bezpiecznik przed wysłaniem tej samej faktury dwa razy.
n8n: Mózg operacji (lepszy niż Zapier)
Dlaczego n8n, a nie popularny Zapier czy Make? Ponieważ przy fakturowaniu potrzebujesz precyzji i kontroli nad danymi, a model płatności n8n (szczególnie w wersji self-hosted) nie karze Cię za skomplikowane procesy. W Zapierze wieloetapowe workflows szybko drenują portfel. W n8n budujesz logikę raz i działa ona w tle.
Krok 1: Wyzwalacz (Trigger)
Używamy węzła Google Sheets Trigger lub standardowego węzła Google Sheets w pętli czasowej (cron), który co godzinę sprawdza wiersze. Filtrujemy dane tak, by pobrać tylko te rekordy, gdzie kolumna „Status Faktury” równa się „Do wystawienia”. To zapobiega chaosowi.
Krok 2: Generowanie dokumentu PDF
Tutaj masz dwie drogi. Droga łatwa (płatna) i droga sprytna (darmowa/tania).
Opcja API (np. Fakturownia, wFirma, InFakt): Jeśli używasz polskiego programu księgowego, n8n może wysłać dane do ich API. Węzeł HTTP Request przesyła dane z Google Sheets (NIP, kwota) do API programu księgowego. W odpowiedzi otrzymujesz link do gotowego PDF-a. To najbezpieczniejsza opcja pod kątem prawnym.
Opcja HTML Template: Jeśli wystawiasz faktury bez VAT lub masz własny szablon, możesz użyć węzła w N8n do podstawienia zmiennych z Arkusza pod szablon HTML, a następnie skonwertować go do PDF (np. używając węzła HTML to PDF lub zewnętrznego serwisu jak APITemplate.io). To daje pełną kontrolę nad wyglądem dokumentu, ale wymaga dbałości o wymogi formalne faktury na poziomie kodu HTML.
Krok 3: Logika nazewnictwa plików
Nigdy nie wysyłaj pliku o nazwie „faktura.pdf”. To amatorszczyzna. W n8n użyj węzła Set lub Code, aby dynamicznie nazwać plik, np.: FV_{{Rok}}_{{Miesiąc}}_{{NazwaKlienta}}.pdf. To ułatwia życie Tobie i księgowej Twojego klienta.
Krok 4: Wysyłka i aktualizacja zwrotna
To moment, w którym dzieje się magia. n8n pobiera wygenerowany PDF i używa węzła Gmail (lub SMTP), aby wysłać wiadomość. Treść maila również powinna być dynamiczna – „Cześć {{Imie}}, przesyłam fakturę za {{Miesiac}}”.
Ale to nie koniec. Krytycznym, często pomijanym krokiem, jest pętla zwrotna. Po wysłaniu maila, n8n musi wrócić do Google Sheets i zaktualizować wiersz:
- Zmienić status z „Do wystawienia” na „Wysłano”.
- Wstawić datę wysyłki.
- Opcjonalnie wkleić link do kopii faktury na Twoim Google Drive.
Bez tego kroku Twój automat przy następnym uruchomieniu wyśle fakturę ponownie, a Ty stracisz wiarygodność w oczach klienta.
Obsługa błędów: Co gdy coś pójdzie nie tak?
Automatyzacja bez obsługi błędów (Error Handling) to tykająca bomba. Co jeśli API księgowe nie odpowie? Co jeśli adres e-mail klienta ma literówkę?
W N8n musisz skonfigurować ścieżkę błędu (Error Workflow). Jeśli węzeł wysyłki maila zawiedzie, system nie powinien milczeć. Powinien:
- Oznaczyć status w Google Sheets jako „BŁĄD”.
- Wysłać do Ciebie powiadomienie na Slacka, Telegrama lub e-mail z informacją: „Faktura dla klienta X nie poszła”.
Dzięki temu masz pewność, że system działa, a Ty interweniujesz tylko w sytuacjach awaryjnych, zamiast nadzorować każdy proces.
Bezpieczeństwo danych
Pamiętaj, że przetwarzasz dane finansowe i osobowe. Używając n8n (szczególnie w chmurze) i Google Sheets, upewnij się, że Twoje konta są zabezpieczone uwierzytelnianiem dwuskładnikowym (2FA). Jeśli hostujesz n8n samodzielnie, nie wystawiaj go publicznie bez odpowiednich zabezpieczeń sieciowych. Automatyzacja ma przynosić zysk, a nie wyciek danych.