How to Build an AI Invoice Agent with Telegram, OCR, and Google Sheets

Listen to this Post

Featured Image

This AI invoice agent automates invoice processing by:

  • Accepting invoice images via Telegram
  • Extracting text using OCR
  • Populating data into Google Sheets
  • Uploading the original image to Google Drive
  • Sending extracted details back via Telegram

You Should Know:

1. Required Tools & APIs

  • Telegram Bot API (python-telegram-bot)
  • OCR Engine (Tesseract OCR / Google Vision API)
  • Google Sheets API (gspread)
  • Google Drive API (PyDrive)

2. Step-by-Step Implementation

Step 1: Set Up a Telegram Bot

from telegram import Update 
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"

def start(update: Update, context): 
update.message.reply_text("Send me an invoice image!")

def handle_image(update: Update, context): 
file = update.message.photo[-1].get_file() 
file.download("invoice.jpg") 
update.message.reply_text("Processing invoice...")

updater = Updater(TOKEN) 
updater.dispatcher.add_handler(CommandHandler("start", start)) 
updater.dispatcher.add_handler(MessageHandler(Filters.photo, handle_image)) 
updater.start_polling() 

Step 2: Extract Text Using Tesseract OCR

sudo apt install tesseract-ocr  Linux 
brew install tesseract  macOS 
import pytesseract 
from PIL import Image

text = pytesseract.image_to_string(Image.open("invoice.jpg")) 
print(text)  Extracted invoice data 

Step 3: Store Data in Google Sheets

import gspread 
from oauth2client.service_account import ServiceAccountCredentials

scope = ["https://www.googleapis.com/auth/spreadsheets"] 
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope) 
client = gspread.authorize(creds)

sheet = client.open("Invoices").sheet1 
sheet.append_row([bash])  Add extracted data 

Step 4: Upload Image to Google Drive

from pydrive.auth import GoogleAuth 
from pydrive.drive import GoogleDrive

gauth = GoogleAuth() 
gauth.LocalWebserverAuth() 
drive = GoogleDrive(gauth)

file = drive.CreateFile({"title": "invoice.jpg"}) 
file.SetContentFile("invoice.jpg") 
file.Upload() 

Step 5: Send Back Processed Data via Telegram

update.message.reply_text(f"Invoice processed!\nExtracted Data:\n{text}") 

3. Automate with a Script

Run the bot continuously using:

nohup python3 invoice_bot.py &  Linux/Mac 

What Undercode Say

Automating invoice processing reduces human error and saves time. Key Linux/Windows commands for debugging:
– Check running processes: `ps aux | grep python`
– Monitor logs: `tail -f nohup.out`
– Kill the bot: `pkill -f invoice_bot.py`
– Windows alternative: `taskkill /IM python.exe /F`

For OCR accuracy, consider:

tesseract --list-langs  Check installed languages 
tesseract invoice.jpg output -l eng+fra  Multilingual OCR 

Prediction

AI-powered document processing will replace 60% of manual data entry by 2026.

Expected Output:

A fully automated Telegram bot that extracts, stores, and confirms invoice processing without manual intervention.

Relevant URLs:

IT/Security Reporter URL:

Reported By: Leadgenmanthan Invoice – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 Telegram