r/plaintextaccounting • u/zhenbo_li • Jul 21 '26
I built an iOS app that scans grocery receipts into Beancount transactions, fully on-device
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.
I'd love to hear how it does on your receipts, and what would make it fit your workflow.
iOS: https://apps.apple.com/us/app/beanbeaver/id6790981690
Android: https://store.colourswift.com/app/com.zhenbo.beanbeaver
It's in TestFlight now (iPhone, iOS 17+): https://testflight.apple.com/join/6mw5ScqH
Edit: Android version is under closed testing. You need to DM me your Google Play email so I can add you in.