Your bank already texts you. Safi reads the texts.
Every card swipe and transfer sends you a message. Safi takes the amount, the shop and the account out of it, files the transaction, and asks you about anything it is unsure of.
Pro
Bank texts
Screenshot on the way. The app changed too much for the old one to be honest.
Why this and not a bank connection
The usual way to fill a budgeting app automatically is an aggregator that logs into your bank on your behalf. You hand over your banking credentials, and it works only for banks the aggregator has already integrated. In Egypt that list is close to empty.
The alert is a different starting point. It arrives on your phone whether or not anyone has integrated anything, it names the amount and the merchant, and reading it needs no permission from your bank. Safi never asks for your online banking username, password, PIN or card number, and it has no connection to your bank at all.
Setting it up once
On iPhone you install a Shortcut. It watches for messages that look like bank alerts and sends that text to Safi, which reads it and books the transaction. Setup is a few jobs rather than a wall of screens, and your currency is filled in before you start.
On Android you grant notification access and pick which banking apps Safi may read. Only the apps you allow are read. Either way the feature is off until you turn it on, and revoking the permission or the sync token in Settings stops all further reading straight away.
What lands, and what waits for you
A clean alert books as a real transaction: the shop rather than a wall of SMS text, the right amount, the right account, and a category. A QNB purchase comes in as the shop. Amazon Prime, Circle K, Talabat and IPN transfers all come in named.
When an alert has two numbers in it, or a format Safi has not seen before, it does not guess. The message opens as a check with the amount, shop and account already filled in, and you add it, skip it, or edit it. Home tells you how many are waiting. Messages with no amount in them are thrown away.
- Put the last four digits of a card on an account and that card's texts land there instead of on cash
- A notification when something books, so you know without opening the app
- Arabic and English alert formats, from the same bank
What Safi keeps
The amount, the merchant and the date become a transaction. Safi also keeps a short excerpt of the message, so that when a transaction appears you can see which alert produced it. That excerpt is the difference between a ledger you trust and a list of numbers you have to take on faith.
Message sync is part of Pro. Everything else on this page, including adding transactions by hand and importing a statement, works on the free tier.
Questions people ask
Does Safi read all my messages?
No. On iPhone the Shortcut you install decides which messages to forward, and it looks for bank alerts. On Android you choose which apps Safi may read notifications from, and it reads no others. Anything without an amount in it is discarded rather than stored.
Which banks does it work with?
Any bank that sends you a transaction alert. Safi knows the formats used by the major Egyptian banks and wallets in both Arabic and English. A format it has not seen opens as a check for you to confirm rather than being filed wrong, and formats get added over time.
Do I have to give Safi my banking password?
Never. Safi has no connection to your bank and no way to log in as you. There is no credential to hand over and nothing an attacker could take from us that would let them touch your money.
Is it available on Android?
The Android build is in closed testing on Google Play and is not publicly downloadable yet. There is a request form on the home page.