Ręczne przepisywanie faktur z Excela do systemu księgowego to jeden z tych procesów, które firmy tolerują latami, bo “zawsze tak było”. A przecież każda faktura wpisana ręcznie to potencjalny błąd w numerze NIP, kwocie albo dacie płatności. W tym artykule pokazujemy konkretny workflow w Make, który eliminuje ten krok całkowicie.
Szybka odpowiedź
Automatyzacja fakturowania z Excela do systemu księgowego polega na zbudowaniu scenariusza w Make, który monitoruje plik lub folder, parsuje wiersze arkusza jako pojedyncze faktury, mapuje kolumny na pola wymagane przez API księgowe (np. Fakturownia, wFirma, iFirma) i wysyła dane bez udziału człowieka. Cały proces trwa sekundy, nie godziny.
Najważniejsze wnioski
- Make (dawniej Integromat) obsługuje parsowanie plików Excel natywnie, bez potrzeby pisania własnego kodu.
- Większość polskich systemów księgowych (Fakturownia, wFirma, iFirma) ma otwarte API REST, które przyjmuje dane w formacie JSON.
- Kluczowy element workflow to walidacja danych przed wysyłką, bo API nie przyjmie faktury z brakującym NIP-em lub błędną datą.
- Scenariusz można uruchamiać automatycznie po dodaniu pliku do Google Drive lub Dropbox, bez interwencji użytkownika.
- Wdrożenie takiego rozwiązania trwa zwykle 1-2 tygodnie, w zależności od złożoności struktury danych źródłowych.
Dlaczego ręczne wpisywanie faktur to problem, a nie tylko niewygoda
W firmach, które wystawiają dziesiątki lub setki faktur miesięcznie, ręczne przepisywanie danych z Excela do systemu księgowego generuje realne koszty. Nie chodzi tylko o czas, choć to też ma znaczenie, bo przepisanie jednej faktury zajmuje od 2 do 5 minut. Przy 200 fakturach miesięcznie to kilkanaście godzin pracy, które ktoś musi wykonać, zwykle osoba w księgowości, która ma ważniejsze rzeczy do roboty niż klikanie po formularzach.
Większy problem to błędy. Literówka w numerze NIP powoduje odrzucenie faktury przez system podatkowy albo, co gorsza, wysłanie jej do złego kontrahenta. Pomylona kwota netto z brutto to korekta, telefon do klienta i utrata zaufania. Przy ręcznym wpisywaniu błąd pojawia się statystycznie raz na jakiś czas, niezależnie od tego, jak sumienny jest pracownik. Automatyzacja fakturowania nie eliminuje błędów w źródle danych, ale eliminuje błędy powstałe podczas przepisywania, a to zwykle 80% wszystkich pomyłek w tym procesie.
Jest jeszcze trzeci aspekt, mniej oczywisty: skalowanie. Firma, która rośnie z 50 do 500 faktur miesięcznie, nie może po prostu zatrudnić dziesięciu razy więcej ludzi do wpisywania danych. Automatyzacja skaluje się liniowo, kosztem stałym, niezależnie od wolumenu.
Jak działa workflow w Make krok po kroku
Cały scenariusz w Make składa się z kilku modułów połączonych w logiczny ciąg. Zaczynamy od triggera, czyli wydarzenia, które uruchamia scenariusz. Najczęściej jest to nowy plik w folderze Google Drive lub Dropbox, ale może to być też webhook wywołany przez inny system, albo prosty harmonogram sprawdzający folder co godzinę.
Kolejny krok to moduł Microsoft Excel (lub Google Sheets, jeśli plik jest przechowywany w tym formacie), który odczytuje zawartość arkusza. Make pobiera wszystkie wiersze i traktuje każdy jako osobny “bundle”, czyli pakiet danych do dalszego przetworzenia. Tu pojawia się pierwsza decyzja projektowa: trzeba ustalić, które kolumny odpowiadają jakim polom faktury, na przykład kolumna B to nazwa kontrahenta, kolumna D to kwota netto, kolumna F to stawka VAT.
Następnie dane przechodzą przez filtr walidacyjny. Sprawdzamy, czy wszystkie wymagane pola są wypełnione i mają sensowny format, na przykład czy NIP ma 10 cyfr, czy data nie jest z przeszłości dawniejszej niż dozwolony okres rozliczeniowy. Wiersze, które nie przejdą walidacji, trafiają do osobnej gałęzi scenariusza, zwykle kończącej się powiadomieniem mailowym do osoby odpowiedzialnej za korektę danych źródłowych.
Ostatni krok to moduł HTTP lub dedykowany moduł integracyjny (Make ma gotowe konektory do wielu popularnych systemów), który wysyła dane jako żądanie POST do API systemu księgowego. System odpowiada statusem sukcesu albo błędem, który również można przechwycić i zalogować.
Mapowanie kolumn Excela na pola API
To najbardziej newralgiczny element całego procesu. Systemy księgowe wymagają danych w konkretnej strukturze, często zagnieżdżonej, na przykład dane kontrahenta jako osobny obiekt z polami name, tax_id, address. Excel natomiast to płaska tabela. Make pozwala na budowanie takich struktur ręcznie w edytorze modułu, wpisując referencje do konkretnych kolumn z poprzedniego kroku. Warto tu zainwestować czas w dobre nazewnictwo kolumn w Excelu, żeby mapowanie było czytelne i łatwe do utrzymania, gdy po miesiącach trzeba coś poprawić.
Integracja z popularnymi systemami księgowymi
Większość polskich systemów księgowych oferuje API REST, co znacznie ułatwia integrację. Fakturownia ma jedno z najbardziej dopracowanych API w tej kategorii, z pełną dokumentacją i możliwością tworzenia faktur, klientów oraz pozycji na fakturze jednym żądaniem. wFirma i iFirma mają podobne możliwości, choć struktura żądań różni się w szczegółach, więc dokumentacja API konkretnego dostawcy jest obowiązkowym punktem odniesienia przy budowie scenariusza.
Warto pamiętać, że niektóre systemy wymagają dwuetapowej autoryzacji, na przykład tokenu API generowanego w panelu klienta, który trzeba przechowywać w Make jako connection, a nie wpisywać na stałe w module. To zabezpiecza przed sytuacją, w której token wygasa lub trzeba go zmienić, a scenariusz przestaje działać bez ostrzeżenia.
Jeśli firma korzysta z większego systemu ERP, na przykład Comarch Optima czy Symfonia, integracja przez API bywa bardziej skomplikowana, a czasem wymaga dodatkowego modułu lub pluginu po stronie dostawcy. W takich przypadkach czasem prostszym rozwiązaniem jest generowanie plików w formacie zgodnym z importem masowym systemu (np. CSV o określonej strukturze) i automatyczne wgrywanie ich przez zaplanowany proces, a nie komunikacja bezpośrednio przez API.
Typowe problemy i jak ich uniknąć
Najczęstszy błąd we wdrożeniach tego typu to zbyt sztywne mapowanie kolumn, które łamie się przy pierwszej zmianie w strukturze pliku Excel. Jeśli księgowa doda nową kolumnę albo zmieni kolejność, scenariusz zaczyna wysyłać błędne dane bez wyraźnego ostrzeżenia. Rozwiązaniem jest mapowanie po nazwach nagłówków, nie po pozycji kolumny, oraz zablokowanie edycji struktury szablonu dla osób, które go wypełniają.
Drugi problem to duplikaty. Jeśli plik Excel jest przetwarzany więcej niż raz, na przykład przez pomyłkę albo błąd w triggerze, te same faktury trafiają do systemu księgowego podwójnie. Dobra praktyka to oznaczanie już przetworzonych wierszy, na przykład wpisywaniem statusu w dodatkowej kolumnie po udanym imporcie, oraz filtrowanie wierszy, które już mają taki status.
Trzeci problem, rzadziej wspominany, to limity API. Niektóre systemy księgowe ograniczają liczbę żądań na minutę. Przy dużych plikach z kilkuset wierszami warto dodać moduł “Sleep” między kolejnymi wysyłkami, żeby nie przekroczyć limitu i nie dostać błędu 429 w połowie przetwarzania partii faktur.
Kiedy warto zainwestować w takie rozwiązanie
Automatyzacja tego typu ma sens, gdy liczba faktur przekracza jakiś rozsądny próg, w praktyce zwykle powyżej 30-50 miesięcznie, bo poniżej tej liczby czas wdrożenia i utrzymania scenariusza może nie zwrócić się szybko. Ma też sens, gdy dane w Excelu pochodzą z zewnętrznego źródła, na przykład systemu magazynowego albo platformy e-commerce, które eksportują raporty sprzedażowe wymagające dalszego przetworzenia na faktury.
Nie warto automatyzować procesu, który zmienia się co miesiąc w swojej strukturze, bo koszt utrzymania scenariusza przewyższy korzyści. W takich przypadkach lepiej najpierw ustandaryzować proces zbierania danych, a automatyzację wdrożyć w drugim etapie, gdy format się ustali. W EXOLAB każdy taki projekt zaczynamy od analizy realnego wolumenu i zmienności danych, bo to determinuje, czy scenariusz w Make będzie stabilny na dłużej, czy wymaga bardziej elastycznego podejścia, na przykład z dodatkową warstwą przetwarzania danych przez skrypt Python wywoływany z Make.
Słowniczek
Make (Integromat)
Platforma no-code/low-code do budowy automatyzacji między aplikacjami, wcześniej znana jako Integromat. Pozwala łączyć różne systemy bez pisania kodu, za pomocą wizualnych scenariuszy złożonych z modułów.
API REST
Standard komunikacji między systemami przez protokół HTTP, w którym dane wymieniane są zwykle w formacie JSON. Większość nowoczesnych systemów księgowych udostępnia API REST do integracji zewnętrznych.
Webhook
Mechanizm, w którym jeden system automatycznie wysyła powiadomienie (wraz z danymi) do innego systemu w momencie wystąpienia określonego zdarzenia, na przykład dodania nowego pliku.
Walidacja danych
Proces sprawdzania, czy dane wejściowe spełniają wymagane kryteria (format, kompletność, zgodność) przed dalszym przetworzeniem. W kontekście fakturowania oznacza to weryfikację NIP-u, dat i kwot przed wysyłką do systemu księgowego.
Najczęściej zadawane pytania
Czy Make poradzi sobie z plikiem Excel o nieregularnej strukturze?
Tak, ale wymaga to dodatkowej pracy przy mapowaniu kolumn i filtrach warunkowych. Jeśli struktura pliku zmienia się co miesiąc, lepiej najpierw ustandaryzować szablon Excela niż komplikować scenariusz w Make.
Ile kosztuje utrzymanie takiego scenariusza w Make?
Koszt zależy od liczby operacji miesięcznie. Przy kilkuset fakturach miesięcznie wystarczy plan za około 9-16 dolarów miesięcznie. Dodatkowo trzeba liczyć koszt licencji API systemu księgowego, jeśli dostawca ją wymaga.
Czy da się podłączyć więcej niż jeden system księgowy do tego samego scenariusza?
Tak, Make pozwala na rozgałęzienie scenariusza (router) i wysyłkę tych samych danych do wielu systemów jednocześnie, na przykład do fakturowni oraz do systemu ERP używanego przez księgowość.
Co się stanie, jeśli w Excelu będzie błąd w danych, na przykład brak NIP-u?
Dobrze zaprojektowany scenariusz powinien mieć krok walidacji przed wysyłką do API. Wiersze z błędami trafiają do osobnego arkusza lub powiadomienia mailowego, a poprawne dane są przetwarzane normalnie.
Czy to rozwiązanie działa też z Google Sheets, a nie tylko z plikami Excel?
Tak, Make ma natywny moduł do Google Sheets i działa on nawet stabilniej niż parsowanie plików .xlsx, bo nie trzeba obsługiwać uploadu i formatu binarnego.