Open Source • MIT Licensed

Stop Manually Logging Every Bank Transaction

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.

0

App Screens

0

Bank Formats

0

Private & Local

Firefly SMS Scanner Setup Screen

Everything You Need for Effortless Finance Tracking

From real-time SMS detection to a full transaction editor — built for the Firefly III community.

📩

Real-Time SMS Detection

Runs silently in the background. The moment a transaction SMS arrives, you get an actionable notification — tap to send to Firefly or review first.

📅

Date-Range SMS Scanning

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.

🏦

Abacus-Style Transaction Editor

Before submitting, enrich each transaction with category, budget, source/destination accounts, tags, and editable description — all fetched from your Firefly instance.

🔄

Firefly III Metadata Sync

One-tap sync of categories, tags, budgets, and accounts. Cached in-session so there are no repeated API calls while you review transactions.

🔔

Smart Notifications

Heads-up notifications with "⚡ Send to Firefly" and "Review & Edit" actions. Submit transactions without even opening the app.

🐛

Built-in Debug Log

Timestamped in-app log of every API call, SMS read, and parse decision. Export as plain text for easy issue reporting.

Up and Running in 4 Simple Steps

Connect to your Firefly III instance and start logging transactions automatically.

1

Install the App

Download the APK from GitHub Releases or build from source in Android Studio.

2

Connect to Firefly III

Enter your Firefly III base URL and Personal Access Token. Tap "Test Connection" to verify.

3

Grant Permissions

Allow READ_SMS, RECEIVE_SMS, and POST_NOTIFICATIONS so the app can detect and alert you.

4

Start Tracking!

Scan existing SMS or let the background receiver catch new ones. Review, edit, and send to Firefly.

See It In Action

Built with Jetpack Compose and Material3 for a modern, native Android experience.

Setup screen for configuring Firefly III connection
Setup Screen
SMS scanner with date range picker
SMS Scanner
Transaction editor with categories and tags
Transaction Editor
Notification alert for detected transaction
Notification Alert
Send result confirmation screen
Send Result

Built With Modern Android Tech

Clean architecture, minimal dependencies, and built for contributors.

🟣

Kotlin

Primary language with coroutines for async

🎨

Jetpack Compose

Declarative UI with Material3

🌐

Retrofit 2

Type-safe Firefly III API calls

🔒

OkHttp 4

HTTP client with auth interceptor

🧭

Navigation Compose

Screen routing & deep links

📦

ViewModel

Lifecycle-aware state management

📡

BroadcastReceiver

Live SMS interception

🔧

SharedPreferences

Lightweight settings persistence

Clone and build from source:

git clone https://github.com/swaraj429/firefly-3-sms-auto-scanner.git

Where We're Headed

Help us build the future of open-source personal finance automation.

✅ Done

v0.0.1-alpha — Initial Release

Real-time SMS detection, basic parsing, notification actions, Firefly III API integration, and setup UI.

🔥 In Progress

v1.0 — Stable Release + Signed APK

Production-quality signed APK, better error handling, comprehensive bank format coverage.

🔮 Planned

Auto-Send Mode

Skip review — automatically submit all detected transactions to Firefly III instantly.

🔮 Planned

Rule-Based Auto-Categorisation

Create rules like "SWIGGY → Food & Dining" to auto-assign categories and budgets.

🔮 Planned

Multi-Account & International Support

Multiple Firefly III accounts, EU/US bank SMS formats, CSV import, and a spending widget.

Your Data Stays On Your Device

We believe personal finance data should remain personal. Period.

🏠

100% Local Processing

SMS content is parsed entirely on your device. Nothing leaves your phone except to YOUR Firefly III instance.

🚫

Zero Tracking

No analytics, no crash reporting, no third-party SDKs. No data collection of any kind.

🔓

Fully Open Source

Every line of code is on GitHub. Audit it yourself. MIT licensed — fork it, modify it, own it.

🏦

Self-Hosted Only

Connects exclusively to your self-hosted Firefly III. No intermediary servers. Your infrastructure, your rules.

Frequently Asked Questions

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.

Help Build the Future of Open-Source Finance

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.

MIT

License

Kotlin

Language

Android 8+

Minimum SDK