Automate Expense Reports with n8n: Snap a Receipt on Telegram, Get a Filled Spreadsheet

Expense reporting is the chore everyone postpones until the shoebox of receipts is overflowing. The fix isn't a better spreadsheet — it's removing the data entry entirely. With n8n, you photograph a receipt in Telegram, and the amount, vendor, date, and category land in Google Sheets automatically.

The problem: manual receipt entry is slow and error-prone

Typing receipts into a spreadsheet is tedious, easy to get wrong, and almost always done late — which means forgotten expenses and inaccurate reports. Finance chases people for missing receipts, employees lose paper, and reconciliation becomes a monthly headache.

How the n8n workflow solves it

This workflow uses a Telegram bot as the capture point. Send a photo, and an AI vision model reads the receipt, extracts structured fields, and appends a clean row to your Google Sheet — with a confirmation message back to you.

  • A Telegram trigger receives the receipt photo the moment you send it
  • A vision-capable AI node performs OCR and structured extraction
  • Fields are normalized: vendor, date, total, currency, and category
  • A Google Sheets node appends the row instantly
  • The bot replies to confirm what it logged, so you catch mistakes immediately

⚡ Skip the build — get the ready-to-import template

This exact workflow is packaged as Expense Report Automation — Receipt Photo on Telegram → Google Sheets: import the JSON, plug in your credentials, and it runs in minutes.

Get the template on Gumroad →

Step by step: building the automation

  1. Create a Telegram bot — Use BotFather to generate a token, then add it to a Telegram Trigger node in n8n.
  2. Receive the image — Download the photo from the Telegram message so the AI node can read it.
  3. Extract with vision AI — Send the image to a vision model with a prompt that returns JSON: vendor, date, amount, currency, category.
  4. Append to Sheets — Map the JSON fields to columns and append a row to your expense sheet.
  5. Confirm back — Reply in Telegram with the parsed values so the user can spot any extraction error on the spot.

What you get out of it

  • Zero manual data entry — capture happens in seconds from your phone
  • Receipts get logged the moment they're spent, not weeks later
  • Cleaner, more accurate expense data for finance
  • Works from anywhere through an app everyone already has

Frequently asked questions

How accurate is the receipt reading?

Modern vision models read printed receipts very well. The confirmation message lets you correct the rare misread before it matters.

Can it handle different currencies?

Yes. The extraction prompt captures the currency symbol, and you can add a conversion step if you need a single reporting currency.

Does it work for a whole team?

Yes. Multiple people can message the same bot, and you can log the sender's name to attribute each expense.


Ready to automate?

You can build this from scratch — or save hours and start today. Expense Report Automation — Receipt Photo on Telegram → Google Sheets is a production-ready n8n workflow you import in one click.

Get this template on Gumroad →