An open-source Android app that detects transaction SMS in real-time and sends them to your self-hosted Firefly III — with one tap. No cloud. No tracking. 100% yours.
App Screens
Bank Formats
Private & Local
From real-time SMS detection to a full transaction editor — built for the Firefly III community.
Runs silently in the background. The moment a transaction SMS arrives, you get an actionable notification — tap to send to Firefly or review first.
Scan your entire inbox for any date range with quick-select chips: Today, 3 Days, 7 Days, 30 Days, 90 Days, or use the full Material3 date picker.
Before submitting, enrich each transaction with category, budget, source/destination accounts, tags, and editable description — all fetched from your Firefly instance.
One-tap sync of categories, tags, budgets, and accounts. Cached in-session so there are no repeated API calls while you review transactions.
Heads-up notifications with "⚡ Send to Firefly" and "Review & Edit" actions. Submit transactions without even opening the app.
Timestamped in-app log of every API call, SMS read, and parse decision. Export as plain text for easy issue reporting.
Connect to your Firefly III instance and start logging transactions automatically.
Download the APK from GitHub Releases or build from source in Android Studio.
Enter your Firefly III base URL and Personal Access Token. Tap "Test Connection" to verify.
Allow READ_SMS, RECEIVE_SMS, and POST_NOTIFICATIONS so the app can detect and alert you.
Scan existing SMS or let the background receiver catch new ones. Review, edit, and send to Firefly.
Built with Jetpack Compose and Material3 for a modern, native Android experience.
Clean architecture, minimal dependencies, and built for contributors.
Primary language with coroutines for async
Declarative UI with Material3
Type-safe Firefly III API calls
HTTP client with auth interceptor
Screen routing & deep links
Lifecycle-aware state management
Live SMS interception
Lightweight settings persistence
Clone and build from source:
git clone https://github.com/swaraj429/firefly-3-sms-auto-scanner.git
Help us build the future of open-source personal finance automation.
Real-time SMS detection, basic parsing, notification actions, Firefly III API integration, and setup UI.
Production-quality signed APK, better error handling, comprehensive bank format coverage.
Skip review — automatically submit all detected transactions to Firefly III instantly.
Create rules like "SWIGGY → Food & Dining" to auto-assign categories and budgets.
Multiple Firefly III accounts, EU/US bank SMS formats, CSV import, and a spending widget.
We believe personal finance data should remain personal. Period.
SMS content is parsed entirely on your device. Nothing leaves your phone except to YOUR Firefly III instance.
No analytics, no crash reporting, no third-party SDKs. No data collection of any kind.
Every line of code is on GitHub. Audit it yourself. MIT licensed — fork it, modify it, own it.
Connects exclusively to your self-hosted Firefly III. No intermediary servers. Your infrastructure, your rules.
Firefly III is a free, open-source, self-hosted personal finance manager. It lets you track transactions, budgets, and accounts on your own server. This app acts as a bridge between your bank SMS and Firefly III.
Currently, the parser supports most Indian banking formats (SBI, HDFC, ICICI, Axis, Kotak, and more). The regex-based parser catches common patterns like "debited Rs.X" and "credited INR X". Adding new bank formats is the easiest way to contribute!
No — iOS does not allow apps to read SMS messages for privacy reasons. This app is Android-only (8.0+).
Yes. All SMS processing happens locally on your device. The app only communicates with YOUR self-hosted Firefly III instance. No third-party servers are involved. The source code is fully open for audit.
The most impactful contribution is adding new bank SMS patterns. You can also fix bugs, improve UI, add documentation, or suggest features. Check our CONTRIBUTING.md guide on GitHub for detailed instructions.
Whether you're adding a new bank SMS format, fixing a bug, or improving documentation — every contribution matters. Let's make personal finance automation accessible to everyone.
License
Language
Minimum SDK