DEV Community

Anshu Gupta
Anshu Gupta

Posted on

Shoebox: local receipt sorter for freelancers

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

Shoebox: local receipt sorter for freelancers

Drop receipt photos, get a reviewed CSV for your accountant. Runs entirely on your laptop.

Run
ollama pull qwen2.5vl:7b # one-time, ~6 GB
python3 shoebox.py # no pip installs

open http://localhost:8765

Swap models with SHOEBOX_MODEL=llama3.2-vision python3 shoebox.py.

Why open
Private: client invoices never leave the machine. Unplug Wi-Fi after the model download and it still works.
Cost: ~0 per receipt. A closed vision API charges per image, which eats the margin at 1,000+ receipts/year.
Swappable: one env var changes the model; fine-tune on a niche (e.g. Gujarati/Hindi invoices, GST fields) without asking anyone.
Test plan for your first user
Have a freelancer friend drop 30 real receipts.
Count fields they had to correct (vendor / date / total) = your accuracy number.
Ask: would you pay, and what next? (PDF support, GST split, Tally/QuickBooks export are likely asks.)
Known limits

Images only (no PDF yet), one receipt per image, accuracy drops on blurry/crumpled photos. Always review totals.

Top comments (1)

Collapse
 
launchgatecheck profile image
Launch Gate •

For the 30-receipt trial, I'd keep the source filename alongside each reviewed CSV row and count corrections by field, rather than only one accuracy score. A useful fixture would be a blurry receipt where the model gives a plausible but wrong total, plus a clear receipt with the same vendor/date/amount. The first should stay visibly unreviewed until corrected; the second shouldn't disappear as a duplicate. Can the export distinguish model-extracted values from values the freelancer has actually checked?