iOS app template

Expense Tracker & Receipt Scanner

A complete, offline iOS expense tracker with on-device receipt scanning, budgets, reports, recurring transactions, CSV/PDF export, backup and 8 languages. Pure SwiftUI, no dependencies.

  • SwiftUI
  • iOS 17+
  • Vision OCR
  • Swift Charts
  • 8 languages
  • Offline
  • No dependencies

Demo

See it in action

Log an expense in seconds, scan the receipt and let the app read the amount, merchant and date on the device, stay on budget and see clear monthly reports. Everything stays on the phone: no account, no server, no ads, no tracking.

▶ Watch on YouTube

Features

Everything you need to launch

Transactions

  • Expenses, income and refunds (refunds reduce category spending)
  • Amount, currency, category, date, merchant, payment method, notes, tags, receipts
  • Edit, duplicate, “Save & add another”, merchant and tag suggestions
  • Search, filters, sorting, bulk re-categorise and delete

Receipt scanning (on-device OCR)

  • Document scanner with auto-crop, camera, Photos and Files (images & PDF)
  • Crop and rotate before saving
  • Apple Vision reads merchant, date, total, tax and currency; uncertain totals flagged
  • Free and private: nothing uploaded, no API key
  • Receipt inbox and searchable library

Budgets

  • Overall and per-category monthly budgets
  • 50 / 80 / 100% alerts (notifications never show amounts)
  • Optional rollover of unused budget
  • Custom month start day (budget by salary cycle)

Reports

  • Week, month, quarter, year or custom range vs previous period
  • Category donut and table, spending vs income trend
  • Payment methods and top merchants
  • Tap any row to see matching transactions

Recurring transactions

  • Daily, weekly, monthly or yearly with interval and end date
  • Add automatically or remind to confirm; pause any time
  • Never duplicates, even after the app was closed

Export, backup & privacy

  • Excel-safe CSV and PDF expense report
  • One-file backup & restore with SHA-256 integrity checks
  • Face ID / passcode lock with app-switcher blur
  • Data on device with iOS file protection; privacy manifest included

Polished experience

  • 8 languages incl. Hindi, Spanish, French, German, Portuguese, Italian, Chinese
  • Branded launch screen and animated splash
  • Onboarding with currency & month-start setup, sample data
  • Dark mode, Dynamic Type, VoiceOver, iPhone and iPad; 29 currencies

For developers

  • 100% Swift & SwiftUI (Charts, Vision, VisionKit, PDFKit), no third-party libraries
  • Foundation-only core logic separate from UI
  • 92 core tests + 7 end-to-end UI tests
  • Money stored as whole minor units: no rounding errors
  • Versioned saved data survives updates
  • Rebrand from one config file; debug launch options for App Store screenshots

Screenshots

Every screen, light, dark and localised

Tap any screenshot to enlarge.

Specs

Technical details

PlatformiOS 17+, iPhone & iPad
Xcode26 or later
LanguageSwift, SwiftUI
DependenciesNone
Languages8
Tests92 core + 7 UI

What’s included

  • Full Xcode project source
  • Core tests with run script, and UI tests
  • HTML documentation: install, rebrand, launch screen, currencies & categories, languages, structure, tests, demo data, App Store publishing
  • 1024 × 1024 app icon, launch logo and colour
  • String Catalogs for 8 languages

Requirements

  • Xcode 26 or later
  • iOS 17.0 or later
  • Apple Developer account to publish
  • Real device for document scanner, camera and Face ID (everything else runs in the simulator)

Not included

  • Cloud sync
  • Exchange-rate conversion
  • Accounts & transfers, split transactions
  • Widgets, in-app purchases or ads

Get the Expense Tracker source code

Single-app licence, setup help and custom rebranding available. Reply within 24 hours.