receipt-processor.

Extract fields from vendor receipts. Vendor, invoice number, amount, date, category. Deterministic rules. No ML. No data leaves your machine.

Live - EUR49 one-time
Buy now - EUR49

The problem

Vendor receipts arrive as unstructured email text.

Every vendor sends receipts differently. Amazon, Stripe, Uber, restaurants — each has its own format. Manually copying fields into accounting software takes 40+ minutes per week.

Existing tools are overkill for small teams.

Expensify and Ramp are built for enterprises with dedicated finance teams. Small businesses and freelancers need something lightweight that just extracts the fields.

What it does

Feed it a plain-text email body from a vendor receipt. Get back structured fields:

vendor

Vendor name extracted from the From line.

invoice_number

Order or invoice number.

amount + currency

Total amount and currency (USD or EUR).

date

Receipt date (YYYY-MM-DD).

category

Auto-classified: office_supplies, software, travel, meals, marketing, other.

How it works

$ echo '{"text":"From: Amazon Business\nOrder Total: $156.78\nDate: 2026-01-15\nOffice Chair"}' | python process.py
{"vendor": "Amazon Business", "invoice_number": null, "amount": 156.78, "currency": "usd", "date": "2026-01-15", "category": "office_supplies"}

Deterministic regex rules. No model, no API call, no data leaves your machine. Same input to same output, every time.

Why deterministic

An LLM extracting receipt fields is a black box you cannot audit.

When an extractor says "the amount is $156.78", you need to know why. A rule you can read is a rule you can trust, debug, and improve.

Buy

EUR49 one-time. Runs locally. No subscription, no cloud, no data collection.

Buy now - EUR49