Sloth Receipts: I photograph a receipt and a local AI does my expense report
Description and use
Sloth Receipts automatically converts receipt photos into an expense CSV using a local Qwen2.5VL model, flagging uncertain rows for review.
Problem
Expense reports are tedious and error‑prone when entered manually from crumpled receipts.
Outcome
The tool produces a ready‑to‑use expense CSV with minimal manual intervention, reducing data entry time and errors.
Workflow
- Snap a photo of the receipt and drop it in a folder
- Run sloth_receipts.py with the folder path
- The script hashes each image, skips already processed ones
- Each receipt is sent twice to a local Ollama model (qwen2.5vl:3b) for OCR
- If the two passes disagree on the total, the row is flagged needs_review with reason
- Sanity checks flag missing totals, impossible or future dates, unknown categories
- The script outputs expenses.csv with columns file,date,merchant,category,currency,total,needs_review,reason
- Human reviews only flagged rows
Evidence
Sloth Receipts is a small Python tool that turns a folder of receipt photos into an expense spreadsheet, using an open-weight vision model running on my own laptop.
Each receipt is read twice. If the two passes disagree on the total, the row is flagged needs_review instead of being silently trusted.
Try it in two minutes. Install Ollama, then: ollama pull qwen2.5vl:3b python3 sloth_receipts.py ~/Receipts
- Record date: 2026-10-20T05:56:14.003Z