https://github.com/flow-mn/flow
A personal finance tracker app built with love, and Flutter
https://github.com/flow-mn/flow
dart dartlang expense expense-manager expense-tracker finance flutter foss free money mongolia open-source personal-f
Last synced: 2 months ago
JSON representation
A personal finance tracker app built with love, and Flutter
- Host: GitHub
- URL: https://github.com/flow-mn/flow
- Owner: flow-mn
- License: gpl-3.0
- Created: 2024-01-07T08:08:19.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-28T18:11:25.000Z (3 months ago)
- Last Synced: 2026-02-28T19:52:32.807Z (3 months ago)
- Topics: dart, dartlang, expense, expense-manager, expense-tracker, finance, flutter, foss, free, money, mongolia, open-source, personal-f
- Language: Dart
- Homepage: https://flow.gege.mn/
- Size: 9.93 MB
- Stars: 392
- Watchers: 7
- Forks: 55
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- jimsghstars - flow-mn/flow - A personal finance tracker app built with love, and Flutter (Dart)
README
#  Flow
[](https://buymeacoffee.com/sadespresso)
[](https://flow.gege.mn)
[](https://github.com/flow-mn/flow)
[](https://discord.gg/Ndh9VDeZa4)
## Preface
 Flow is a free, open-source, and beautifully simple
expense tracker — built with a focus on great UX, works fully offline, and runs
seamlessly across platforms.
## Download Flow (beta)
[](https://play.google.com/store/apps/details?id=mn.flow.flow)
[](https://apps.apple.com/mn/app/flow-expense-tracker/id6477741670)
[](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22mn.flow.flow%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Fflow-mn%2Fflow%22%2C%22author%22%3A%22flow-mn%22%2C%22name%22%3A%22Flow%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Afalse%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22filterReleaseTitlesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22filterReleaseNotesByRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22verifyLatestTag%5C%22%3Afalse%2C%5C%22sortMethodChoice%5C%22%3A%5C%22date%5C%22%2C%5C%22useLatestAssetDateAsReleaseDate%5C%22%3Afalse%2C%5C%22releaseTitleAsVersion%5C%22%3Afalse%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22%5C%22%2C%5C%22appAuthor%5C%22%3A%5C%22%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22allowInsecure%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22%5C%22%2C%5C%22refreshBeforeDownload%5C%22%3Afalse%7D%22%2C%22overrideSource%22%3Anull%7D)
[](https://github.com/flow-mn/flow/releases/latest)
> You can build and run for Linux and macOS. Haven't tested Windows yet[^2]
## Supercharge Flow with Eny: AI receipt parser
I also made an AI-based receipt parser. Snap a photo of your receipt (yes, inside Flow), and it'll be added. Check it out at
## Features
* Simple UX helping you efficiently track your finances
* Infinite accounts and currencies (including various cryptos)
* Categories, tags, file attachments, geo tagging (optional)
* Reflect on your spendings
* Fully-offline[^1]
* Full control over your data
* No trackers, no analytics
* Fully recoverable backups (ZIP/JSON)
* Export CSV, PDFs
* Periodic auto-backups to iCloud
* Absolutely free ([please donate 🥺](#support-flow))
* [URI-based automation](#uri-based-automation)
## URI-based automation
You can add one or more transactions using `flow-mn` schema uris.
Check out the supported [JSON Schema file in schemas folder](./schemas/programmable-object.json).
Currencies are based on the account, so there's no way to specify it at the moment.
### Adding single transaction
When adding single transactions, properties must be provided as query params.
```json
{
"title": "Tous les jours",
"amount": 42000.00
}
```
turns into:
```plain
flow-mn:///transaction/new?title=Tous+les+jours&amount=42000.00
```
### Adding multiple transactions
When adding multiple transactions, you must provide stringified version of the following as "json" query param.
```json
{
"t": [
{
"title": "Fresh blueberry piece",
"amount": "13000.00",
"transactionDate": "2011-12-05",
"category": "Food",
"tags": "My fave cafe",
"accountUuid": "faa6d523-277f-46af-9493-67768e5b48ab",
},
{
"title": "Caffe Mocha ice",
"amount": "10000.00",
"transactionDate": "2011-12-05",
"category": "Drinks"
}
]
}
```
turns into
```plain
flow-mn:///transaction/new?json=%7B%22t%22%3A%5B%7B%22title%22%3A%22Fresh%20blueberry%20piece%22%2C%22amount%22%3A%2213000.00%22%2C%22transactionDate%22%3A%222011-12-05%22%2C%22category%22%3A%22Food%22%7D%2C%7B%22title%22%3A%22Caffe%20Mocha%20ice%22%2C%22amount%22%3A%2210000.00%22%2C%22transactionDate%22%3A%222011-12-05%22%2C%22category%22%3A%22Drinks%22%7D%5D%7D
```
## Development
Please read [Contribuition guide](./CONTRIBUTING.md), and
[Code of Conduct](./CODE_OF_CONDUCT.md) before contributing.
### Prerequisites
* [Flutter](https://flutter.dev/) (latest stable)
Other:
* JDK 11 or later if you're gonna build for Android
* [XCode](https://developer.apple.com/xcode/) if you're gonna build for iOS/macOS
* To run tests on your machine, see [Testing](#testing)
Building for Windows, macOS, and Linux-based systems requires the same
dependencies as Flutter. Read more on
### Testing
If you plan to run tests on your machine, ensure you've installed ObjectBox
dynamic libraries.
Install ObjectBox dynamic libraries[^3]:
`bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-dart/main/install.sh)`
Run tests with: `flutter test`
## Support Flow
Flow is a personal project developed during my free time, and it generates no
income. Consider helping Flow! Here are some suggestions:
* Give a star on [GitHub](https://github.com/flow-mn/flow)
* Leave a review on [Google Play](https://play.google.com/store/apps/details?id=mn.flow.flow)
and [App Store](https://apps.apple.com/mn/app/flow-expense-tracker/id6477741670)
* Tell a friend
* [Buy me a coffee](https://buymeacoffee.com/sadespresso)
Maintaining Flow on the App Store requires a substantial annual fee
(see [Apple Developer Program](https://developer.apple.com/support/enrollment/#:~:text=The%20Apple%20Developer%20Program%20annual,in%20local%20currency%20where%20available.)),
which [I currently cover](https://github.com/sadespresso). To ensure Flow's
continued existence and future development, your support is greatly appreciated.
Thank you to all the contributors, supporters, testers, and those who contributed indirectly 🤍
## List of supported languages
* Arabic - thanks to [Ultrate](https://github.com/Ultrate)
* English
* French (France)
* German (Germany) - thanks to [MarkusWangler](https://github.com/MarkusWangler)
* Italian (Italy) - thanks to [albertorizzi](https://github.com/albertorizzi)
* Mongolian (Mongolia)
* Russian (Russia)
* Spanish (Spain)
* Turkish (Turkiye) - thanks to [NoRiskNoViski](https://github.com/NoRiskNoViski)
* Ukranian (Ukrain)
* Czech (Czechia) - thanks to **Miloš Koliáš** through email
> See [Translation guide](./CONTRIBUTING.md#translating) if you want to make
> Flow available to your language
[^1]: Flow requires internet to download currency exchage rates. Only necessary
if you use more than one currencies
[^2]: Will be available on macOS, Windows, and Linux-based systems, but no plan
to enhance the UI for desktop experience for now.
[^3]: Please double-check from the official website, may be outdated. Visit
(make sure to choose Flutter to see the script).