Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Telegram till Google Sheets, kvitton loggas direkt

Rickard Andersson Partner, Nodenordic.se

Kvitton misslyckas inte för att du inte bryr dig. De misslyckas för att de hamnar på fem ställen: din kamerarulle, WhatsApp, mejlen, en skrynklig papperslapp i fickan och ”jag tar det sen”. Och så kommer månadsavslutet och du gissar.

Om du är företagare och vill hålla utgifterna korrekta, en marknadsförare som jonglerar korttransaktioner mellan verktyg, eller en frilansare som bara vill att deklarationssäsongen ska vara smidig, så löser automatiserad kvittologgning i Telegram den irriterande delen. Du skickar ett kvitto. Det blir en prydlig rad i Sheets. Klart.

Den här guiden visar vad workflowet gör, vilka resultat du kan förvänta dig och vad du behöver innan du slår på det i n8n.

Så fungerar automatiseringen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: Telegram till Google Sheets, kvitton loggas direkt

Därför spelar det roll: kvittohanteringen faller först

Kostnadsuppföljning börjar ofta med goda intentioner och slutar i ett rörigt kalkylark. Du köper något, säger till dig själv att du ska logga det senare, och kvittot försvinner in i mobilen. När du väl sätter dig blir den ”snabba uppdateringen” en långsam jakt på datum, belopp, leverantörer och kategorier. Än värre: manuell inmatning bjuder in små fel som skapar stor förvirring. En duplicerad transaktion eller ett saknat kvitto räcker för att du ska tappa förtroendet för siffrorna, och då känns budgetering och kassabeslut som gissningar.

Det går fort att tappa kontrollen. Så här brukar det brista i praktiken.

  • Du lägger cirka 10 minuter per kvitto på att hitta det, läsa det och skriva in det i ett ark.
  • Foton och PDF:er kopieras inte in rent, så belopp skrivs fel och kategorier driver över tid.
  • Kvitton ligger utanför din bokföringskedja, vilket gör att du inte snabbt kan styrka ett köp i efterhand.
  • Även när du loggar allt kan du ändå inte enkelt svara på frågor som ”mat förra månaden vs den här månaden” utan extra arbete.

Vad du bygger: en Telegram-bot som loggar kvitton åt dig

Det här workflowet gör Telegram till din inkorg för utgifter. Du meddelar din bot med en kvittobild, en PDF eller till och med ren text som ”10 nov – 2500 NGN – Uber”. n8n känner av vad du skickade, hämtar filen från Telegram och laddar upp den till Google Drive (så att du alltid har originalet sparat). Är det en bild kör den OCR och extrahering med en Gemini Vision-modell. Är det en PDF hämtar den dokumenttexten. Sedan omvandlar en AI-agent den råa texten till felfria, strukturerade fält som datum, belopp, beskrivning och kategori, och lägger till en ny rad i Google Sheets. Till sist får du en tydlig bekräftelse i Telegram, så att du vet att allt är loggat.

Workflowet innehåller även en andra ”fråga”-väg. När du skriver en fråga i stället för att skicka ett kvitto läser en AI-agent ditt Google Sheet i realtid, använder ett kalkylverktyg för totalsummor och svarar med riktiga svar direkt i Telegram.

Det här bygger du

Förväntade resultat

Säg att du samlar in cirka 20 kvitton i veckan. Manuellt, runt 10 minuter styck, blir det ungefär 3 timmar av småuppgifter som du sannolikt skjuter till fredag kväll. Med det här workflowet är loggningen i princip den tid det tar att vidarebefordra ett foto eller en PDF i Telegram (säg en minut), plus en kort väntan medan OCR och AI-agenten kör. Du får tillbaka de där 3 timmarna, och ditt ark är aktuellt i stället för ”uppdateras senare”.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Telegram för att skicka kvitton till din bot
  • Google Sheets för att lagra dina utgiftsrader
  • Google Drive för att spara kvittofiler
  • Gemini API-nyckel (hämta den i Google Cloud Console)

Svårighetsnivå: Medel. Du kommer att kopiera ID:n, koppla OAuth-inloggningar och testa några meddelandetyper i Telegram.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett Telegram-meddelande triggar allt. Workflowet startar när din Telegram-bot tar emot ett foto, ett dokument (som en PDF) eller ett vanligt textmeddelande.

Meddelandetyp-routning avgör vägen. En Switch-nod kontrollerar vad som kom in och skickar det vidare till bildhantering, PDF-hantering eller finansagenten för ”ställ en fråga”.

Kvitton lagras och tolkas. För foton och PDF:er laddas filen ner från Telegram, laddas upp till Google Drive och konverteras sedan till användbar text (Gemini Vision för bilder, PDF-extrahering för dokument). Texten slås ihop med Drive-länken och skickas till AI-agenten för kvittohantering.

Strukturerade rader hamnar i Google Sheets (och du får ett svar). AI-agenten returnerar strukturerade fält som datum, belopp, beskrivning och kategori, och sedan lägger n8n till dem i ditt ark och bekräftar i Telegram. För frågor läser frågeagenten arket via en verktygsnod och skickar tillbaka ett svar i chatten.

