The private money manager for iPhone.
SpendTally is an offline-first personal finance app that keeps every number on your iPhone. No account, no bank connection, no cloud sync, no ads, no tracking. v2.0 adds transactions, accounts, budgets, bills, goals, and on-device receipt scanning — all while keeping the same one-store, one-tap guarantee.
Why SpendTally
Offline by design
Airplane mode is a feature, not an edge case. Every transaction, scan, chart, and goal lives in a local SwiftData store inside the app's sandbox. The app never opens a network connection.
No account, ever
No sign-up, no email, no password, no "verify your phone." The app is ready the moment you open it. There is no identity on the server because there is no server.
No bank connection
You add your own named costs, accounts, and bills. That is what makes the yearly forecast feel real, and it is also what keeps the app from being a liability under financial data regulations.
No tracking, no analytics SDK
No Firebase, no Amplitude, no Mixpanel, no IDFA, no advertising ID. The app declares "Data Not Collected" on the App Store.
Native iOS, no Electron
Built in SwiftUI on Swift 6, with SwiftData, Swift Charts, ActivityKit, WidgetKit, and Apple Vision OCR. The app feels fast because it is fast — and it gets smaller with every iOS release.
Built by one person
No investors, no ad network, no growth team. The developer reads every support email. The roadmap is the developer's roadmap, and you can ask for a feature directly.
Five tabs, one store
SpendTally 2.0 replaces the old four-tab layout with a five-tab finance experience. Every tab reads from the same local SwiftData store, so the data you enter once is available everywhere — Home, Transactions, Analyze, Plan, and Settings.
-
Home
Your real-time money picture. Cash position, accounts, available after commitments, budget status, due payments, top leaks, and recent activity — all in one scrollable view that updates the moment you log a transaction.
-
Transactions
One amount-first editor for expenses, income, refunds, and transfers. The full ledger is searchable, taggable, and never double-counts transfers or liability payments. The named-cost library (formerly the Costs tab) lives here too.
-
Analyze
Swift Charts cash flow, category distribution, day-of-week × hour-of-day heatmap, drift detection, and one-tap leak evidence. Pick any category, drill into when and where you spend the most.
-
Plan
Daily, weekly, monthly, and yearly budgets with pace and remaining money. Bills, subscriptions, paydays, and debt payments grouped Overdue / Due Today / Next 7 Days / Later. Goals with full dated contribution history.
-
Settings
Accounts, income, currency, category library, appearance, tracking preferences, notifications and sharing, widgets, privacy and export. Everything you need to make SpendTally yours.
Every feature
Unified transactions
- One amount-first editor for expenses, income, refunds, and transfers
- Manual accounts: cash, bank, savings, credit card, loan, asset, liability
- Transfers and liability payments never double-count as spending or income
- Tags and search across the full ledger
- Receipt photos and bill photos attach to the matching transaction
Budgets and spending roles
- Daily, weekly, monthly, and yearly envelopes with pace and remaining money
- Period boundaries calculated against the user's locale and pay cycle
- Optional Cut Back role for stronger warnings on the categories you actually want to reduce
- No fake alerts — strong language only appears for spending you have flagged
Bills, subscriptions, paydays, and debt payments
- Confirmed occurrences grouped Overdue, Due Today, Next 7 Days, and Later
- Exact payment matching with variable actual amounts
- Skip and snooze exceptions without losing history
- User-controlled local reminders — no remote push tokens
Receipt and bill scanning
- On-device Apple Vision OCR — text and photos never leave this iPhone
- Mandatory review before any number is saved
- Line-item reconciliation against the receipt image
- Choose to create a future bill or record an already-paid transaction
Goals with full history
- Editable goals with target amount, target date, and currency
- Dated contributions, each one carrying its source (payment, transfer, or manual)
- Progress bar reflects the sum of contributions, not a single number
- Per-goal breakdown showing every deposit and its date
On-device analytics
- Swift Charts actual-versus-forecast, category distribution, and trend deltas
- Day-of-week × hour-of-day heatmap for any category
- Drift detection: categories trending up vs last period, with the payments behind the move
- One-tap leak evidence that points at the receipts behind any leak
Widgets, Live Activities, and share videos
- Home Screen widgets: small (monthly total with progress ring), medium (top leak + week-over-week), large (mini-dashboard with top 3 leaks, monthly total, streak)
- Lock Screen widgets: circular, rectangular, and inline
- Live Activities for week running total vs pace, return-window expiring (T-7 days), and trial-ending reminders
- 12-second 9:16 share videos for any cost, the year reveal, or a friend challenge
Siri App Intents
- Quick-log payments: "Log $5 coffee"
- Biggest-leak answers: "What's my biggest leak?"
- End-of-week money report shortcut returning the top 3 leaks
- Friend challenge shortcut that pre-fills the recipient's category
Privacy by design
- All data lives in a local SwiftData store inside the app's sandbox
- No account, no bank connection, no cloud sync, no ads, no tracking
- Two permissions total: Camera (for scanning) and Photo Library add-only (for saving reveal cards)
- Local notifications only when you enable a reminder
- App Store privacy label: "Data Not Collected" across every category
What SpendTally is not
Honesty is part of the product. SpendTally does not — and will not — do these things:
- Connect to your bank, credit card, or brokerage
- Pull transactions automatically from any institution
- Score your credit, sell you a loan, or pitch you a financial product
- Run ads, affiliate links, or any sponsored placement
- Charge a subscription, an in-app purchase, or a "Pro" tier
- Send your data anywhere — there is no "anywhere"
Permissions, in plain English
| Permission | When it is asked for | What it is used for |
|---|---|---|
| Camera | Only when you open the receipt or bill scanner | Reading text and amounts from paper receipts and bills via on-device Apple Vision. The frame is processed locally and discarded. |
| Photo library (add only) | Only when you save a reveal card or share video | Writing the rendered card or video to your Photos. The app cannot read your existing photos. |
| Notifications | Only when you turn on a reminder or the weekly digest | Scheduling local reminders for bills, subscriptions, paydays, debt payments, and the weekly digest. No remote push tokens. |
SpendTally does not request location, contacts, microphone, Face ID, motion, calendars, reminders, photos (read), photo library (read), Bluetooth, local network, advertising ID, or IDFA.
Made for the App Store, not a marketplace
SpendTally is a single-developer, no-investor, no-data project. The app is free, will stay free, and will never carry ads, affiliate placements, or premium tiers. The same code that runs in your hand runs in every other hand that downloaded it — there is no server tier, no "Pro" account, no A/B test on you.
When you need help, the email is read by a person. When you have a feature request, the email is read by the same person. When the app breaks, the bug report becomes the next release.