New feature

Scan a receipt, get next week's shopping list

Point your phone at the receipt from last Saturday's big shop. A few seconds later your list for next Saturday is half-written.

Last Saturday's receipt already knows what next week looks like.

Most weeks the shop barely changes. Milk, bread, the same two cheeses, the same fruit, the same bin bags you forget half the time. Re-typing all of that into a fresh list every Sunday evening was the part of grocery planning that always felt the dumbest to me.

So I taught Listo to read the receipt instead.

Point your phone, get the list

The flow takes about as long as the photo itself:

  1. Open the list you want to fill (or start a new one) and tap Scan receipt.
  2. Take a photo of the receipt. Long thermal-paper one that folds three times? Take a few photos — Listo stitches them into a single scan.
  3. A few seconds later, the items show up in a review screen with names, quantities, and prices already split into rows. Tap to confirm, edit anything that looks off, save.
Where the photos go. The scan runs server-side — the receipt photos go from your phone to Listo's storage and then to Anthropic's Claude API for the actual read. They don't go anywhere else. You can delete a scanned receipt from the list any time and it's gone from storage too.

Three ways to actually use it

The same scanner serves three different flows, depending on which list you start from:

Re-typing last Saturday's shop into Sunday's list was the dumbest part of grocery planning. So I removed it.

The Romanian Lidl problem

I built the first version of this on Claude Haiku — the cheap, fast model. It worked beautifully on every receipt I had on my desk in Berlin. German supermarket receipts are quite tidy: clean print, one item per line, name and quantity in the same column. Easy mode for OCR.

Then I went home to Romania.

Lidl receipts there are dense thermal paper, with quantities and prices on a separate line below the item name, all squeezed close enough together that you can barely tell which quantity belongs to which item. The first eight items? Read perfectly. By item nine the model started pairing the quantity from item ten with item nine, then item eleven's with ten, and so on — a cascade that ran all the way to the bottom. By the end of a 30-item receipt you had thirty items with the wrong quantities each shifted by one.

I tried five prompt variations. Reformatted the few-shot examples. Cropped the photos differently. None of it touched the cascade — the problem was structural, not promptable. Haiku could spot one quantity-name pair just fine; it couldn't hold the alignment across a dense receipt.

So I switched to Claude Sonnet 4.6. Same prompt, same code path. Cascade gone. Read the same Romanian Lidl receipts cleanly across hundreds of test scans.

Sonnet costs roughly 2.5× more per scan than Haiku did. That was the moment this stopped being something I could absorb into the free tier.

Why this one's in the subscription

Most of Listo is fixed cost on my end. The server is the same monthly bill whether you make one list or fifty, whether you share with two people or twenty. Adding users doesn't really cost me more, so adding users to the free tier doesn't cost me more either.

Receipt scanning is different. Every scan is a separate API call to Anthropic, billed per image plus output tokens. With Sonnet 4.6 the math works out to roughly $0.036 per scan — a few cents each time you point your camera at a receipt.

That sounds tiny, but it scales linearly. Two scans a week is around a hundred a year, or about $3.60 per active user per year just in API cost. Multiply across the user base and it's no longer absorbable as a free feature. I'd either need ads (no) or a way to recover the cost from the people actually using it.

So receipt scanning is the one piece of Listo behind the monthly subscription. The sub price is roughly the cost of a takeaway coffee — set to cover Anthropic plus a small margin to keep the lights on. If you scan two receipts a month it's basically at-cost; if you scan thirty, you're getting a deal.

What's still free

Everything that was free yesterday is still free today. Receipt scanning is an addition, not a tier change:

Free (no account required)

  • Unlimited shopping lists
  • Sharing lists with anyone
  • Sync between your phone and tablet
  • Offline mode
  • Categories, priorities, sorting
  • Items, quantities, prices typed by hand

In the subscription

  • Receipt scanning (this post)

You can buy a month, scan a stack of receipts during a big shopping weekend, and skip the next month with no friction. No annual lock-in.

Try it

Open Listo, find the most recent receipt in your bag or your wallet, and point your phone at it. You'll know within thirty seconds whether the scan works for your store's receipt format.

If something reads wrong — a quantity drifts, a name comes out garbled, a discount line gets parsed as an item — email me at support@rolisto.com with a photo of the receipt. The Romanian Lidl fix above started exactly like that, from one person sending me one bad scan. I still read every message.

— Andrei

Try Listo

Free shopping lists with sharing, sync, and offline support. Receipt scanning in the optional monthly sub.

Google Play App Store