Set it up once
- Connect Google SheetsOpen Apps, press Connect on Google Sheets and sign in to your Google account yourself.
- Connect Telegram or WhatsAppOpen Channels and connect the chat app you already use, so receipts can go straight to the agent.
- Tell it the rules onceName the sheet, its columns and your categories, and ask for a month-end summary job.
What it handles
- Reads a clear receipt photo and fills in date, merchant and total
- Adds one row per receipt to your sheet
- Answers questions about the rows you have logged
- Sends a summary on the day you choose
What stays with you
- Checking the row against the receipt when the photo was blurry
- Tax and VAT treatment, which is for you and your accountant
- Keeping the original receipts if your tax authority requires them
- Deciding what counts as a business expense
What this is, and what it is not
This is an AI agent that sits in a chat app you already use. You send it a photo of a receipt, or a PDF or image file, and it reads the date, the merchant and the total, then adds a row to a Google Sheet that belongs to you. Later you can ask it questions about what is in the sheet.
It is not a receipt generator. If you searched for a bot that makes receipts or invoices to hand to a customer, this page does not cover that. The agent can write text, so it could draft an invoice as a message, but it has no invoicing system, no numbering and no payment link. Use proper invoicing software for documents you issue.
It is also not a separate expense app with its own dashboard. The sheet is yours, in your Google account, and you can open it, edit it, sort it and share it with an accountant like any other sheet. The AI agent for Google Sheets page covers the wider job of reading and editing sheets from a chat; this page is about the receipt case.
How it reads a receipt, and when it gets it wrong
In Hermes Agent 0.22.5 the Telegram connection accepts photos and files, and so does the WhatsApp connection. A photo sent as a picture is passed on as an image. A photo sent as a file (Telegram lets you send a picture uncompressed) is handled too, for common image types such as JPEG, PNG and WebP. Telegram limits the size of a file a bot can download to 20 MB on the standard setup, which is far more than a receipt photo needs.
What happens next depends on the model. Hermes either hands the image straight to a model that can see images, or, if the model cannot, it first asks a separate vision step to describe the image and passes that description on. ReadyHermes sets up that separate step for models that cannot see images. The default model for a paid assistant is listed with image support in the platform catalogue, but the free trial may start on a different model, and a text-only model gives a weaker reading. Send one real receipt as your first test. If the reading is poor, open Model key to choose a model that reads images, or add your own provider key and model there.
Where it struggles
- Blurry or dark photos. Digits get misread. A flat receipt in good light, taken straight on, works best.
- Long receipts. A supermarket receipt a metre long may need two photos, and the agent can read the total from the wrong part. Tell it the total you expect if you are unsure.
- Faded thermal paper. Photograph it soon, and check the row.
- Foreign currency. It can copy the amount and the currency shown on the receipt. It does not know your bank’s rate on the day, so ask it to log the original amount and currency in their own columns and convert in the sheet if you need to.
- PDFs. Hermes does not paste the text of a PDF into the chat. It tells the agent a file arrived and the agent has to extract the text itself. That works for PDFs that contain real text, such as an emailed invoice, and is less dependable for a scanned PDF. A photo is the more reliable route.
For these reasons, treat each row as a draft and check the date, merchant, currency and amount against the receipt before you rely on it.
Setting up the sheet and the rules
Start with a sheet you control. Make a spreadsheet with a header row, for example Date, Merchant, Category, Amount, Currency and Note, or ask the agent to create one. Connected Google Sheets can create a spreadsheet, add rows to the end of a table, look a row up and read ranges back, and the agent can also total a column for rows that match a value, which is what makes a question like fuel in October answerable without you writing a formula.
Then tell the agent the rules once, in plain words. A short version might be:
- the name of the spreadsheet and the tab to use;
- the columns, in order;
- your categories, for example Fuel, Travel, Meals, Supplies, Software and Other, and to use Other and say so when unsure;
- that every receipt is one new row at the bottom, and no existing row is changed or deleted;
- that it replies with the row it added so you can check it.
Say these in the chat once and ask the agent to save them to its memory, so they apply every time. See Hermes Agent memory for how remembered notes work. Categories are the agent’s guess from the merchant and the items, so keep the list short and check the first few weeks of rows.
“No existing row is changed” is an instruction, not a lock. Once Sheets is connected, the agent can edit and clear cells if asked. Keep a copy of the sheet, or look at its version history in Google Sheets now and then.
Asking questions and getting a month-end summary
Because the data sits in a sheet the agent can read, you can ask in the same chat: “How much on fuel in October?”, “What was my biggest expense this month?”, “List everything from one merchant”, “Which receipts have no category?” It reads the rows and answers. Check an answer you plan to rely on against the sheet, since the agent can add up a long column wrongly or miss rows that were typed in an unexpected format.
Hermes can also run a job on a schedule. Its scheduler takes plain-language times or cron expressions, so you can say: on the last day of each month at 18:00, read the Expenses sheet, total each category for the month, and message me the totals. On ReadyHermes the job runs on the hosted assistant, so it fires with your laptop shut. If you run Hermes yourself, the machine has to be on at that time.
A summary is a convenience, not a filed return. It contains only what was logged, so a month where you forgot to send receipts will look cheaper than it was.
Telegram or WhatsApp
Telegram is the easier place to start. You create a bot, connect it, and everyone with access can send receipts to it. The Hermes Agent Telegram guide covers the setup.
WhatsApp works differently, and you should read the risk before choosing it. The Hermes WhatsApp connection is a linked device on your own number, and by default it runs in self-chat mode: you talk to the agent in the chat WhatsApp gives you with your own number, and messages from other people are not answered. That suits a personal habit of forwarding your own receipt photos. For a small team, ReadyHermes also lets you allow specific numbers to message the agent; allow only people who should see the sheet. The connection is an unofficial WhatsApp Web bridge, not the official Business Platform. The details, including the platform risk and the 14-day rule, are on AI agent for my WhatsApp, so they are not repeated here.
Limits, tax and privacy
- Tax is not the agent’s call. It copies figures from a receipt. Whether VAT or sales tax can be reclaimed, whether an item is a business expense, and how to treat foreign purchases are decisions for you and your accountant. This page states no country’s rules.
- Keep the originals where required. A photo in a chat and a row in a sheet may not satisfy your tax authority. Check what yours requires you to keep, and for how long, with them or your accountant.
- Privacy. A receipt can show a name, part of a card number and what you bought. The image is sent to the AI model provider that reads it, and the figures go into your Google account. Do not photograph documents you are not willing to send to a model provider.
- Duplicates. If you send the same photo twice it may log two rows. Say in your rules to check for a matching date, merchant and amount first, and still scan the sheet for repeats.
- It is not an audit trail. The agent can be told to change a row, and so can you. Treat the sheet as a working record.
- Group chats and shared access. Anyone who can message the agent can ask it things about the sheet. Keep access to people you would show the sheet to.
Building it yourself, or using a separate app
Searching for this today turns up three kinds of result: workflow-builder templates that chain a Telegram trigger, an OCR step and a Sheets step; open-source projects you deploy yourself; and small hosted bots with their own accounts and dashboards. When you compare them, check how each one reads a receipt, where it keeps the data, whether it writes to a Google Sheet you own and whether you can ask it about earlier entries. A fixed workflow behaves the same way every time, but you maintain it yourself.
An agent trades precision for flexibility. It handles an odd receipt layout or a change in the columns without a rebuilt flow, and it answers questions in the same chat. In return its output can vary, so you check the rows.
If you want to run it yourself, Hermes includes a Google Workspace skill that covers Sheets, set up with Google OAuth credentials from a Google Cloud project. See install Hermes Agent and Hermes Agent skills. A hosted option avoids the Google Cloud step, as the next section explains. More jobs of this kind are on the use cases page.
A receipt bot on ReadyHermes
ReadyHermes runs a Hermes Agent for you, so there is no machine to keep on and no Google Cloud project to set up. The Apps panel (“Connect your apps”) lists Google Sheets; you press Connect, sign in to your Google account yourself, and can disconnect it from the same panel at any time. The Channels panel (“Connect a channel”) links Telegram or WhatsApp. Channels on ReadyHermes are Telegram, WhatsApp, Discord, WeChat and Lark.
- Start the free trial, which lasts 1 hour. A new assistant is ready in about 10 seconds.
- Connect Google Sheets in Apps, then connect Telegram or WhatsApp in Channels. Connecting a channel restarts the assistant, which takes about a minute.
- Tell the agent your rules in the chat and ask it to save them to memory.
- Send one real receipt, and compare the row with the paper.
When the trial ends the assistant pauses and is deleted unless you choose a plan within 24 hours. The Model key panel, where you add your own provider key, is open during the trial and on paid plans. If receipts read badly, that is also where you can switch to a provider whose model reads images. ReadyHermes does not offer a receipt scanner app, an accounting ledger or a tax filing feature; the agent works through the chat and your sheet. See the apps page for what can be connected.
Questions
Can a Telegram bot read a photo of a receipt?
Yes, if the model behind the agent can read images, or if a separate vision step is set up for it. Hermes Agent 0.22.5 receives photos and image files on Telegram and passes them on. Blurry, dark or very long receipts are read less reliably, so check the row against the paper.
Does it work on WhatsApp too?
Yes, with a caveat. The Hermes WhatsApp connection is a linked device on your own number and runs in self-chat mode by default, so you send receipts to yourself in the Message yourself chat. It is not the official Business Platform, which carries platform risk described on the AI agent for my WhatsApp page.
Is this a receipt generator or an invoice bot?
No. It reads receipts you already have and logs them to a Google Sheet. It has no invoicing system, invoice numbering or payment links, so use invoicing software for documents you issue to customers.
Can it tell me how much I spent on fuel in October?
Yes, if the receipts are logged in your sheet with a category. The agent reads the sheet and totals the matching rows. Check any figure you plan to rely on against the sheet, since a long column can be added up wrongly.
Do I still need to keep my paper receipts?
That depends on your tax authority, not on the agent. A photo in a chat and a row in a sheet may not be enough. Ask your accountant or your tax authority what you must keep and for how long.