PeakVoucher · Guide

How to import vouchers from SMS on Android, and why Play Store apps cannot

Most vouchers arrive by text. Google Play restricts the SMS permission to default messaging apps, so a wallet from the store cannot read them. The alternatives, and how a direct install does it safely.

By the upeak team3 min read2 sources
Only messages that look like a voucher are listed. Aone-time passcode never is

Key takeaways

  • Google Play limits SMS reading to default messaging apps, so store-listed wallets cannot scan your inbox.
  • Paste and share-sheet import work everywhere; only a direct install can scan the messages you already forgot.
  • An importer with that power should filter to voucher cues, exclude passcodes, and send one message at a time, only when opened.

If you have ever wondered why your gift-card app makes you copy and paste every voucher by hand, the answer is a policy, not a technical limit.

Where vouchers actually arrive

Employer benefits, restaurant coupons, gift cards from friends, refunds as store credit: in most markets, and in Israel almost universally, these land as an SMS with the amount, a code and a date, written in whatever format the sender's system produces. Reading them is a parsing problem. Getting at them is the harder part.

The Play policy

Since 2019 Google Play has restricted the READ_SMS permission to apps whose core purpose is messaging: the SMS and Call Log permissions policy allows it only for the default SMS handler and a short list of exceptions, none of which is a voucher wallet. An app listed on Play therefore cannot read your inbox, however clearly it asks. The policy exists for good reason; the same permission reads one-time passcodes.

What a store app can do instead

Three things, and they are all fine as far as they go. It can accept a paste: you copy the message, open the app, paste, and the parser does the rest. It can register as a share target so the messaging app's share button sends the text across. Or it can rely on you typing. None of them scans the last six months of the inbox for the vouchers you already forgot.

What a direct install can do

An app installed directly, outside the store, can request READ_SMS and Android will still ask you before granting it. That reopens the inbox, and it also raises the bar for how the app should behave, because now it can see everything.

The rules a careful importer follows: read nothing until permission is granted and the importer is opened; list only messages that match voucher cues, gift card, voucher, coupon, benefit, redeem code, barcode, in both languages; exclude anything matching a one-time-passcode pattern outright; send a message off the phone only when you open that specific one, and say so on the screen; remember which messages were imported so the same one is never offered twice.

How PeakVoucher does it

PeakVoucher ships the SMS importer in a direct install, exactly because it cannot carry the permission on Play. Open the importer, grant the permission, and it lists voucher-looking messages from the last year ranked by how voucher-like they are, with passcodes filtered out before the list exists. Open one and the assistant reads the amount, the expiry and the codes into a preview you can correct; import saves it and remembers the message. The same parser sits behind paste and behind the share sheet, so a phone without the permission still gets everything except the scan.

PeakVoucher is built for this

A wallet for the vouchers buried in your messages. Coming soon, in private beta.

Explore PeakVoucher

Questions

Is a direct install safe?
Android verifies the signature on every update and asks for each permission. The question is the app's behaviour once it has the permission, which is why it should read nothing until asked and tell you what leaves the phone.
Will PeakVoucher be on Google Play?
A version without SMS import could be. The beta ships as a direct install so the importer is included.
Does the importer read my bank codes?
It filters one-time passcodes out before the list is built, and nothing is sent anywhere until you open a specific voucher message.

Sources

  1. Google Play. Use of SMS or Call Log permission groups (developer policy). https://support.google.com/googleplay/android-developer/answer/10208820
  2. Android Developers. Manifest.permission: READ_SMS. https://developer.android.com/reference/android/Manifest.permission#READ_SMS