Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I built a receipt sorter that never uploads a receipt

Description and use

Receiptsort automatically sorts and classifies electronic receipts locally, preserving privacy and reducing cloud costs.

Problem

Freelancers need to manually sort a folder of receipts and invoices before accounting, which is tedious and risky for privacy.

Outcome

Receiptsort automates receipt organization locally, preserving privacy, reducing cost, and enabling schema‑constrained extraction with validation.

Workflow

  • Point receiptsort at a folder of receipts
  • The vision model extracts vendor, date, invoice number, currency, subtotal, tax, total and category
  • Each file is copied to YYYY‑MM/Category/ with a name like 2026‑09‑03_Figma_12.00.png
  • A ledger.csv row is added for each receipt
  • Files with missing data, mismatched totals, or duplicates are moved to _needs_review/
  • Files are tracked by SHA‑256 so re‑running only processes new ones

Evidence

Point it at a folder of receipts and invoices. A vision model extracts vendor, date, invoice number, currency, subtotal, tax, total and category.

Source

Anything uncertain goes to _needs_review/ instead of being filed with a guess: a missing vendor, date or total; subtotal + tax that doesn't match the total; the same vendor, date and total as an earlier receipt.

Source

Files are tracked by SHA-256, so re-running on the same folder only processes new ones.

Source

The model runs locally through Ollama (default qwen2.5vl:7b), so nothing is uploaded and it works offline.

Source

Ollama accepts a JSON schema in the format field, which constrains the model's reply.

Source

  • Record date: 2026-10-17T18:40:58.569Z