15 ms·
Firefly III – Self-hosted financial manager
- grzesieksocha 7y agoGreat! Finally I'll be able to move my data from the old YNAB version to a more reliable place :)
- canadev 7y agoThanks for the link. What's the username and password for the demo site?
- duiker101 7y agoWow, this is all I ever wanted. A self hosted PHP based financial manager with a good interface and an API. I am SO excited. I'm going to throw it on my server instantly. It seems to also have a lot of features! This is great! Thanks!
- not_a_cop75 7y agoWhy is a self hosted financial manager your dream come true? I assume sharing financials to others is everyone elses's nightmare.
- oarsinsync 7y agoThe success of cloud hosted products like YNAB suggests many people have no issue with sharing financials.
- shifto 7y agoI think YNAB's popularity comes from the stand-alone desktop version which was really popular until they went cloud.
- newspheasant 7y agoI'd have to disagree with you. There's tons of people who use them as a mobile-first service (my wife only ever uses the mobile app). I think a subset of tech/privacy savvy people don't like that they went to a cloud based model, but that's a small subset of a small subset.
- oarsinsync 7y agoMint is another example of a popular financial management tool, that was always cloud-first. It would import transactions by using the same credentials you would use to login to online banking. This wasn't appealing to me. This didn't deter many other people.
- aeorgnoieang 7y agoI didn't like sharing my credentials either but I was using it – until it stopped working for most of my accounts. I've since stopped using even the 'manual import' and I've found that reconciling to my bank/financial-company statements manually is much easier overall as importing auto-reconciled transactions but then it was basically impossible to then match any specific balance reported by the bank/financial-company.
- not_a_cop75 7y agoTo be fair, Mint was a mistake. It was always a mistake. Being ahead of hackers' time, it was successful. This is the only reason.
- Kovah 7y agoCan highly recommend Firefly. Used for a while and it is really powerful, impressive work has been done here. What bothers me (too much) as a former YNAB-user is the limited budget planning view. But the dev already has this on his to-do list.
- martin-adams 7y agoI'm a current YNAB user find it hard to use any other financial manager software because they only seem to record what happened and not plan for the future. What made you leave YNAB if you don't mind me asking? In additional to my personal finances, I currently use Xero for my business, but I also run everything through YNAB as well to actually know the health of my business and how much money I'm making. The book "Profit First" made a lot of sense through a YNAB approach.
- Kovah 7y agoI feel you. I spent countless hours trying to find a suitable YNAB replacement, but there is none. I want to see what is possible, not was has happened to my money. I am about to leave YNAB because I am using version 4 (standalone software) which is 32-bit only. My main machine is a Mac so I won't be able to use the software with the next major version. Also, I do not want to use the new YNAB web-based app because the privacy policy is contradictory and their subscription offer is just shitty. Currently I am using Outbank, which is more like a banking app but has automatic categorization which is quite cool, and you can define budgets. Still, no suitable replacement. I really hope for Firefly to take off with a powerful budget planning somewhere in the future.
- martin-adams 7y agoThanks. Makes sense and really appreciate you clarifying.
- aeorgnoieang 7y agoI feel your pain – but I'm a happy YNAB user and I've only ever 'known' the web version. (I'm aware of the desktop versions.) I don't use the auto-import features anymore – they never worked consistently with all of my financial providers and I've found that manually reconciling is much better anyways. Given how awesome YNAB is for me managing my finances, I'm more than happy to pay the subscription.
- a254613e 7y agoHas anyone here successfully migrated from GnuCash to Firefly III? How does it compare long term? GnuCash is amazing features wise, but the UI and cross platform compatibility is subpar at best. And more importantly is it possible to import data from GnuCash? Last time I tried it I failed.
- BuildTheRobots 7y agoWhat are the GnuCash issues with cross-platform? We used to use it via dropbox on mac, linux and windows and never hit any obvious problems. The UI however...
- a254613e 7y agoI can't get it to use en_US for interface but de_DE for dates/currencies across all platforms. Because GnuCash insists on reading these settings from locales, and I can't get it right to save my life. So it'll see a comma when I open the file on windows and just report an error. Right now I'm considering running it in on my server and then connecting to it somehow from all the different platforms.
- deleted 7y ago[deleted]
- bsznjyewgd 7y agohttps://wiki.gnucash.org/wiki/Locale_Settings#Changing_the_Language_on_Windows https://wiki.gnucash.org/wiki/Locale_Settings#Changing_the_L... See the part about adding an environment file on Windows. On Linux, I set my LANG to en_US.UTF-8 but all the LC_* variables (apart from LC_ALL) to en_CA.UTF-8 and that gets me the right UI/formats mix in GnuCash (and also Chromium, which tries to speak British to me otherwise), and hopefully that works on Windows too.
- mih 7y agoI did make an attempt to switch from GnuCash to Firefly III, but had to switch back. As loathed as the GnuCash GUI is, Firefly III simply did not come close to the speed with which I could enter transactions in bulk via the keyboard. Plus, I was too used to GnuCash's data model and way of doing things. The reason I was drawn to FF III in the first place was because of its aesthetic appeal and visualization features. The graphing and reporting abilities of GnuCash are not to my taste. After some time, I settled down to converting from Gnucash to Ledger using PieCash (https://github.com/sdementen/piecash https://github.com/sdementen/piecash), and visualizing the ledger file using LedgerWeb (https://vifon.github.io/ledger-web/ https://vifon.github.io/ledger-web/). A bit of a workaround, but can be scripted and works fine for me.
- lethologica 7y agoMinor tangential gripe but hamburger menus on desktop are rather annoying. I have a large screen, please make use of it and don't hide important elements away behind a button!
- JC5 7y agoI'm working on a new layout which wouldn't feature such a menu. Tabler IO, you can Google it.
- mehalter 7y agoHow is this development going? I am a long time Firefly-iii user, and am excited for this UI update and would love to follow the progress!
- JC5 7y agoIt's frozen at the moment. I need to develop a way-of-working where I can work on v1 and v2 at the same time. That is a headache. And my Vue skills are non-existent so it's a bit of a learning curve. But I hope to push something to develop soon :)
- xfitm3 7y agoUnless it can pull transactions from my bank this isn't very helpful. It looks like it can't. I have far too many accounts+transactions to do by hand.
- driminicus 7y agoI export transactions from my bank CSV and import it into firefly, which works fine for my usecase.
- xfitm3 7y agoI manage too many accounts – but yeah, I can see how thats helpful for some.
- crummy 7y agoIt can, if your bank supports Spectre (which apparently is a common API service for banks). It's a bit awkward, you have to sign up for a third party to do it, but worked well for the three months or so I used Firefly. Here are the docs: https://docs.firefly-iii.org/en/latest/import/spectre.html https://docs.firefly-iii.org/en/latest/import/spectre.html (For what it's worth, now I use Pocketsmith, a NZ-made Mint clone that I'm pretty happy with.)
- a254613e 7y agoWorks directly with banks too via FinTS - https://docs.firefly-iii.org/en/latest/import/fints.html https://docs.firefly-iii.org/en/latest/import/fints.html
- TeMPOraL 7y agoSpeaking of which, does anyone know if EU's PSD2 will finally allow me to read the balance of my own bank account via an API, or do I have to subscribe to whatever fly-by-night ad-driven SaaS that'll get a deal with the banks and scrap their site? I'm not trying to scrap bank sites, even though I could, because a) it's a PITA to get through the increasing amount of login hoops they deploy, and b) I don't want to risk even a small chance that they'll lock me out of access to my own money because I "hacked" their site.
- dddddaviddddd 7y agoI recently switched over to Firefly III as a long-time Mint user unsatisfied with privacy issues and many feature limitations. I also like that Firefly encourages manually inputting transactions to improve mindfulness about expenses, rather than importing them automatically which in my opinion makes the information less actionable.
- XorNot 7y agoHad this running for a bit, tried a mass data import, managed to get it pretty quickly wedged into an inconsistent database state. Dropped it.
- brechmos 7y agoQuick glance and I got excited that maybe Joss Whedon was going to be able to create another series based on Firefly.
- xvilka 7y agoWould be nice to have something like that but in Go, so deployment would be way easier on all platforms.
- JustSomeNobody 7y agoWhat platforms don't support PHP that do support Go?
- grenoire 7y agoYou get immediate executables through Go. PHP, on the other hand, requires fifty packages and your sister's phone number before you get segmentation faults from the caching script and give up.
- vorpalhex 7y agoDocker/containerd is your friend, especially if you don't want to maintain a LAMP stack and try to match php versions.
- beatgammit 7y agoAnd Go is even similar. Instead of having to deal with docker/docker-compose, I can just put an executable somewhere. If I have multiple apps, I just set up a reverse proxy through my web server and I'm done. It's a bit telling that I essentially need to run a docker container for something so simple. Statically compiled binaries are super simple to use.
- grenoire 7y agoWhen dealing with contractors, it's impossible not to maintain a LAMP stack. Often times I don't get to choose the technology I have to deploy, and it's not fun when I get to wrestle with PHP. Luckily the contractors' time spent fixing their deployment instructions is billable for me.
- TeMPOraL 7y ago
- sigmos 7y agoHave know this a while ago, it’s definitive for someone who needs to manage their financial.
- Bombthecat 7y agoOnly thing I miss or can't find is joined account /login. So we see who entered what in transactions.
- lighthazard 7y ago> The ability to share a financial administration with your partner or significant other. Unfortunately, this requires a large change in Firefly III’s architecture and functionality. As an alternative, you could share the login details with each other.
- claudius 7y agoI have moved to Firefly III last year from the "My Expenses" app. Very happy so far, even though I don't use (and hide via uBlock) all the Budget-related items. Updating is a bit annoying as there are no Debian packages and one has to essentially re-install from scratch on each update, but everything else is working perfectly well. Categorising expenses allows for easy monthly reports on shared expenses, too.
- JC5 7y agoTry using the docker images, that makes for a pretty flawless upgrade experience.
- andreareina 7y agoI admittedly haven't been looking for better, but the "double-entry lite" systems I've seen kinda miss the mark a bit. - Source/destination (as used here) is awkward when transactions have more than one split: at best there's a single source/destination which is entered multiple times and you need to make sure the splits add up right (and that single $50 charge to your credit card doesn't show up that way in the register); at worst you have an m:n split. - Simple plus/minus without debits and credits (à la hledger, which I am otherwise quite happy about) runs into situations like: I increase my liabilities (e.g. by paying by credit card) by subtracting from the account?!? I think if you're going to use a GUI then going full debit/credit isn't hard, I got up and running with Quickbooks pretty quickly and GNUCash seems about the same. EDIT: I don't mean to downplay the accomplishments of the authors of any of the software mentioned, like I said I'm a happy user of hledger and Firefly III looks pretty polished from what I saw of the demo. This is really meant to be more of a meta-comment around the idea that bookkeeping is hard and double-entry debit/credit is doubly so.
- 0xcde4c3db 7y ago> I increase my liabilities (e.g. by paying by credit card) by subtracting from the account?!? Maybe I'm just inured to the convention, but this makes perfect sense to me. You subtract money from any other account you pay from. At a sufficiently abstract level, paying by credit card is the same thing as overdrawing your checking account. You need to add money to get the balance back to zero.
- TeMPOraL 7y agoMakes perfect sense to me too. Credit cards aren't money you have, they're money you can borrow. Paying by credit card is borrowing money. Paying a credit card back means it should show in your system at $0. If your bank shows it at some positive $, that's just convenient financial fiction. (And possibly dangerous fiction. I think a big part of the way people get in trouble with credit cards is by thinking their credit line is "the money they have", instead of "money they can borrow really fast".)
- 7y ago
- dragonsh 7y agoIt's a nice system in PHP. There are quite a few of them. Like ledger-cli [1] in C++ and emacs lisp, hledger [2] in Haskell and beancount [3] with fava [4] in python. We used ledger-cli and beancount with fava and built automatic creation of accounting entries using machine learning and Bayesian alogrithms by analyzing bank and credit card statements. You can use powerful icsv2ledger [5], smart importer [6] and the awesome list [7] to get importers for various banks and other utilities. [1] https://www.ledger-cli.org/ https://www.ledger-cli.org/ [2] https://hledger.org/ https://hledger.org/ [3] http://furius.ca/beancount/ http://furius.ca/beancount/ [4] https://beancount.github.io/fava/ https://beancount.github.io/fava/ [5] https://github.com/quentinsf/icsv2ledger https://github.com/quentinsf/icsv2ledger [6] https://github.com/beancount/smart_importer/blob/master/README.rst https://github.com/beancount/smart_importer/blob/master/READ... [7] https://github.com/siddhantgoel/awesome-beancount/blob/master/README.md https://github.com/siddhantgoel/awesome-beancount/blob/maste... Note: corrected the entry for ledger-cli, its primarily written in C++ with some emacs lisp scripts.
- sexisfun 7y agoWho is we?
- Fnoord 7y agoThe reason I use Firefly III is because it supports the Bunq API. It is much more convenient than manually importing CSVs. Great list though!
- neo1691 7y agoI have been looking for something like this for sometime. Right now I'm using YNAB with manual imports from bunq csv exports but I will give it a try and try out the bunq integration with firefly. Does Firefly also support the features of YNAB, if you know by any chance?
- iajrz 7y agoIt seems they do? Not compoletely polished. https://docs.firefly-iii.org/en/latest/import/ynab.html https://docs.firefly-iii.org/en/latest/import/ynab.html --- EDIT: misread! I don't know about the _features_. They support importing, which doesn't imply supporting the features.
- basilgohar 7y agoI've been eyeing Firefly III myself for managing our family's finances, so I'm glad to see this thread starting and see others' experiences'. In the current day and age of cloud-hosted apps and everything-as-a-service, happy to see some self-hosted love on HN.
- baal80spam 7y agoI think I'm getting old. I just don't understand why this needs a web application and not a desktop one.
- dddddaviddddd 7y agoWhy this is helpful to me: analyze data on desktop, input transactions on the go (on mobile) via web interface or with an app (the API).
- Ajedi32 7y agoIt doesn't need to be a web application. It's just that making it a web application gets you you stuff like mobile support and synchronization between devices basically for free.
- utf985 7y agoWhy is this being downvoted? It's a genuine question and I'm curious about it too.
- wnscooke 7y agoMaybe because it sounds curmudgeonly, without giving much thought to any possible answer. If had been made a Mac app I suppose the OP would say, “Why does this have to be a Mac app?”, or the inverse for a Windows app, more so if it was Linux only. Thinking about these makes it abundantly clear WHY it is a web app... so anyone can use it.
- eXpl0it3r 7y agoWeb apps are nice, because most people have multiple devices nowadays. Having your data located on just one device can be rather annoying. Or having to setup a desktop app and a web server for synchronization isn't as nice either. It also might be, that lots of people don't even know how to create desktop applications anymore, but most will have done something on the web already.
- bityard 7y agoIf you have multiple people managing the money in your household (e.g. marriage), a single desktop application gets awkward in a hurry. Plus a web-based app lets you manage your finances regardless of OS (Windows, Linux, Chromebook) or device (computer, tablet, smartphone) without worrying about whether the author decided to support it or not.
- Summershard 7y agoDoes anybody know a FOSS zero-based budgeting software? GnuCash or Firefly are great double-entry systems, but for personal budgeting I prefer YNAB or Everypocket styles.
- AlanYx 7y agoYou can simulate various forms of envelope budgeting in Ledger (aka. ledger-cli) and the similar projects like hledger. There are quite a few of blog/forum posts out there that help explain how to do this. If you're specifically looking to emulate YNAB, there are also some posts that deal specifically with this.
- smichael 7y agoSeveral examples/how-tos are linked at https://plaintextaccounting.org/#budgeting https://plaintextaccounting.org/#budgeting .
- obituary_latte 7y agoThere is at lease one vulnerability in the demo: looks like dev or something is on in the framework. Sending bad input in at least one place exposes debug info with db/api credentials along with other sensitive info. Email in my profile if more detail needed. https://postimg.cc/gallery/2chl5bji2/ https://postimg.cc/gallery/2chl5bji2/ Edit: sent email with details to listed address on landing page.
- juliangoldsmith 7y agoIs there any support for OFX or QFX? Most banks I've dealt with support downloading transactions via QFX, which makes working with GNUCash pretty easy.
- dddddaviddddd 7y agohttps://github.com/firefly-iii/firefly-iii/issues/965 https://github.com/firefly-iii/firefly-iii/issues/965
- zeroonetwothree 7y agoDoesn't support biweekly transactions for some reason?
- JC5 7y agoLike recurring transactions? Just enter weekly and set it to skip 1.
- Dirlewanger 7y agoLost all interest when I saw you need to register an account to demo it
- JC5 7y agoNot necessary. Something broke, you should be fine now.
- adrianmonk 7y agoOn the features page ( https://docs.firefly-iii.org/en/latest/about/features.html https://docs.firefly-iii.org/en/latest/about/features.html ), it says it can import data from "CVS files". Does it mean CSV files?
- JC5 7y agoIt does, yes. That spelling error should be gone now.
- cthalupa 7y agoI played around with Firefly and was generally impressed, outside of Laravel log verbosity defaults running me out of space on my VM in a quick manner, heh. https://docs.firefly-iii.org/en/latest/import/spectre.html https://docs.firefly-iii.org/en/latest/import/spectre.html was the killer feature, in my mind. Not having to manually enter all of my data myself made it usable. Ultimately I'm lazy so I stopped doing much with it, but if you're interested in it, I highly recommend getting the Salt Edge account to handle importing everything.
- oso2k 7y agoThis looks a heck of lot like a fork of Akaunting [0][1][2]. [0] https://akaunting.com/features https://akaunting.com/features [1] http://www.softaculous.com/demos/Akaunting http://www.softaculous.com/demos/Akaunting [2] https://github.com/akaunting/akaunting https://github.com/akaunting/akaunting
- JC5 7y agoWe use the same layout template but my tool is older and has a lot more features.
- ElijahLynn 7y agoNot one screenshot of the UI in 60 seconds and 3 clicks in...
- ElijahLynn 7y agoTried to login with demo https://demo.firefly-iii.org/login https://demo.firefly-iii.org/login and after submitting just put me back at the same login form with no messaging.
- deleted 7y ago[deleted]
- ElijahLynn 7y agoK, found the error, I speed read `demo@firefly` and entered `demo@firefly.com`. Probably should make both work since there is no failure message showing what was entered.
- JC5 7y agoYeah that’s bloody annoying but I haven’t been able to fix it yet. Laravel, the underlying framework has moved to a new way of reporting login errors and my code hasn’t been adapted yet. Sorry about the confusion.
- ElijahLynn 7y agoW00t, finally found screenshots, not on the docs page, not on the homepage, but on GitHub. https://github.com/firefly-iii/firefly-iii https://github.com/firefly-iii/firefly-iii
- ElijahLynn 7y agoUI looks easy and modern. Might give it a try. I really like my Spreadsheet as it is just simple to see what is going on. And Mint borked our account with bank sync a while ago and never went through the hassle of fixing it with their many round-trip support emails.
- JC5 7y ago
- ElijahLynn 7y agoIs the demo under high load or is it just generally slow responses? 2+ seconds for many operations and graphs take a while to paint (5+ seconds). I am on 200mbit, low latency fiber.
- JC5 7y agoIt’s under high load I’m afraid. It’s a very small instance over at AWS and I’m getting hugged to death.
- ElijahLynn 7y agoGotcha, thanks for confirming. I'll try again post-HN DDoS ;).
- cbsks 7y agoFor something as important as financial management software, it doesn’t inspire confidence that there are ads in documentation. Could they find another way to monetize it?
- JC5 7y agoI don’t have to monetize it. It’s a hobby. But the website provides a good platform to host the docs and I can live with the ads they serve. I assure you they don’t pay me for the ads in the documentation.
- crisnoble 7y agoThis is amazing, and clearly takes a tremendous amount of work, and judging by the comments here provides an invaluable service to many many people. Which makes it somewhat discouraging that when you look at the Patreon link https://www.patreon.com/jc5 https://www.patreon.com/jc5, people support him to the tune of only $27/month. Makes me wonder if my ideas for small scale SAAS could ever possibly be financially viable.
- JC5 7y agoOh well, it’s just a hobby you know? And I guess people who need financial management tools aren’t people looking for more expenses ;) I’m happy with every donation. I use it to pay the AWS bill and maybe get a beer. But make no mistake, a lot of people have donated one-time over PayPal which is greatly appreciated as well.
- crisnoble 7y agoThat's great to hear people have donated over PayPal, and I suppose it is cool that you think of it less like a way to make a living and more like a hobby. Great job!
- rfbrowne 7y agoSweet, that looks great.
- gocartStatue 7y agoIs that Sonata Admin?
- Poiesis 7y agoIf you're still monitoring and have the time @JC5, I was just curious about your data model. I see that there tags, categories, and budgets. I understand the differences between these, and why they are presented as different concepts. How did these different features evolve? Did you have budgets first, then categories/tags? Did you ever consider implementing categories as tags and not having a separate category concept? Just wondering if what you have now evolved from a simpler model (at least fewer concepts—maybe not simpler implementation or mental model), and if so why/how.
- JC5 7y agoI started with budgets and categories. Budgets for the money (I had like five budgets) and as many categories as you want. They are basically the same thing. Max one category/budget per transaction. Tags were added later on by user request. Most users use them to categorize transactions. I don't use them myself. I tried using tags for meta-data like "expensive" or "wasnt worth it" but never bothered to tag everything.
- boardwaalk 7y agoBefore people spend time setting this up: Note this doesn't support any other asset types other than cash. I would assume that most people here have stocks or bonds or something of some type. Most of my assets are investments which makes this fairly useless for me, even if it does look very nice :-(.