I think most people here have some automation to import bank statements into their ledger. So do I. But when the monthly summary says “30%+ goes to groceries,” I can’t make a budget with that coarse number.

So I built BeanBeaver: an iPhone app that turns a photo of a grocery receipt into a Beancount transaction — one posting per line item, each item sorted into an expense category.

How it works:

  • OCR runs entirely on-device (PP-OCRv5 via ONNX Runtime). No server, no network, no analytics — it works in airplane mode.
  • The parser uses each text fragment’s position on the receipt (its bounding box) to extract merchant, date, item names, and prices.
  • The output is plain Beancount text you can copy or share. Optionally, connect a GitHub repo and each scan opens a PR with the transaction.

It’s in TestFlight now (iPhone, iOS 17+): https://testflight.apple.com/join/6mw5ScqH

I’d love to hear how it does on your receipts, and what would make it fit your workflow.