New feature

Scan a receipt, and the discounts come too

Loyalty-card discounts get applied after you scan — buried, unlabeled, easy to miss. Now Listo reads them off the receipt and takes them off your total.

I scanned a receipt from my local REWE, looked at the list Listo built, and the numbers were wrong. Not by a rounding cent — by twenty-one lei.

This is the same kind of dense Romanian thermal-paper receipt that once broke my OCR until I switched models. The items came out perfectly this time. The total didn't.

The reason was at the very bottom, under everything else:

Boni Mozzarella ×234.58
Pepene Verde 6.3kg37.86
…the rest of the shop…
Oferta Speciala / Discount−2.80
Oferta Speciala / Discount−18.96
TOTAL87.48 lei

Two discount lines. The items added up to 109.24; the discounts knocked off 21.76; the till charged 87.48. The math is simple once you can see it — but here's the catch that makes this genuinely hard: those discounts were applied after I scanned my loyalty card, as two anonymous "Oferta Speciala" lines. Even standing there holding the paper, I couldn't tell you which items they belonged to. The 18.96 could've been the watermelon, the mozzarella, or split across three things.

The signal was the minus sign all along

My first instinct was to be clever — match each discount back to its item, show a struck-through price, the whole thing. I'm glad I didn't, because the receipt itself refuses to tell you that. The discount doesn't belong to a line. It belongs to the trip.

So Listo doesn't guess. It uses the one thing the receipt does say unambiguously: a negative price. On these European receipts the minus even hides after the number — "18,96-C" means minus 18.96 — but a negative is a negative. Any line that comes back negative isn't a product. It's a discount, and it goes into a single, honest Discounts total for the whole list.

You don't tag anything. Listo recognizes discount lines on its own, by their negative amount — no matching them to items, no manual cleanup. When a scan contains them, it just asks once whether you want them counted.

How it looks when you scan

  1. Scan the receipt like always. Items come through as usual — the discount lines are pulled out, so you don't get junk rows named "DISCOUNT" cluttering your list.
  2. If discounts were found, a row appears at the top of the review screen: Discounts detected · −21.76, with a Subtract from total switch already turned on.
  3. Tap apply. Your list total now reads what you actually paid, with a small "−21.76" next to it so the reduced number is never a mystery.
A discount doesn't belong to a line on the receipt. It belongs to the trip. So that's where Listo puts it.

Leave the switch off and nothing changes — the discounts are ignored and your total is the plain sum of items. Scan a second discount receipt into the same list later and the discounts add together, the same way prices do across a multi-trip list. And if your store's discount happens to be bigger than the items you've added so far, the total simply stops at zero instead of going negative.

Why this one's small but mattered to me

Most features are about doing something new. This one was about Listo finally telling the truth. A shopping app that shows you a total is making a promise, and a total that quietly ignores every discount on the receipt is breaking it — by exactly the amount you were happiest to save. Twenty-one lei on an eighty-seven-lei shop is a quarter of the bill.

Receipt scanning is the one part of Listo behind the optional subscription — every scan is a real call to an AI vision model, billed per image. Everything the scan produces, including the discount it just found, is then simply part of your list: free to keep, edit, and total up, on every device you share it with.

Try it

Next time you shop somewhere with a loyalty card, scan the receipt and watch the bottom of the review screen. If the store gave you anything back, Listo will have already found it.

And if a discount slips through — a store that formats them in some way I haven't seen yet — send me a photo at support@rolisto.com. That's literally how the Romanian receipt handling got good in the first place: one person, one bad scan, one email at a time.

— Andrei

Try Listo

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

Google Play App Store