Receipts — photo to transaction

Being builtPartly works today — the limits are below.

A photographed receipt becomes a proposed transaction with per-field confidence — never a written one — so anything the extraction is unsure of comes back flagged rather than guessed.

What works today

Photograph a receipt and send it to the Telegram bot — that path is shipped, and it is where receipts actually arrive. Shipped The agent reads it, extracts what it can, and writes a balanced transaction.

The extraction is still the model doing vision on each message rather than a dedicated tool, so the limits below are unchanged by the chat surface existing.

Why this one is harder than a CSV

A CSV has columns. A photograph of a crumpled thermal receipt has a merchant somewhere, a total that may not be the largest number on the page, a date in one of a dozen formats, and a currency that is often only implied by where you were standing.

What is being built

A server-side tool returning per-field confidence, with a floor below which a value comes back flagged rather than filled in. The confirmation step is part of the tool’s contract rather than the caller’s manners, so a caller that ignores confidence still produces a pending entry rather than a wrong one. Tracked as #516.

Three questions are open and deliberately unanswered: what does the OCR (it is metered spend per receipt), where the image is stored, and how a receipt in a currency the book does not hold gets its rate.

What there is not

There is no receipt archive. The extracted transaction is stored; the image is not kept anywhere you can go back to. If “show me the receipt for this entry” matters to you, that is a gap and not a feature.

Something here wrong or missing? Put it on the board — it is public, and the reply is in the thread.