Du kan enkelt ändra kategorierna och målarket så att det matchar hur du följer upp utgifter. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: Konfigurera Telegram-triggern

Sätt upp Telegram-lyssnaren som startar arbetsflödet varje gång ett nytt meddelande kommer in.

  1. Lägg till noden Telegram Incoming Trigger och ställ in Updates till message.
  2. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter i Telegram Incoming Trigger.
  3. Spara arbetsflödet så att n8n registrerar Telegram-webhooken.
Tips: Om Telegram inte skickar meddelanden, spara om arbetsflödet för att registrera webhooken på nytt.

Steg 2: Routa meddelanden efter typ

Routa inkommande meddelanden till flöden för bild, dokument eller textfråga.

  1. I Route by Message Type, bekräfta att första regeln kontrollerar om bild finns med {{ $json.message.photo[0].height }}.
  2. Bekräfta att den andra regeln kontrollerar om dokument finns med {{ $json.message.document.mime_type }}.
  3. Säkerställ att output 1 är kopplad till Fetch Image File, output 2 till Retrieve Document File och output 3 till Finance Query Agent.
⚠️ Vanlig fallgrop: Om reglerna är tomma eller felkonfigurerade kan alla textfrågor hoppa över rätt väg. Verifiera att regeluttrycken finns på plats.

Steg 3: Konfigurera intag för bild och dokument (parallella grenar)

Hantera bild- och PDF-kvitton, lagra filer i Drive och extrahera innehåll för OCR.

  1. I Fetch Image File, ställ in File ID till {{ $json.message.photo[0].file_id }} och Resource till file. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter.
  2. I Transform Binary Script, behåll standard-JavaScript som mappar binärdata till base64Image.
  3. Transform Binary Script skickar output till både Drive Upload Image och Gemini Image Analysis parallellt.
  4. I Drive Upload Image, ställ in Name till {{ $json.result.file_unique_id }} och välj er Drive-Folder ID (ersätt [YOUR_ID]). Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter.
  5. I Gemini Image Analysis, ställ in Resource till image, Input Type till binary och Operation till analyze. Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter.
  6. I Retrieve Document File, ställ in File ID till {{ $json.message.document.file_id }} och Resource till file. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter.
  7. Retrieve Document File skickar output till både Drive Upload Document och Extract PDF Content parallellt.
  8. I Drive Upload Document, ställ in Name till {{ $('Retrieve Document File').item.json.result.file_id }} och välj målmappen (ersätt [YOUR_ID]). Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter.
  9. I Extract PDF Content, ställ in Operation till pdf.
  10. Koppla Drive Upload Image och Gemini Image Analysis till Combine Image Streams; koppla Drive Upload Document och Extract PDF Content till Combine Document Streams.
⚠️ Vanlig fallgrop: Drive- och Sheets-noderna innehåller platshållare som [YOUR_ID]. Ersätt dem med era riktiga Google Drive-mapp-ID:n och Sheet-ID:n.

Steg 4: Bygg pipeline för kvittohantering

Validera kombinerade indata, aggregera data och använd AI-agenten för att extrahera kvittodetaljer.

  1. Från Combine Image Streams och Combine Document Streams, koppla till Validate Combined Input, och sedan till Aggregate Receipt Data.
  2. I Aggregate Receipt Data, ställ in Aggregate till aggregateAllItemData.
  3. I Receipt Processing Agent, ställ in Text till {{ $json.data }}, och behåll Prompt Type som define.
  4. Koppla Gemini Chat Model som språkmodell för Receipt Processing Agent. Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter i Gemini Chat Model.
  5. Koppla Conversation Memory och Structured Output Formatter som AI-subnoder för Receipt Processing Agent. Lägg till inloggningsuppgifter i Gemini Chat Model (parent), inte i dessa subnoder.
  6. Koppla Math Utility och Fetch Sheet Records som verktyg för Receipt Processing Agent. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Fetch Sheet Records.
Tips: JSON-schemat i Structured Output Formatter styr AI:ns outputstruktur—se till att det är i linje med era kolumner i Google Sheets.

Steg 5: Konfigurera kvittolagring och Telegram-svar

Lagra extraherade kvittodata i Google Sheets och bekräfta till användaren i Telegram.

  1. I Append Expense Row, ställ in Operation till append, välj ert Document ID ([YOUR_ID]) och Sheet Name Sheet1.
  2. Mappa kolumner: Date till {{ $json.output.data.date }}, Category till {{ $json.output.data.category }}, Discription till {{ $json.output.data.description }}, Amount in Naira till {{ $json.output.data.amount }}, och google drive image till {{ $('Aggregate Receipt Data').item.json.data[1].webViewLink }}.
  3. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Expense Row.
  4. I Send Telegram Reply, ställ in Text till {{ $('Receipt Processing Agent').item.json.output.message }} och Chat ID till {{ $('Telegram Incoming Trigger').item.json.message.chat.id }}.
  5. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter i Send Telegram Reply.

