Receipt Bot
A Telegram bot and web dashboard powered by Google Cloud Vision and Firebase. Snap a receipt in telegram chat and the bot reads its structured details — vendor, amount, category, date — with OCR and AI, then stores them in real time.
Snap a receipt in Telegram; the bot reads it with AI, files the expense by category, and saves it to Firebase, while a web dashboard lets you search and audit every riyal. No manual entry, always on, and living right inside Telegram.
What it solves
- Paper and digital receipts go missing before the expense report is filed, and manual entry is slow and error-prone.
- Teams have no central, searchable record of business spend for audits and reimbursement.
- Most expense tools demand a new app, yet people already live in Telegram and email.
Impact
One-tap capture and categorization
OCR + AI extraction + store
No app install needed

Architecture
Data flow
- User sends receipt photo via Telegram
- Telegram Bot API webhook → Next.js
- Download image → Google Cloud Vision OCR
- Extract: vendor, amount, date, items
- LLM categorize + validate
- Firebase Firestore (indexed for search)
Bot replies confirmation in Telegram
- Web dashboard live-syncs and displays
Engineering decisions
Telegram as primary interface, web dashboard as secondary
Users capture receipts in the chat where they already are; the web dashboard (v0-synced) provides rich search, filtering, audit trails, and bulk export — no friction, no app fatigue.
Google Cloud Vision OCR + LLM parsing for robust extraction
Vision API reads vendor, amount, date, line-items; a second-pass LLM categorizes expense type (meals, travel, supplies) and flags anomalies for manual review.
Stateless webhook with idempotent deduplication
Each Telegram update is hashed and compared to prior receipts; duplicate uploads (Telegram retries) are rejected, ensuring one record per physical receipt.
Gallery
