Waterfly III: an unofficial Android companion for Firefly III
Unofficial Android App for Firefly III, a free and open source personal finance manager.
At a glance
- What is it?
- Waterfly III is a Flutter-built Android client for the self-hosted Firefly III finance manager, published on Google Play and F-Droid under an MIT licence. It deliberately covers only the most used functions, so rule management and the deeper web interface work stay in the browser.
- Who is it for?
- Waterfly III suits people who already run their own Firefly III instance and want fast on-the-go entry of transactions, piggy banks and bills from an Android phone, especially Android users who want notification pre-fill and a fingerprint lock. It does not suit anyone without a self-hosted Firefly III server to connect to, nor users who need rule creation, which the README says is not planned.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly Dart, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Waterfly III is a phone client for a server you host yourself
Firefly III is a free and open source personal finance manager, and Waterfly III is an unofficial Android application for it. The word unofficial in the README is doing real work: this is a community client built by a single developer in Flutter and Dart, not a Google-branded product, and its behaviour is bound to whatever the server exposes through its API.
That matters for how you should think about the app. It is a thin, mobile-shaped view onto data you keep on your own infrastructure, not a standalone budget tracker that happens to export to Firefly III. The author's motivation section explains the sequence: trouble syncing Bluecoins across devices and storing attachments online led to a search for a self-hosted alternative, which led to Firefly III, which then led to a quick script to migrate from Bluecoins to Firefly III, and finally to the discovery that the existing Android apps for Firefly III had been outdated or very buggy and hardly maintained.
So the intended user is someone running their own Firefly III instance who wants to check a balance or log a purchase from a phone, and who does not want to open a browser tab on a small screen to do it. The project is written in Dart, uses Flutter for the interface, and the repository carries the usual Flutter project markers: analysis_options.yaml, devtools_options.yaml, build.yaml and pubspec.yaml.
The feature list is wide, and the README says rules are out of scope
The README is unusually direct about the intended scope. The app does not try to replicate every single feature that the web interface has; instead it tries to be a good companion to access the most used functions on the go. More in-depth operations such as creating or modifying rules are not planned for this app.
That single exclusion shapes the rest. Rules are the part of a Firefly III setup that automates recurring transaction classification, so leaving them out means the phone client covers the manual, on-the-go half of the job while the configuration half stays on the web. Users who want something missing are pointed to the issue tracker, with a feature request template and a query link showing what other users are already requesting.
Within the companion scope, the coverage is generous. The dashboard carries five different charts for current balance and recent history, a waterfall chart for net earnings in recent months, a budget overview for the last 30 days and upcoming bills. Transactions can be listed by date, filtered by various fields, and added or edited with autocomplete, attachments and pictures, split transactions and multi-currency support. Balances, piggy banks, categories, bills and account lists each get their own screen, and the README explicitly says to also read the FAQ.md file in the repository for details.
Android-only niceties: notification pre-fill and a fingerprint gate
Two features stand out because they are specific to Android rather than to finance management in general. The first is the ability to listen to incoming notifications, for example from Google Pay or a banking app, and pre-fill transactions from them, and the README marks this as Android only. The second is an option to require a fingerprint to open the app.
Both are conveniences with a cost. Notification listening on Android requires the app to be granted notification access, which is a permission a user has to find in system settings rather than a toggle inside the app, and it means the app is reading content from other apps' notifications. The fingerprint requirement is a local gate in front of an app whose data lives on a remote server, so it protects the phone, not the server.
The rest of the general feature set is platform-neutral in spirit: light and dark mode with dynamic colors, and a translation setup, with the README inviting help via Crowdin. The repository backs that up with a crowdin.yml file and an l10n.yaml configuration, so the string catalogue is prepared for translation rather than hardcoded into the interface.
A generated API client sits behind a Material 3 interface
The technology section says the app is built with Flutter and aims at Material 3 design guidelines, and that the author keeps it as lean as possible, without any trackers or unneeded dependency on external packages. The design influence named in the README is Bluecoins, whose interface the author says he modelled the app on.
The repository layout shows how the app talks to the server. There is a swagger_input directory alongside the lib directory, which is where a generated client would live, and the app therefore does not appear to hand-write HTTP calls for every endpoint. There is also an ios directory at the top level, so the project structure is not Android-only even though the released application described in the README is for Android.
Tooling around the app is conventional Flutter tooling. A fastlane directory sits next to build.yaml, which suggests the release uploads are scripted, and a test directory exists alongside the source. That is the shape of a small, well-organised mobile project rather than a large platform, and it matches the single-author origin story the README describes.
Three distribution channels and no fixed release schedule
Installing Waterfly III means picking a channel. The stable releases are published to the Google Play Store and are also downloadable from the GitHub releases page. There is also an open beta channel on Google Play, which the README says carries the pre-releases from the GitHub releases page and might not be as stable. A third route exists for people who avoid proprietary app stores: the README links to an F-Droid listing for the application.
The tag history shows the split between those channels. v1.2.1 was published on 2026-08-10 as a normal release, while v1.3.0-beta.1 on 2026-09-04 and v1.3.0-beta.2 on 2026-09-24 sit on the pre-release side. The README states there is no fixed release schedule, so a given stable version can sit unchanged for a while, and the last push to the repository was on 2026-10-19, which is after the most recent tag.
There is nothing to build yourself. The README gives no build instructions for an end user, and the application identifier in the store links is com.dreautall.waterflyiii. For a user, the practical decision is simply which channel to install and which server URL to point it at.
The Firefly III web interface remains the tool for everything deeper
The honest alternative to this app is not another third-party client. It is the Firefly III web interface, which the README repeatedly positions as the complete product and Waterfly III as a companion to it.
The difference in approach is one of surface and scope. The web interface runs everything in a browser on any device, so it needs no installation and no app store, and it covers the full feature set including rule creation and modification. Waterfly III gives up that completeness in exchange for a native Android surface: faster entry on a phone, notification pre-fill that only exists on Android, a fingerprint gate, and a Material 3 layout with dynamic colors.
Because the app is unofficial, there is another factor. When the server's API changes, an unofficial client can lag or break in ways an official one would not, and the repository itself reports having been started because the other Android apps for Firefly III were outdated or very buggy and hardly maintained. That history explains both the app's existence and its main risk: it is a volunteer-maintained surface over someone else's API, and its stability depends on the server project staying compatible.
Editorial conclusion
Waterfly III suits people who already run their own Firefly III instance and want fast on-the-go entry of transactions, piggy banks and bills from an Android phone, especially Android users who want notification pre-fill and a fingerprint lock. It does not suit anyone without a self-hosted Firefly III server to connect to, nor users who need rule creation, which the README says is not planned. Before installing, check that the beta channel is acceptable for you, since the recent tagged builds include v1.3.0-beta.1 and v1.3.0-beta.2 alongside v1.2.1, and confirm your Firefly III instance is reachable from the phone, since every screen depends on that server rather than on a local database.
Frequently asked questions
Where can I download Waterfly III for Android?
Stable releases are published to the Google Play Store and are also available from the GitHub releases page, and the README links to an F-Droid listing. There is also an open beta channel on Google Play that carries the pre-releases and might not be as stable.
Does Waterfly III support creating or modifying Firefly III rules?
No. The README says more in-depth operations such as creating or modifying rules are not planned for this app, and that the app aims to be a good companion for the most used functions rather than a full replacement for the web interface.
Can Waterfly III create a transaction from a banking notification?
Yes, on Android. The app can listen to incoming notifications, for example from Google Pay or your banking app, and pre-fill transactions from them, and this capability is marked as Android only in the README.
What licence is Waterfly III released under and does it track users?
The project is MIT licensed, and the README states the app is kept as lean as possible without any trackers or unneeded dependency on external packages. An option to require a fingerprint to open the app is included.
Is the app translated into other languages?
The README describes the app as translation ready and invites help via Crowdin, and the repository includes crowdin.yml and l10n.yaml for that purpose.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dreautall-waterfly-iii)Was this useful?