Steg 6: Sätt upp flödet för finansfrågeassistenten

Svara på textbaserade finansfrågor med en separat AI-agent och verktyg.

  1. I Finance Query Agent, ställ in Text till {{ $json.message.text }} och behåll Prompt Type som define.
  2. Koppla Secondary Gemini Model som språkmodell för Finance Query Agent. Inloggningsuppgifter krävs: Anslut era googlePalmApi-inloggningsuppgifter i Secondary Gemini Model.
  3. Koppla Conversation Memory 2, Math Utility 2 och Fetch Sheet Records 2 som AI-subnoder/verktyg för Finance Query Agent. Lägg till inloggningsuppgifter i Fetch Sheet Records 2 (parent är noden själv): Inloggningsuppgifter krävs: googleSheetsOAuth2Api.
  4. I Send Query Response, ställ in Text till {{ $json.output }} och Chat ID till {{ $('Telegram Incoming Trigger').item.json.message.chat.id }}. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter.

Steg 7: Testa och aktivera ert arbetsflöde

Validera både kvittohanteringen och finansfrågeflödet innan ni slår på arbetsflödet.

  1. Klicka på Execute Workflow och skicka ett bildkvitto till er Telegram-bot för att testa kvittovägen.
  2. Verifiera att en ny rad dyker upp i Google Sheets och att ni får en bekräftelse från Send Telegram Reply.
  3. Skicka en textfråga som “Hur mycket spenderade jag på mat förra månaden?” och bekräfta att Send Query Response svarar.
  4. När allt fungerar, växla arbetsflödet till Active för att möjliggöra användning i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Google Drive- eller Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, börja med att kontrollera credential-status i n8n → Credentials.
  • Om du använder Wait-noder eller extern rendering varierar process-tiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
  • Gemini-prompter och extraheringsregler börjar generiskt. Lägg in din kategorilista och exempelkvittton tidigt, annars kommer du att korrigera ”Övriga grejer” i all evighet.

Snabba svar

Hur lång tid tar det att sätta upp den här Telegram-automatiseringen för kvittologgning?

Cirka 30 minuter om dina Google- och Telegram-konton är redo.

Krävs kodning för den här kvittologgningen?

Nej. Du kopplar främst inloggningar och klistrar in ett Sheet-ID och ett Drive-mapp-ID.

Är n8n gratis att använda för det här Telegram-workflowet för kvittologgning?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för Gemini API-användning, som beror på hur många kvitton du bearbetar.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Telegram-workflowet för kvittologgning för andra användningsfall?

Ja, och det bör du troligen. Du kan justera kategorilistan i prompten för Receipt Processing Agent, byta målark i Append Expense Row-noden och ändra Drive-mappen som används av Drive Upload Image/Document-noderna. Om du senare föredrar en annan AI-leverantör är Gemini Chat Model-noderna de främsta delarna du byter ut, medan Telegram- och Google-stegen kan vara oförändrade.

Varför misslyckas min Telegram-anslutning i det här workflowet?

Oftast beror det på en felaktig bot-token eller att fel Telegram-inloggning är vald i någon av Telegram-noderna. Generera om token i BotFather, uppdatera den i n8n Credentials och bekräfta sedan att varje Telegram-nod (trigger, filhämtning, svar) pekar på samma inloggning. Om det bara fallerar vid nedladdningar kan boten sakna åtkomst till chatten där du skickar kvitton, så testa i ett direktmeddelande först. Kolla även körloggarna; Telegram-fel är oftast tydliga, ärligt talat.

Vilken volym kan det här Telegram-workflowet för kvittologgning hantera?

Self-hosted n8n har ingen fast gräns för körningar, så det beror främst på din server och dina AI API-gränser. I n8n Cloud beror dina månatliga körningar på plan-nivå, och kvittobearbetning kan använda fler än en körning per kvitto eftersom det laddar ner, laddar upp, extraherar och loggar. I praktiken kör de flesta små team dussintals kvitton per dag utan problem, och skalar sedan upp när de är säkra på att extraheringen är stabil.

Är den här Telegram-automatiseringen för kvittologgning bättre än Zapier eller Make?

Ibland, ja. Det här workflowet har förgreningar (foto vs PDF vs fråga), filhantering till Drive, strukturerad AI-output och en ”fråga arket”-agent i realtid, vilket är den typ av logik som lätt blir krånglig eller dyr med Zapier-liknande prissättning per task. n8n ger dig också self-host-alternativet, vilket är viktigt om du vill ha förutsägbara kostnader och mer integritet. Om du bara behöver ”Telegram-meddelande → skapa en rad” kan Zapier eller Make vara snabbare att sätta upp. För allt som involverar OCR, kategorisering och att svara på utgiftsfrågor är n8n oftast det smidigare valet på sikt. Om du vill ha en second opinion innan du bestämmer dig, prata med en automationsexpert.

När det här väl rullar slutar kvitton vara ett helgprojekt och blir administration i bakgrunden. Ditt ark håller sig felfritt, dina filer är organiserade i Drive och workflowet svarar på utgiftsfrågor när du frågar.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal