Personal Finance Tracker with Telegram Bot, Google Gemini Vision, and Sheets
Go to WorkflowDescription
Personal Finance AI Agent – Telegram Bot (n8n Workflow)
A fully automated Telegram-based personal finance tracker that:
Accepts receipts as images, PDFs, or plain text
Uses Google Gemini Vision for OCR & intelligent extraction
Logs every expense into Google Sheets
Stores receipt images/PDFs in Google Drive
Answers natural-language spending questions ("How much did I spend on food last month?", "Compare this month vs last month", etc.)
Built entirely with n8n – 100% self-hostable, no-code/low-code.
How It Works (Overview)
You send a message to your Telegram bot
→ Photo of a receipt, PDF, or just text like "Nov 10 – 2500 NGN – Uber"
Switch node detects the message type:
Photo → Branch 0
Document (PDF/other) → Branch 1
Pure text → Branch 2 (goes straight to query agent)
Receipt Processing Path (Images & PDFs)
Files downloaded from Telegram → uploaded to Google Drive ("Monthly receipts" folder)
Images → OCR with Gemini Vision
PDFs → native PDF text extraction
Extracted text + Drive link → merged → sent to Gemini AI Agent
AI extracts: Date (YYYY-MM-DD) • Amount (NGN) • Description • Category
(food, transportation, subscriptions, takeouts, entertainment, gift, electricity, repairs, other stuffs)
Clean JSON → appended to Google Sheets → friendly confirmation sent back
Spending Query Path (Text questions)
Second AI Agent with access to the live Google Sheet + calculator + memory
Answers anything: totals, breakdowns, comparisons, trends, percentages…
Live Google Sheet (Template)
You can make a copy of the exact sheet the bot uses:
https://docs.google.com/spreadsheets/d/1kwWJquPpwL9vt9U06a4f4phXq5jZjaGazvh2V69FGoc/edit?usp=sharing
Just click File → Make a copy and use your copy’s ID in the workflow.
Setup Steps (Step-by-Step)
Prerequisites
n8n instance (cloud or self-hosted)
Telegram bot (created via @BotFather)
Google account
1. Create Telegram Bot
Message @BotFather → /newbot
Copy the bot token
In n8n → Credentials → New Telegram API credential → paste token
2. Google Setup
Make a copy of the sheet above
→ Copy the new spreadsheet ID from the URL
Create a Google Drive folder called "Monthly receipts" (or any name) → copy folder ID
Enable Gemini API in Google Cloud (or use your existing key)
In n8n create these credentials:
Google Sheets OAuth2 API
Google Drive OAuth2 API
Google Gemini (PaLM) API
3. Import Workflow
Copy the full JSON from the original file
n8n → Workflows → Import → paste → Import
4. Update IDs & Credentials
After import, configure these nodes:
| Node | What to Change |
|-----------------------------------|-----------------------------------------------------|
| Telegram Trigger + all Telegram nodes | Your Telegram credential |
| Google Sheets nodes | Your Google Sheets credential + new Sheet ID |
| Google Drive "Upload file" nodes | Paste your "Monthly receipts" folder ID |
| Gemini nodes | Your Gemini credential |
| AI Agent & AI Agent1 | Verify model, memory, tools are connected |
5. Activate & Test
Click Activate
Start chatting with your bot on Telegram
Test commands
Send a photo/PDF receipt
Type: How much did I spend last month?
Type: Show me food spending this month vs last month
You’ll get instant replies and see new rows appear in your sheet!
Features
Zero manual entry ever again
Works with handwritten receipts
Smart categorization
Natural-language spending insights
All data stays 100% in your Google account
Completely private & self-hostable
NGN-native (Naira)
Never track expenses manually again!