The author has a weird take on zero based budgeting [0]. To me it seems like a distinction without a difference. I never did try Firefly because at first it wasn't very mature and then later I found Actual Budget, which is (or at least was) perfect. (I haven't transitioned to the open source version yet, so I'm not sure if they broke it.)
I have been using the self-hosted ActualBudget for ~6 months and found it mostly perfect. The mobile version of the site is not complete but it's at least usable for managing transactions. The only drawback is no user accounts, but you can have multiple budgets.
I was originally on YNAB4, and then financier.io for ~2 years.
With Mint being deprecated, I’ve been looking for something to replace it. I know there are a number of paid alternatives, but it seems like they all are missing at least one or two things that I liked about Mint.
Is there an OSS option that comes close? Seems like the biggest hurdle is finding one that is close to reliable when authenticating with other sites (and able to adapt to changes they make, 2FA, etc.).
I guess the good news is that most of the ones I use are fairly popular/big (e.g. Vanguard, Ally, Schwab, etc.). But I have a couple loans (home, car) tied into smaller institutions.
EDIT: related, a recent thread on Mint alternatives that I had missed:
After reading the comments in this thread I may consider open sourcing my side project porkybank.io. You can check out an example here: https://porkybank.io/example/overview
It's a simple daily budgeting app I put together for my wife and I to help us be more cognizant of our daily spending. Upvotes count as interest.
Actual Budget was a startup that didn't work out, so the founder open-sourced it. It's self-hosted at the moment (I think there are some 3rd parties you can spin up an instance on). My big hangup with it had been that it didn't automatically sync, but that's been fixed in NA and Europe (SimpleFin, a Plaid sync extension is in the works)
This is more a budgeting tool than a Financial analytics tool, but it'll sort and filter the data, and report features are being built out (They exist in the 'experimental' section)
Are there any good paid ones, even, for Canadian institutions specifically?
We have 4 credit cards and two chequing accounts plus mortgage etc at different institutions. It would be worth some small amount of money for me, especially for a desktop not SaaS solution, to get a unified view I can categorize, filter, sort, graph, etc.
Bank of America has/had a setup to integrate all your accounts in one.
IIRC, it had some caveats like it could only be viewed or edited on desktop. Now it’s called “my financial picture” accessible on mobile. All of my account links are broken but it worked at one time and probably could again with some work. It was nice to be able to use one service to find a transaction or pending transaction I couldn’t remember how I paid for.
The founder of Maybe[0] oss’d it recently and they’re working towards making it easy to self host. Seems like it could end up being a fairly modern SaaS level open core alternative.
I've been using Firefly iii for about 3 years now. I use it with Waterfly iii [1] so anytime I get an SMS or notification from my bank about any kind of transaction, Waterfly automatically parses text from the notification and auto-fills transaction details like the amount, transaction title and date.
Makes it super easy to maintain proper history since you can instantly create transactions from your phone.
I mostly note down my transactions from my phone and https://moneymanagerapp.com/ has been working great for me.
It does let you start a webserver from your phone and use it on your desktop if you really have to, but the workflow is not ideal. It also does would not work if you need to track expenses of multiple people or want to automatically import expenses from your bank. It does allow you to export your data though. Backup and restore can be done via Google Drive.
Not OSS, and also paid(one time), but was totally worth it for me.
Does actual support tracking assets in different currencies and split transactions? I'm hacking together a tool for myself that fits my needs, but I'd really be in the market for something that could replace gnucash or beancount for me
Any recommendations for a self-hosted finance tracker that supports multiple users who share bank accounts? I don’t think I need a budgeting tool? Ideally, what I want is a simple to use tool that will let me add my expenses, categorize them, and view breakdowns of where I’ve spent money each week/month/year. Does firefly work well for that?
Looks good! However, if you need multi-currency support, I'd recommend checking out HomeBank.
Multi-currency is one of those weird things, where if you actually need it your options are much more limited, but it also feels weird to keep asking financial software developers to keep implement a niche-ish feature. Anyway, it's good to have options.
My biggest gripe with my Firefly workflow is how difficult it is to automatically handle Amazon orders. I’ve setup rules to automatically organize/label the various types of transactions that I export from banks to CSVs, but having to break down Amazon orders is a tedious nightmare. If anyone has any ideas for how to automate this, please share. One idea is to have Puppeteer just open the order page and get the invoice, but that doesn’t seem to secure to me, even if it’s on machine.
For Amazon orders in GnuCash, I've been idly thinking about making a browser plugin that scrapes the Amazon order page, since that's less likely to be cut off than a standalone scraper is.
How I'm currently manually doing Amazon orders in GnuCash is I go to the register for account "Liabilities > Credit Cards > Chase-CC-1234", and add a transation with description, say, "2024-02-16 Amazon order 113-1234567890-987654 (bobs red mill, soy curls, yaktrax)", with a split for each item and for each payment method used (credit card, CC rewards, gift balance).
I keep the order date in the transaction description so that the GnuCash date can be the date that the CC is charged. If Amazon splits the shipment and does multiple CC charges (potentially on very different dates), so that GnuCash reflects those dates, I'm currently duplicating the transaction in GnuCash, and then editing the splits in the original and the duplicate to match the CC charges and what they're for. And each transaction description gets a "#1", "#2", etc. added after the Amazon order number.
One upside of the manual process is that the work is negative feedback for spending money. :)
I'm a 5y user of Firefly-III, and was very happy with it. Unfortunately, JC5, I discovered Actual recently.
It's not that FIII is bad at was it was doing, but simply Actual was a bit faster, a bit simpler, a bit more practical to use when importing. I'm mostly using rules, categories and reporting.
I tried Firefly for a year but I could not find a nice workflow with it.
It was a maintainability nightmare. Needed to run 2 instances for my girlfriend and myself. A third instance I think for automatic imports from my bank.
Every 2/3 months whenever the integration with the Spectre API needed to be reauthorized another docker container had to be ran just to hit a reauthorize button. And then it was a battle with duplicate transactions which I could manage to fix but I could never make my girlfriend understand.
Then there was weird philosophy on incoming money in a category. Let's say you have a €200 diner with 3 friends. You pay the whole bill and get €150 back from your friends later. Firefly would tell you you spend €200 euros on restaurants instead of just €50.
I've been testing out ActualBudget and was looking at setting up Firefly III but i understand that its a different type of solution to finance. I love the idea of personal finance and opensource vs having our information passed through 3rd parties.
After a day of trying to get it to work at all (tried through both the docker thing and the non-docker thing) and finally getting it to work. Then, the nexy time I try to start it, shit being broken again, I rage quitted and switched to hledger. I'm sure it is easy if you are in the webdev/devops world though.
Help me understand, I must be dumb. If people seem to value privacy and security more so that they don't trust their data hosted at a third party, why are many of these are self-hosted Web apps as opposed to a simple desktop application?
I'm not just talking about this particular one, just in general on the idea of replacing SaaS (like Mint) with self-hosted. What is self-hosting buying here? If it's installed on the local, it's a waste of resources and development time, if it's hosted on a third party hoster we're back to somebody holding user's data.
Is this simply because people are so used to building Web apps that they use them everywhere?
(Yes you can file it under "old man yelling a the sky" category, I'm still on Quicken 2016 personally :) )
I haven't done desktop UIs in a while, but my experience is that html and css work really well for UI, and there are a ton of competing desktop UIs that all have their own issues. Last time I tried making a desktop UI, I definitely preferred html over it.
I wouldn't be surprised if there were a lot more web devs than native devs, too.
And finally, if you have something you want centralized, it's generally a lot easier to just have a web server than setting up some kind of system to sync the data between different computers. For finances, I could see wanting to use it on both mobile and desktop on a daily basis. That makes web a lot more desirable.
1) People learned to build web apps for other reasons - their job, other projects that were multi-user, etc. Now they're comfortable working in that language and deployment model
2) They can access it from multiple places. I can view it whether I'm on my desktop, laptop, phone, tablet, etc.
3) If their laptop gets stolen or destroyed, they don't have to worry about having lost the data. (3rd party syncing solutions put you back in the 'my financial data is now on someone else's server)
4) If you have other self-hosted apps, you can double (triple, etc.) up on things running on your web server, database, etc.
5) I can back up all my self-hosted apps by backing up my database and config files, instead of worrying about how each individual app stores the information, etc. I know I can dump or replicate a database. It's something I've been doing for decades.
6) If I need something to be highly available, this is something well understood for web apps. I know how to set up multiple databases and handle failovers. I've been doing it for decades.
7) I understand how to model performance in web applications. I know well how to tune nginx, php-fpm, postgres, etc. I know how to trace requests through them. I know how to debug issues with them. This is all heavily standardized. The same can't be said for desktop applications.
I'm sure there's a dozen more I'm not thinking of off the top of my head, too.
The short of it is that nobody has cracked the free cross-OS problem in the same way as electron has. Lazarus requires pascal and is unattractive. JavaFX, afaik, still requires a jvm download to use, and the documentation is minimal. QT is expensive for anything that isn't OSS, and the tools are minimal if you are on the free plan. Most of the rest require C++ and most don't have a great default visual design.
Electron has great documentation and we have a great variety of ready-to-use js widgets.
I really don't like this pattern either, but every time I've gone to trying to build a desktop app I get stuck in the mud. (I used JavaFX last time and got far enough to be usable, but I'd go to Electron if I wanted to have something to distribute.)
If this can even just barely compete with LunchMoney, I'll happily spend 5x what I spend on LM on monthly donations to Firefly III. I love LunchMoney, but hate using closed source software especially for such things as my financial data/insight.
edit: demo is impressive enough, 20euro/month donation setup. Rock on folks, this is neat.
I self host it since Mint shutdown. It obviously doesnt have automatic integrations with financial institutions so you need to export/import manually or frankenstein your own automation.
There are a lot of things it does that I dont use. I am mostly there for spending visualization. It does that well, but it takes a lot of clicks to setup categorization rules, but once its done things happen automatically.
Its just a few minutes work to get it setup on docker. And i think it has a demo site that you can look around on to see what tools it has.
Its not perfect. But its good enough for me, for now.
I have been using for years now. I don't have big requirements for a personal finances software. I mainly use it for cataloging my expenses so I can have a overview to where my money goes. I created a script that pushes my bank account export and have a series of rules to tag it automatically[1] and that is it.
And for what I use it just works. I don't have any complains, docs are good, plenty of tutorial available and it is easy enough to setup and update (I don't use docker for it). I can't ask more of a software tbh.
I've been using Firefly-III for over three years now. What I'm contemplating to write is a quick util which would auto-import transactions from my emails.
I've been looking through the repository on GitHub and I for the life of me can't figure out where the SQL code is. How is the database created? What do the tables look like? I've never looked at a php codebase before, I'm quite lost. I'm guessing this is using some ORM provided by Laravel?
[+] [-] zargon|2 years ago|reply
[0] https://docs.firefly-iii.org/explanation/firefly-iii/backgro...
[+] [-] JC5|2 years ago|reply
[+] [-] mdhowle|2 years ago|reply
I was originally on YNAB4, and then financier.io for ~2 years.
[+] [-] jader201|2 years ago|reply
Is there an OSS option that comes close? Seems like the biggest hurdle is finding one that is close to reliable when authenticating with other sites (and able to adapt to changes they make, 2FA, etc.).
I guess the good news is that most of the ones I use are fairly popular/big (e.g. Vanguard, Ally, Schwab, etc.). But I have a couple loans (home, car) tied into smaller institutions.
EDIT: related, a recent thread on Mint alternatives that I had missed:
Ask HN: Alternative to Mint.com?
(9 days ago, 44 votes, 71 comments)
https://news.ycombinator.com/item?id=39275231
[+] [-] plondon514|2 years ago|reply
It's a simple daily budgeting app I put together for my wife and I to help us be more cognizant of our daily spending. Upvotes count as interest.
[+] [-] sircastor|2 years ago|reply
This is more a budgeting tool than a Financial analytics tool, but it'll sort and filter the data, and report features are being built out (They exist in the 'experimental' section)
https://actualbudget.org/
[+] [-] NikolaNovak|2 years ago|reply
We have 4 credit cards and two chequing accounts plus mortgage etc at different institutions. It would be worth some small amount of money for me, especially for a desktop not SaaS solution, to get a unified view I can categorize, filter, sort, graph, etc.
[+] [-] instagib|2 years ago|reply
IIRC, it had some caveats like it could only be viewed or edited on desktop. Now it’s called “my financial picture” accessible on mobile. All of my account links are broken but it worked at one time and probably could again with some work. It was nice to be able to use one service to find a transaction or pending transaction I couldn’t remember how I paid for.
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] BryanLegend|2 years ago|reply
[+] [-] bberenberg|2 years ago|reply
0 - https://github.com/maybe-finance/maybe
[+] [-] zacmps|2 years ago|reply
[+] [-] rc_mob|2 years ago|reply
[+] [-] Roadeo|2 years ago|reply
Makes it super easy to maintain proper history since you can instantly create transactions from your phone.
[1] https://github.com/dreautall/waterfly-iii
[+] [-] meain|2 years ago|reply
It does let you start a webserver from your phone and use it on your desktop if you really have to, but the workflow is not ideal. It also does would not work if you need to track expenses of multiple people or want to automatically import expenses from your bank. It does allow you to export your data though. Backup and restore can be done via Google Drive.
Not OSS, and also paid(one time), but was totally worth it for me.
[+] [-] dorbodwolf|2 years ago|reply
[+] [-] mr-karan|2 years ago|reply
[+] [-] leononame|2 years ago|reply
[+] [-] BOOSTERHIDROGEN|2 years ago|reply
[+] [-] Alifatisk|2 years ago|reply
[+] [-] hysan|2 years ago|reply
[+] [-] plondon514|2 years ago|reply
[+] [-] optimal-choices|2 years ago|reply
Multi-currency is one of those weird things, where if you actually need it your options are much more limited, but it also feels weird to keep asking financial software developers to keep implement a niche-ish feature. Anyway, it's good to have options.
https://www.gethomebank.org/en/index.php
[+] [-] snvzz|2 years ago|reply
How does this compare?
[+] [-] sanjeetsuhag|2 years ago|reply
[+] [-] neilv|2 years ago|reply
How I'm currently manually doing Amazon orders in GnuCash is I go to the register for account "Liabilities > Credit Cards > Chase-CC-1234", and add a transation with description, say, "2024-02-16 Amazon order 113-1234567890-987654 (bobs red mill, soy curls, yaktrax)", with a split for each item and for each payment method used (credit card, CC rewards, gift balance).
I keep the order date in the transaction description so that the GnuCash date can be the date that the CC is charged. If Amazon splits the shipment and does multiple CC charges (potentially on very different dates), so that GnuCash reflects those dates, I'm currently duplicating the transaction in GnuCash, and then editing the splits in the original and the duplicate to match the CC charges and what they're for. And each transaction description gets a "#1", "#2", etc. added after the Amazon order number.
One upside of the manual process is that the work is negative feedback for spending money. :)
[+] [-] ibash|2 years ago|reply
It’s fairly detailed. One issue is that matching refunds to line items can be ambiguous.
I have a side project that does a best effort match, when I get around to completing it I’ll publish it. If you build it before me please share :)
[+] [-] smcleod|2 years ago|reply
[+] [-] dabeeeenster|2 years ago|reply
[+] [-] Fiahil|2 years ago|reply
It's not that FIII is bad at was it was doing, but simply Actual was a bit faster, a bit simpler, a bit more practical to use when importing. I'm mostly using rules, categories and reporting.
[+] [-] roccomathijn|2 years ago|reply
It was a maintainability nightmare. Needed to run 2 instances for my girlfriend and myself. A third instance I think for automatic imports from my bank.
Every 2/3 months whenever the integration with the Spectre API needed to be reauthorized another docker container had to be ran just to hit a reauthorize button. And then it was a battle with duplicate transactions which I could manage to fix but I could never make my girlfriend understand.
Then there was weird philosophy on incoming money in a category. Let's say you have a €200 diner with 3 friends. You pay the whole bill and get €150 back from your friends later. Firefly would tell you you spend €200 euros on restaurants instead of just €50.
Happily back to Ynab now.
[+] [-] gidorah|2 years ago|reply
There is literally no other accounting software that works like this.
[+] [-] tamiral|2 years ago|reply
[+] [-] lencastre|2 years ago|reply
/asking for a friend who used msmoney back in the day
[+] [-] TT-392|2 years ago|reply
[+] [-] octobus2021|2 years ago|reply
I'm not just talking about this particular one, just in general on the idea of replacing SaaS (like Mint) with self-hosted. What is self-hosting buying here? If it's installed on the local, it's a waste of resources and development time, if it's hosted on a third party hoster we're back to somebody holding user's data.
Is this simply because people are so used to building Web apps that they use them everywhere?
(Yes you can file it under "old man yelling a the sky" category, I'm still on Quicken 2016 personally :) )
[+] [-] wccrawford|2 years ago|reply
I wouldn't be surprised if there were a lot more web devs than native devs, too.
And finally, if you have something you want centralized, it's generally a lot easier to just have a web server than setting up some kind of system to sync the data between different computers. For finances, I could see wanting to use it on both mobile and desktop on a daily basis. That makes web a lot more desirable.
[+] [-] cthalupa|2 years ago|reply
1) People learned to build web apps for other reasons - their job, other projects that were multi-user, etc. Now they're comfortable working in that language and deployment model
2) They can access it from multiple places. I can view it whether I'm on my desktop, laptop, phone, tablet, etc.
3) If their laptop gets stolen or destroyed, they don't have to worry about having lost the data. (3rd party syncing solutions put you back in the 'my financial data is now on someone else's server)
4) If you have other self-hosted apps, you can double (triple, etc.) up on things running on your web server, database, etc.
5) I can back up all my self-hosted apps by backing up my database and config files, instead of worrying about how each individual app stores the information, etc. I know I can dump or replicate a database. It's something I've been doing for decades.
6) If I need something to be highly available, this is something well understood for web apps. I know how to set up multiple databases and handle failovers. I've been doing it for decades.
7) I understand how to model performance in web applications. I know well how to tune nginx, php-fpm, postgres, etc. I know how to trace requests through them. I know how to debug issues with them. This is all heavily standardized. The same can't be said for desktop applications.
I'm sure there's a dozen more I'm not thinking of off the top of my head, too.
[+] [-] ebiester|2 years ago|reply
Electron has great documentation and we have a great variety of ready-to-use js widgets.
I really don't like this pattern either, but every time I've gone to trying to build a desktop app I get stuck in the mud. (I used JavaFX last time and got far enough to be usable, but I'd go to Electron if I wanted to have something to distribute.)
[+] [-] k8svet|2 years ago|reply
edit: demo is impressive enough, 20euro/month donation setup. Rock on folks, this is neat.
[+] [-] pcthrowaway|2 years ago|reply
[+] [-] tdotdev|2 years ago|reply
There are a lot of things it does that I dont use. I am mostly there for spending visualization. It does that well, but it takes a lot of clicks to setup categorization rules, but once its done things happen automatically.
Its just a few minutes work to get it setup on docker. And i think it has a demo site that you can look around on to see what tools it has.
Its not perfect. But its good enough for me, for now.
[+] [-] gabrielgio|2 years ago|reply
And for what I use it just works. I don't have any complains, docs are good, plenty of tutorial available and it is easy enough to setup and update (I don't use docker for it). I can't ask more of a software tbh.
[1]: https://docs.firefly-iii.org/how-to/firefly-iii/features/rul...
[+] [-] 2cynykyl|2 years ago|reply
[+] [-] rounakdatta|2 years ago|reply
[+] [-] the_mungler|2 years ago|reply