n8n

How to Capture Telegram Receipts to Notion Reports?

Turn receipt photos into clean expense records and weekly spend charts. Team members send invoice photos to a Telegram bot. The data is read by AI and saved to a Notion database, then a scheduled report posts a chart back to Telegram.

Here is how it works. A Telegram trigger listens for photos. The image goes through a Google Gemini model that extracts key fields like date, item, quantity, category, and total. A structured parser turns the AI text into a clear JSON object. Each line item is split and written to Notion. A short summary is also sent back to the chat. On a schedule, Notion transactions from the past week are pulled, grouped by category, and summed. A code node creates a chart payload, QuickChart renders the image, and Telegram delivers the chart to a group or private chat.

Plan for a Telegram bot token, a Notion database with mapped fields, and a Google Gemini API key. Expect less manual typing, faster reporting, and better visibility into spend. Great for founders, small finance teams, and field staff who capture receipts on the go. Useful for weekly budget check ins, project cost tracking, and finance updates in a shared Telegram channel.

What are the key features?

  • Telegram photo intake listens for invoice and receipt images.
  • Google Gemini extracts key fields from images using an AI prompt.
  • A structured output parser converts AI text into clean JSON.
  • Split line items so each transaction is recorded correctly.
  • Write expenses to a Notion database with mapped properties.
  • Instant Telegram reply sends a short spending summary.
  • Scheduled report queries Notion for the past week of data.
  • Aggregate spending by category and sum totals for reporting.
  • QuickChart renders a chart image that posts back to Telegram.

What are the benefits?

  • Reduce manual entry from 2 hours per week to about 10 minutes
  • Automate up to 90 percent of receipt capture and logging
  • Improve data accuracy by reducing typing errors by about 80 percent
  • Connect Telegram, Notion, and charting in a single flow
  • Scale to handle more receipts without adding staff time
  • Get weekly spend charts posted automatically to your chat

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Gemini, Notion, Telegram and QuickChart. See the Tools Required section above for links to create accounts with these services.
  3. Create a Telegram bot using BotFather and copy the bot token. Add the bot to your target group or start a private chat so it can receive messages.
  4. In n8n credentials manager, create a Telegram credential. Open the Telegram Trigger and Telegram send nodes, choose the credential, and save. Set the trigger to listen for messages with photos.
  5. Find the target chatId or thread id by sending a test message and checking the Telegram node execution data. Enter these values in the Telegram sendPhoto node.
  6. In Notion, create or choose a database. Create properties for date, category, item name, quantity, and total. In Notion settings, create an internal integration, copy the token, and share the database with that integration.
  7. In n8n, open the Notion nodes and click Create new credential. Paste the Notion integration token. Select your database and map the fields to the correct properties.
  8. Get a Google Gemini API key from the Google AI website. In the Google Gemini node, create new credentials and paste the key. Keep the model set as configured or select a supported model that can read images.
  9. Check the Basic LLM Chain prompt and the structured output parser schema. Make sure the fields match your Notion property names. Adjust categories or output format if needed.
  10. Open the Summarize and Code nodes used for the chart. Confirm the field names used for grouping and totals match your Notion database. Update labels and values if your property names differ.
  11. Review the Schedule Trigger and set the interval for your reporting cadence such as weekly or monthly. Save the workflow and activate it.
  12. Test the intake path: send a receipt photo to Telegram. Confirm you receive a summary in chat and see a new record in Notion with correct fields.
  13. Test the report path: run the scheduled nodes manually or wait for the schedule. Confirm a chart is posted to the chat with correct category totals. If the chart is empty, check Notion filters and date ranges.
  14. Troubleshoot common issues: permission denied in Notion means the database was not shared with the integration. Missing chatId or thread id causes Telegram send errors. If the parser fails, align the AI prompt and parser schema. Check execution logs for details.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Gemini

Sign up

Free tier: $0 via Gemini API; e.g., Gemini 2.5 Flash-Lite free limits 1,000 requests/day (15 RPM, 250k TPM). Paid from $0.10/1M input tokens and $0.40/1M output tokens.

Notion

Sign up

Free plan: $0 per member / mo (Public API included)

QuickChart

Sign up

Community (Free): $0 / mo, 1,000 QR codes / mo; 60/min rate limit; unlimited scans; never expire

Telegram

Sign up

Free: $0, Telegram Bot API usage is free for developers

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.