File receipts from your email
Hand an assistant a routine that turns receipt emails into drafts you confirm. It uses its own email access; TallyFolio never touches your mail.
Last updated 2026-09-11
TallyFolio has no email connection of any kind and never asks for one. What follows is a routine you can hand to an assistant that already reads your mail and that you have connected to TallyFolio: it reads your receipts and files them here as drafts.
Nothing it files counts anywhere until you confirm it, and on the access this routine needs it cannot change or delete anything you have already recorded.
Before you start
- Connect the client and give it Read and propose drafts — see Connect an MCP client. Nothing here needs more than that.
- Write down which card belongs to which of your accounts, and put that list in the assistant's own instructions. TallyFolio never stores card numbers.
- Decide what each run covers, such as receipts from the last seven days.
- Know one limit up front: most email connections can read the text of a message but not what is inside an attachment, so a receipt that exists only as a PDF is out of reach.
The routine to hand over
- Check the connection with whoami first, and stop if the access is not at least Read and propose drafts.
- List the accounts and categories, and use only those IDs — never invent one.
- Search the mailbox for receipts in the run's window and read each message.
- Take the merchant, date, total, currency, and any hint of which card paid. Skip anything that cannot be read plainly, rather than guessing.
- Map the card hint to one of the accounts using the list the user wrote. A card that is not on the list is skipped, not assigned.
- Call find_possible_duplicates for that account, amount, and date, and skip the receipt when something already matches.
- Call suggest_category, and leave the category empty when the user's own rules have no answer.
- Propose the receipts with create_transaction_drafts, giving each one a reference of email: followed by the message's own ID, and a short note saying where it came from.
- Stop there. The user confirms, changes, or dismisses each draft in TallyFolio.
What keeps it safe
- The connection cannot record a transaction itself. Everything it proposes waits above your ledger for you.
- The message ID is the reference, so running the routine again over the same mailbox proposes nothing twice — including receipts you dismissed.
- A connection can propose at most 200 drafts a day, so a run that goes wrong stops itself.
- Email is text from strangers. On this access, the worst a hostile message can do is put a draft in front of you that you dismiss.
When the statement arrives
A receipt you confirmed and the card statement line for the same purchase rarely match exactly — the date usually moves by a day or two and the merchant text differs — so importing the statement could record the purchase twice.
The import review watches for that. An incoming row on the same account, for the same amount, within seven days of a transaction that came from a receipt, is marked and left unticked. Tick it yourself if it really is a separate purchase.
Common mistakes
- Giving the assistant more access than filing receipts needs. Read and propose drafts is enough.
- Letting it guess the account when the card hint is missing. An unmapped card should be skipped.
- Expecting attachments to be read. If your receipts arrive only as PDFs, this routine has nothing to work from.
- Confirming drafts in a batch without looking. Check the amount and date against the receipt at least the first few times.
FAQ
Does TallyFolio read my email?
What if the same receipt is proposed twice?
What if it proposes something wrong?
Can it file receipts while I am away?
Where this lives in the app
Related articles
- Connect an MCP client
Let an assistant or tool you trust read your TallyFolio data over MCP, and propose transactions for you to confirm. Optional and off by default.
- Transactions
Every money movement in TallyFolio is a transaction. Learn the types, the statuses, and how to keep them categorized.
- Import CSV statements
Upload a statement file, map its columns once, review every row, and save the batch — nothing is written until you confirm.