Track invoice spending vs budget from Google Drive with GPT-4o and Telegram alerts

Go to Workflow
6 views
Built by Dmitrij Zykovic Dmitrij Zykovic
Created on January 30, 2026

Description

Invoice Budget Tracker

Drop invoices to Google Drive and let AI handle the rest - OCR extraction, automatic categorization, budget tracking, and Telegram alerts when spending reaches thresholds.

✨ Key Features

šŸ“„ Invoice OCR** - Extracts data from PDF/image invoices automatically
šŸ¤– AI Categorization** - Detects document type (skips contracts, delivery acts) and categorizes real invoices
šŸ’° Budget Tracking** - Set monthly budgets per category, track spending in real-time
šŸ”” Smart Alerts** - Get notified when category spending reaches 80%+ of budget
šŸ“ Auto-Organization** - Files renamed and sorted into monthly folders
šŸ”„ Deduplication** - SHA256 hash prevents duplicate processing
šŸ“ˆ Scheduled Reports** - Weekly progress (Fridays) and monthly summaries (10th)
šŸ’¬ Telegram Control** - Manage budgets via natural language chat

šŸŽÆ How It Works

Drop invoice to Google Drive watched folder:
PDF invoices
Image scans (JPG, PNG)

AI processes automatically (hourly):
OCR extracts text via Ainoflow
AI detects if it's actually an invoice (skips contracts, receipts, etc.)
Extracts: vendor, amount, date, invoice number
Categorizes based on service provided
Checks for duplicates

Get organized:
File renamed: [2026-01-15] - Vendor (INV-123, 150.00 EUR).pdf
Moved to monthly folder: /Invoices/2026-01/
Budget updated, alerts sent if threshold reached

Manage budgets via Telegram:
"Set budget Software 500"
"Show budgets"
"Budget status"

šŸ“‹ Expense Categories

Software, Marketing, Travel, Office, Professional Services, Infrastructure, Vehicle, Other

šŸ”§ Setup Requirements

Google Drive** — OAuth setup for file operations
Telegram Bot** — Create bot for notifications and budget management
OpenRouter** — Get API key for AI processing
Ainoflow** — Sign up for OCR and JSON storage

šŸ—ļø Workflow Architecture

| Section | Description |
|---------|-------------|
| Document Processing | Hourly scan → OCR → AI categorization → Budget tracking → File organization |
| Budget Management | Telegram bot for budget CRUD via AI Agent with MCP storage |
| Weekly Report | Friday summary of current month progress |
| Monthly Report | 10th of month detailed report for previous month |
| Data Reset | Manual trigger to delete all invoice data (requires approval) |

šŸ’¬ Usage Examples

Invoice Processing
šŸ“„ Drop "invoice_aws.pdf" to /Invoices/
→ āœ… AWS | 150.00 EUR | Software
→ File: [2026-01-15] - AWS (INV-2026-01, 150.00 EUR).pdf
→ Moved to: /Invoices/2026-01/

šŸ“„ Drop "contract.pdf" to /Invoices/
→ āš ļø Skipped: This is a service agreement, not an invoice
→ File renamed: [REVIEW] - contract.pdf

Budget Management (Telegram)
"Set budget Software 500"
→ āœ… Budget set: Software - €500/month

"Show budgets"
→ šŸ“‹ Monthly Budgets:
• Software: €500
• Marketing: €1000
Total: €1500/month

"Budget status"
→ šŸ“Š January 2026:
• Software: €150/€500 (30%) āœ…
• Marketing: €850/€1000 (85%) āš ļø

Scheduled Reports
šŸ“… Weekly (Friday):
→ šŸ“Š Week Summary:
Processed: 12 invoices
Total: €2,450
Top: Software €800, Marketing €650

šŸ“… Monthly (10th):
→ šŸ“ˆ January 2026 Report:
Total: €4,200 (28 invoices)
[ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘ā–‘] Software 80%
[ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‘ā–‘ā–‘ā–‘] Marketing 60%

šŸ“¦ Data Storage

Invoices stored in Ainoflow JSON Storage by month (key = SHA256 hash):
{
"vendor": "Amazon Web Services",
"vendor_normalized": "AWS",
"amount": 150.00,
"currency": "EUR",
"date": "2026-01-15",
"invoice_number": "INV-2026-01",
"category": "Software",
"file_id": "1BxiMVs0XRA5nFMd...",
"processed_at": "2026-01-15T10:30:00Z"
}

āš ļø Important Notes

Run /start first** - Registers your chat_id, locks bot to you
Document type detection** - Contracts, delivery acts, receipts are skipped automatically
Budget alerts at 80%** - Only triggers if budget is set for category
Duplicates detected** - Same file won't be processed twice (SHA256 hash)
Data Reset is permanent** - Requires manual approval
Single currency** - All invoices assumed same currency (no conversion)

šŸ› ļø Customization

Categories
Edit SetDefaults node → allowed_categories
Then send /start to re-register with new categories

Processing Thresholds
Edit WorkflowConfig node:
alert_threshold - Budget alert % (default: 0.8)
review_prefix - Failed files prefix (default: "[REVIEW] - ")
duplicate_prefix - Duplicate prefix (default: "[DUPLICATE] - ")

AI Models
Swap OpenRouter models in Gpt4oCategorizer and Gpt4oBudgetAgent nodes

šŸ’¼ Need Customization?

Want to adapt this template for your business? Custom integrations, multi-user support, or enterprise deployment?

Contact us at Ainova Systems - We build AI automation solutions for businesses.

Tags: google-drive, invoice-processing, budget-tracking, ai-agent, ocr, telegram, openrouter, mcp-tools, business-automation

Nodes Used (13)

AI Agent
@n8n/n8n-nodes-langchain.agent
Calculator
@n8n/n8n-nodes-langchain.toolCalculator
Call n8n Workflow Tool
@n8n/n8n-nodes-langchain.toolWorkflow
Code
n8n-nodes-base.code
Crypto
n8n-nodes-base.crypto
Google Drive
n8n-nodes-base.googleDrive
HTTP Request
n8n-nodes-base.httpRequest
MCP Client Tool
@n8n/n8n-nodes-langchain.mcpClientTool
OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter
Simple Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured
Telegram
n8n-nodes-base.telegram
Think Tool
@n8n/n8n-nodes-langchain.toolThink