Expeny is an iOS personal-finance app that tracks your spending, income, bills, debts, savings goals, and investments on your device. You log transactions by hand, by scanning a receipt with the camera, or through Siri/Shortcuts; the app shows your running balance, monthly budget, category breakdowns, and a financial-health summary, and surfaces the data through home-screen widgets and local reminders. All of your financial records are stored locally on the device — the app has no sign-in and no company-run server holding your data.
Expeny has no account registration — there is no email, password, or login. On first launch you go through a one-time onboarding sequence:
Three introductory screens explaining the app.
Pick your currency from the supported list (USD, EUR, GBP, JPY, CAD, AUD, CHF, INR, SAR, AED, TRY, QAR). This sets how all amounts display and seeds default category budgets. You can change it later in Settings.
A little about you — both fields are optional. Enter a first name (used only to greet you on the home screen) and your current cash balance (anchors the running balance). You can tap "Skip for now" to leave the balance unset.
Premium offer screen (you can continue without purchasing).
Notifications setup, where you can allow or skip local reminders.
After onboarding you land on the main app. You can re-run onboarding any time from Settings → Developer → "Replay Onboarding."
Open the add sheet to record a transaction with an amount, description/merchant, category, payment method (Cash or Online), date, and optional notes. Amounts are entered with live digit grouping and are capped just under one trillion. You can mark a transaction as income instead of an expense.
From the add flow, choose Scan Receipt. The app opens the camera, then reads the photo entirely on-device using Apple's Vision text recognition to extract the merchant, the largest amount as the total, and a guessed category. Review the result and tap "Use This," or "Retake," or "Add Manually" if nothing was read. Non-premium users get a limited number of lifetime scans (5) before the paywall appears.
Expeny exposes App Intents you can use with Siri or the Shortcuts app:
Log Expense — provide an amount and description (plus optional category, payment method, date, type); the category is auto-detected from the description when omitted. It asks for confirmation before saving.
Log From Message — paste or pipe a bank SMS / payment message; the app extracts the amount, merchant, and category and logs it automatically (no confirmation, since it is meant for unattended automation).
Additional intents: Add Bill, Mark Bill Paid, Add to Savings Goal, and read-only queries for recent transactions, upcoming bills, today's spend, and remaining monthly budget.
The Dashboard shows your balance and monthly spending against your budget. The "Carry over balance" preference (on by default) carries last month's leftover or deficit into the next month; turning it off resets monthly. The app also provides a Statistics view, category budgets (including an "all categories" view), and a Financial Health view.
Add bills with a due day and an optional reminder, and mark them paid. Add recurring income sources (weekly, monthly, quarterly, or yearly) with a payday. With notifications enabled, the app schedules local reminders the day before and on the due day for bills, and on payday for income.
Investments — search stocks via Finnhub and cryptocurrencies via CoinGecko, then track holdings; prices and daily change refresh from those services.
Debts/Loans and Savings Goals — track balances and goal progress; goals can have monthly contribution reminders and milestone notifications at 25/50/75/100%.
Price Alerts — set a target price and direction for a symbol.
Non-premium users are limited to 1 savings goal, 1 investment, and 1 debt.
Add credit cards and view card details.
Manage spending categories (add custom ones with an icon) in Settings → Categories. The app automatically learns merchant/description-to-category mappings as you log, and surfaces them as autocomplete; review them under Settings → Saved Merchants.
Home-screen widgets show your balance, budget pace, upcoming bills, savings-goal progress, and more. They read a snapshot the app publishes after each change; some widgets are Premium-only and prompt the paywall when tapped while locked.
In Settings you can change currency, toggle Dark Mode, adjust Text Size (all sizes are free and the app also honors the system Dynamic Type setting), toggle "Carry over balance," edit your starting balance, and toggle notifications. Your name is editable under Edit Profile.
Premium
Expeny Premium is a one-time (lifetime) in-app purchase handled through Apple and managed with RevenueCat. It unlocks higher limits (more goals, investments, debts, and receipt scans), budget-exceeded and weekly-insight notifications, and Premium widgets. If you reinstall or switch devices, use Settings → "Restore Purchase."
The app shows a storage error on launch. If the local database can't be opened, Expeny shows a storage-error screen instead of your data. This indicates the on-device store could not be loaded.
"Camera Not Available." Receipt scanning needs a device camera; this message appears when no camera is accessible. Camera access is requested the first time you scan ("Expeny uses your camera to scan receipts on-device. No data leaves your device.").
"Couldn't read the receipt clearly." OCR could not find a merchant or amount. Retake the photo with better lighting and framing, or choose "Add Manually."
Notifications aren't arriving. If notifications are blocked, Settings shows "Notifications are blocked. Go to Settings → Expeny to enable them," with an "Open" button. Reminders also require the in-app Notifications toggle to be on.
"Restore Failed" / "No active purchase found for your Apple ID." Restore could not find an active Expeny Premium entitlement for the signed-in Apple ID. Make sure you are signed in with the Apple ID used for the original purchase.
Hitting a paywall. Free accounts are limited to 1 goal, 1 investment, 1 debt, and 5 lifetime receipt scans; exceeding these or selecting Premium widgets/alerts opens the paywall.
Siri/Shortcuts logging didn't work. "Log Expense" rejects amounts of zero or less ("Amount must be greater than zero."). "Log From Message" reports "Couldn't find an amount in that message, so nothing was logged." when no amount is detected in the text.
Reach out for any feedback and bug report: