Pomiń do treści
Tutorial12 min czytania

OCR paragonów z AI — automatyczny skaner do Google Sheets [Make.com tutorial]

OCR paragonów AI w Make.com — wyślij zdjęcie na Telegram, dane lądują w Google Sheets. Mistral OCR + OpenAI + make.com google sheets bez linii kodu.

PF
Patryk Filipowicz·5 maja 2026

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

Pełny scenariusz Make.com — OCR paragonów AI z Telegramem i 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.

Krok 1 — Telegram trigger w Make.com — nasłuchiwanie na nowe zdjęcia

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.

Dodawanie modułu Telegram Watch Updates — wybór z listy modułó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.

Konfiguracja modułu Telegram Download a File — podłączenie bota i mapowanie File ID Ź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.

Panel Mistral AI — sekcja Klucze API do tworzenia nowego klucza Ź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

Mistral OCR w Make.com — konfiguracja połączenia i nagłówków HTTP Ź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)}}"
    }
  }
}

Mistral OCR — body żądania z modelem mistral-ocr-latest i obrazem base64 Ź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.

Newsletter AIzi.pl

Zostań na bieżąco z AI

Narzędzia, porady i aktualności ze świata AI.

500 promptów AI po polsku — ekskluzywnie dla subskrybentów.

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.

OpenAI w Make.com — prompt do ekstrakcji danych z tekstu paragonu do JSON Ź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.

OpenAI w Make.com — ustawienie Response Format na JSON object Ź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

Krok 5 — Make.com i Google Sheets — automatyzacja google sheets

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.

Google Sheets Add a Row — mapowanie kolumn z danych OpenAI JSON Ź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.

Telegram — wysyłanie zdjęcia paragonu do bota AI Ź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:

Google Sheets — wynik OCR: stokrotka, data 2026-05-04, suma 63.93 PLN Ź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ść.

Make.com — Add error handler w menu kontekstowym modułu Mistral OCR Ź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.

Nota redakcyjna: AIzi.pl jest niezależnym blogiem edukacyjnym. Nie jest powiązany, sponsorowany ani zatwierdzony przez OpenAI, Anthropic, n8n, Mistral AI ani żaden inny podmiot. Nazwy ChatGPT, Claude, n8n, Mistral i innych narzędzi są używane wyłącznie w celu informacyjnego wskazania omawianych produktów i należą do ich właścicieli. Wszelkie treści powstają na podstawie własnych doświadczeń autora.

Newsletter

Zostań na bieżąco z AI

Narzędzia, gotowe prompty i ciekawe rzeczy ze świata AI — bez spamu.

500 promptów AI po polsku — ekskluzywnie dla subskrybentów.