Receipt ledger
Turn a pile of receipt photos into a clean expense ledger: merchant, date, amount, tax and category per photo, duplicates blocked locally, anomalies flagged, ready to export for reimbursement.
About this tool
Expense claims die in the camera roll: thirty receipt photos, each needing merchant, date, amount and category typed into a ledger before reimbursement. This tool reads the whole batch with the vision model behind your own API key and returns a dated ledger table, with a category you can adjust per row before exporting the CSV your finance process actually wants.
Two local safeguards run before and after the model. Identical photos are hashed in your browser and skipped, so the same receipt never gets claimed twice by accident. After extraction, dates and amounts are normalized locally and anything suspicious — a future date, a missing amount, an unusually large total — is flagged for a human look rather than passed through quietly.
How to use Receipt ledger
- Add your provider API key in the key panel (vision-capable model recommended).
- Drop up to 30 receipt photos. Exact duplicates are blocked locally before any model call.
- Review the ledger: adjust any category, check the flagged rows, then export.
- Export as CSV in a reimbursement-ready layout.
Keep the original files and inspect the exported result before publishing or sharing it.
Frequently asked questions
How are duplicates detected?
Each photo is hashed in your browser before upload to the model; the same photo twice in one batch is skipped and listed.
What gets flagged?
Unparseable dates, dates in the future, missing amounts and unusually large amounts are flagged for a human look. Nothing is hidden.
Can I change a category?
Yes — every row has a category dropdown. The export uses the categories as you leave them.
Where do my receipts go?
Each photo is sent only to the AI provider behind your own key, directly from your browser.
Related tools
- AI chat — Chat with OpenAI, Claude or Gemini using your own API key. Your key stays in your browser; requests go straight to the provider.
- AI summarizer — Summarize long text with your own OpenAI, Claude or Gemini API key. Brief, detailed or bullet-point summaries, all in your browser.
- AI translator — Translate text between 30 languages with your own OpenAI, Claude or Gemini API key. Private by design: key and text stay with you and the provider.
- AI writing assistant — Improve, expand, shorten or re-tone your writing with your own API key. Six editing modes, direct browser-to-provider calls.
- AI code explainer — Paste code and get a plain-English explanation using your own OpenAI, Claude or Gemini API key. Language auto-detect included.
- AI PDF chat — Upload a PDF and ask questions about it. The PDF is parsed in your browser; only the extracted text and your question go to your chosen AI provider.
- AI image analyzer — Upload an image and let AI describe it, extract text (OCR), or identify objects. Uses vision models from OpenAI, Claude or Gemini with your own key.
- AI voice generator — Turn text into natural-sounding speech with OpenAI TTS. Six voices, speed control, play in the browser and download MP3.
- AI data analyst — Upload a CSV and ask questions in plain English. The file is parsed locally; the AI sees only a schema summary and sample rows.
- AI spend analyzer — Turn your AI provider usage export into an independent cost receipt: per-model and per-day breakdowns, spike alerts and a monthly projection. Runs 100% in your browser — your billing data is never uploaded.