Receipt Sloth: let Gemma file it, I'll get to it eventually
Description and use
Receipt Sloth automatically sorts receipt text files and emails using a local Gemma model via Ollama, producing dated folders, a CSV, and a monthly summary, while routing incomplete receipts to a review folder.
Problem
Users keep receipts in a folder of text files and emails but rarely file them, leading to clutter and lost expense data.
Outcome
The tool achieved 11/11 correct parsing on the frozen sample set and 10/11 on the holdout, with a fallback rules engine handling 5/6 cases. All 19 local model requests succeeded without failures.
Workflow
- Run the script with the "rules" engine for a dry run to preview destinations
- Run the script with the "gemma" engine to let local Gemma parse receipts
- The script copies each receipt to a dated folder named with merchant, date, total, and category
- If a receipt lacks a date or total, it is moved to "needs-review/"
- A CSV of all processed receipts and a monthly summary are written
- Duplicates are skipped and the original files are preserved unless overridden
Evidence
Receipt Sloth turns a folder of receipt text files and exported emails into something I can stop thinking about. It reads the merchant, date, total, and currency, picks a spending category, and copies each receipt into a dated folder with a readable name.
Gemma runs locally through Ollama. The default keeps the originals. A dry run shows every destination before anything is written, duplicates are skipped, and missing dates or totals go into needs-review/.
The original engines were frozen at commit 9c6fe3c before the first holdout score. Once the failures informed fixes, that set stopped being unseen.
- Record date: 2026-10-20T22:41:09.559Z