Masz stos paragonów, które co miesiąc przepisujesz ręcznie do Excela albo w ogóle nie przepisujesz — i tracisz kontrolę nad wydatkami? W tym tutorialu pokazuję jak zbudować w Make.com scenariusz, który robi skanowanie paragonów automatycznie — zdjęcie wysłane na Telegram → dane w Google Sheets. Zero wpisywania ręcznego, zero kodu.
Scenariusz łączy dwa modele AI — Mistral OCR do odczytu tekstu ze zdjęcia i OpenAI do wyciągania ustrukturyzowanych danych. Na końcu gotowy wiersz w arkuszu — sklep, data, suma, waluta.
Jeśli Make.com widzisz pierwszy raz — zacznij od Make.com: pierwsza automatyzacja krok po kroku, żeby poznać interfejs przed tym tutorialem.
Co zbudujesz — scenariusz OCR paragonów z AI
Pięć modułów, jeden przepływ:
Telegram → Telegram Download → Mistral OCR → OpenAI → Google Sheets
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Pięć modułów: trigger Telegram, pobieranie pliku, Mistral OCR, mapowanie danych przez OpenAI, zapis do arkusza
Efekt końcowy — wysyłasz zdjęcie paragonu w Telegramie, po kilku sekundach w Google Sheets pojawia się nowy wiersz z nazwą sklepu, datą zakupu, kwotą i walutą.
Czego potrzebujesz
Informacja o współpracy: powyższy link do Make.com to link afiliacyjny — jeśli założysz konto przez niego, AIzi.pl otrzyma prowizję bez żadnych dodatkowych kosztów dla Ciebie. Dziękuję, bo to bezpośrednio wspiera działanie tego bloga.
Kliknij "+" na kanvasie, wyszukaj Telegram Bot i wybierz moduł Watch Updates. Podłącz swojego bota — wklej token do nowego połączenia w Make.com. Jak uzyskać token bota Telegram? Opisałem to w tym tutorialu n8n — token działa identycznie w Make.com.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Wyszukaj "watch" i wybierz "Watch Updates" (oznaczony cyfrą 1) — trigger uruchomi scenariusz przy każdej nowej wiadomości
Moduł uruchamia scenariusz za każdym razem, gdy ktoś wyśle wiadomość do bota. Telegram przekazuje metadane, w tym identyfikator pliku przy zdjęciach — tego użyjesz w następnym kroku.
Krok 2 — Pobieranie pliku ze zdjęciem
Dodaj drugi moduł: Telegram Bot → Download a File. W polu File ID zmapuj wartość z poprzedniego modułu — Make.com pokaże dostępne zmienne z kroku 1 po kliknięciu w pole.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Wybierz połączenie z botem i zmapuj File ID z danych poprzedniego modułu — lista zmiennych pojawi się po kliknięciu w pole
Ten moduł pobiera plik binarny zdjęcia. W kolejnym kroku zamieniamy go na base64 i wysyłamy do Mistral.
Krok 3 — Ekstrakcja danych ze zdjęcia AI z Mistral OCR
Tu dzieje się magia — ekstrakcja danych ze zdjęcia AI. Mistral OCR zamienia fotografię paragonu w czytelny tekst markdown — z zachowaniem układu, kwot i dat.
Utwórz klucz API Mistral
Zaloguj się na console.mistral.ai, przejdź do Klucze API i kliknij Utwórz nowy klucz.
Źródło: zrzut ekranu z panelu Mistral AI — opracowanie własne
Kliknij "Utwórz nowy klucz" (oznaczony cyfrą 2) — zapisz go od razu, Mistral pokazuje go tylko raz
Skonfiguruj moduł Make an API Call
Dodaj moduł: HTTP → Make an API Call (nie ma dedykowanego modułu Mistral w Make — używamy HTTP).
- Connection: utwórz nowe połączenie z API key Mistral, podaj klucz w nagłówku Authorization
- URL:
/v1/ocr
- Method: POST
- Headers: Key:
Content-Type, Value: application/json
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Połączenie Mistral obsługuje autoryzację — do nagłówków dodajesz tylko Content-Type
W polu Body wklej poniższy JSON. Funkcja base64() automatycznie koduje plik ze zdjęcia z poprzedniego modułu (Download a File):
{
"model": "mistral-ocr-latest",
"document": {
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,{{base64(4.fileOutput)}}"
}
}
}
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
{{base64(4.fileOutput)}} koduje plik ze zdjęciem do base64 — 4 to numer modułu Download a File
Mistral zwróci odpowiedź w formacie JSON z kluczem pages[1].markdown zawierającym pełny tekst paragonu.
Krok 4 — Mapowanie danych przez OpenAI
Mistral dał nam surowy tekst. Teraz OpenAI wyciągnie z niego strukturę — sklep, data, kwota.
Dodaj moduł: OpenAI (ChatGPT, Sora, Whisper) → Generate a Response.
- Model: gpt-5.4-nano (wystarczy do tego zadania, niski koszt)
- Prompt: wklej prompt poniżej, gdzie
{{5.body.pages[1].markdown}} to wynik Mistral OCR z kroku 3:
Jesteś asystentem do analizy paragonów. Wyciągaj kluczowe informacje z tekstu paragonu i zwracaj WYŁĄCZNIE poprawny obiekt JSON bez żadnego dodatkowego tekstu, markdown ani wyjaśnień.
Tekst z paragonu:
{{5.body.pages[1].markdown}}
Zwróć dokładnie taką strukturę:
{
"sklep": "nazwa sklepu",
"data": "YYYY-MM-DD",
"suma": 0.00,
"waluta": "PLN"
}
Zasady:
- dla nazwy sklepu zwróć tylko główną nazwę bez haseł reklamowych, numerów sklepu i dodatkowych opisów (np. "Biedronka" zamiast "BIEDRONKA "CODZIENNIE NISKIE CENY" 4902")
- data zawsze w formacie YYYY-MM-DD
- suma musi być liczbą (nie tekstem), użyj kropki jako separatora dziesiętnego
- jeśli nie możesz określić jakiegoś pola, wpisz null
- zwróć WYŁĄCZNIE JSON, nic więcej
Dlaczego taki prompt? Model dostaje konkretną strukturę wyjściową i jasne zasady — bez tego zwróciłby tekst z wyjaśnieniami, których Make.com nie potrafi sparsować. Więcej o pisaniu skutecznych promptów: prompt engineering 2026.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Zmienna {{5.body.pages[1].markdown}} wstawia tekst OCR z Mistrala — OpenAI zwróci czysty JSON
Ważne — przewiń panel w dół do sekcji Output i ustaw Type: JSON object. Bez tego Make.com dostanie odpowiedź jako zwykły tekst i zmienne result.sklep, result.suma nie będą dostępne.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Output → Type → JSON object — kluczowe ustawienie, bez którego mapowanie danych w Google Sheets nie zadziała
Ostatni krok — automatyzacja google sheets. Dodaj moduł: Google Sheets → Add a Row.
Podłącz konto Google, wskaż arkusz z kolumnami — Nazwa sklepu, Data, Suma, Waluta. Następnie mapuj wartości z odpowiedzi OpenAI:
- Nazwa sklepu:
{{7.result.sklep}}
- Data:
{{7.result.data}}
- Suma:
{{7.result.suma}}
- Waluta:
{{7.result.waluta}}
Numer 7 zastąp numerem modułu OpenAI widocznym w Twoim scenariuszu.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Każda kolumna arkusza dostaje wartość z odpowiedniego pola JSON — Make.com podświetla zmienne na niebiesko
Testowanie — Wyślij zdjęcie i sprawdź wynik
Włącz scenariusz (przełącznik Immediately as data arrives). Otwórz Telegrama, wyślij zdjęcie paragonu do bota.
Źródło: zrzut ekranu z Telegrama — opracowanie własne
Wyślij zdjęcie paragonu do bota — scenariusz Make.com uruchomi się automatycznie
Po kilku sekundach w Google Sheets pojawi się nowy wiersz:
Źródło: zrzut ekranu z Google Sheets — opracowanie własne
Wynik testu: Mistral + OpenAI poprawnie rozpoznały sklep (Stokrotka), datę i kwotę 63,93 PLN
Podsumowanie — Automatyzacja bez kodowania gotowa
Zbudowałeś pełny pipeline OCR paragonów AI: zdjęcie → tekst → dane → arkusz. Dwa modele AI, pięć modułów Make.com, zero linii kodu. To właśnie jest automatyzacja bez kodowania w praktyce — nie teoria, nie marketing, tylko działający scenariusz.
Mistral OCR to wyspecjalizowany model do odczytu dokumentów — rozumie układ paragonu, tabele, różne fonty kasowe. OpenAI zajmuje się interpretacją i standaryzacją. Podział ról między modele to dobra praktyka przy budowaniu automatyzacji AI. Więcej o tym jak modele AI działają jako agenty: agenci AI — co to jest i jak mogą pracować za Ciebie.
Ile to kosztuje? Jeden paragon to kilka groszy (Mistral OCR + kilka tokenów OpenAI). Make.com darmowy plan (1000 operacji/mies.) wystarczy przy kilkudziesięciu paragonach.
Obsługa błędów — Żaden paragon nie zginie po cichu
Warto dodać error handler do modułu Mistral OCR lub OpenAI — na wypadek gdyby zdjęcie było nieczytelne albo model zwrócił pusty wynik.
Kliknij prawym na moduł → Add error handler, a następnie podłącz Gmail → Send an email z informacją o błędzie. Od tej chwili każdy nieudany paragon trafi do Twojej skrzynki zamiast przepaść.
Źródło: zrzut ekranu z panelu Make.com — opracowanie własne
Prawy klik na module → "Add error handler" — następnie podłącz Gmail jako gałąź obsługi błędów
Najczęstsze pytania
Czy Mistral OCR działa z polskimi paragonami?
Tak — Mistral OCR radzi sobie z polskim tekstem, różnymi fontami kasowymi i układem paragonów z popularnych sieci (Biedronka, Lidl, Stokrotka). Jakość odczytu zależy od jakości zdjęcia — ostre, proste, bez cieni.
Dlaczego dwa modele AI — Mistral i OpenAI — zamiast jednego?
Mistral OCR to wyspecjalizowany model do konwersji obrazu na tekst — robi to lepiej niż modele ogólne. OpenAI dostaje już czysty tekst i wyciąga z niego strukturę JSON. Podział zadań daje lepsze wyniki i niższy koszt niż jeden model robiący wszystko.
Co jeśli OpenAI nie zwróci poprawnych danych?
Kliknij prawym na moduł OpenAI i dodaj error handler. Podłącz do niego moduł Gmail lub Email — wyślij sobie powiadomienie z informacją, który paragon się nie przetworzył. Dzięki temu żaden paragon nie zginie po cichu.
Czy można używać innych modeli zamiast OpenAI do mapowania danych?
Tak — możesz użyć Claude (Anthropic) lub Gemini. Claude szczególnie dobrze trzyma się instrukcji "zwróć tylko JSON" bez zbędnych wyjaśnień. W Make.com dodajesz wtedy moduł HTTP z Anthropic API zamiast modułu OpenAI.
Ile operacji Make.com zużywa jeden paragon?
Jeden paragon to 5 operacji (jeden na moduł). Darmowy plan (1000 operacji/mies.) obsłuży ok. 200 paragonów miesięcznie. Plan Core za ~32 zł/mies. daje 10 000 operacji — wystarczy na intensywne użycie.