Hacker News new | past | comments | ask | show | jobs | submit login
Firefly III: A free and open source personal finance manager (firefly-iii.org)
214 points by thunderbong 11 months ago | hide | past | favorite | 156 comments



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.)

[0] https://docs.firefly-iii.org/explanation/firefly-iii/backgro...


The difference isn't very big, but I honestly (I wrote that page) believe that the difference is worth pointing out.


I struggle to read that page without wanting to ask follow-up questions. I know it's your personal opinion about finance, and I'm not actually expecting you to change your mind from these questions.

However, I'd like to understand how you ended up where you are. How'd you somehow end up so burned by zero-based or envelope-based budgeting? FWIW, I've come from a traditional budgeting method and migrated to a zero-based and both can work.

> But also keep in mind: it's harder to spend less money with zero-based budgeting.

I'd argue the opposite is a problem with traditional budgeting methods: you're budgeting money you don't yet have. Yes, you might get it, but you don't until you have it. More importantly, how? How is it harder to spend less?

> It's harder to get a feeling for your financial situation with zero-based budgeting [..]

What? With envelope-based budgeting the colloquial jobs that your money has must be defined. You have to acknowledge exactly what you have and what you don't have, because you can't play with imaginary money. If you don't have enough money to put aside for rent next month, you know you don't have that money or you're not willing to spend it.

How?

> it's especially harder to change anything

In my own experience, when it's hard to change your budget with envelope-based budgets it's usually because you're constrained in your money. The exception to this has been financial investments: you can use tools like YNAB for it, but they're not created for forecasting or any of that stuff -- you're here for your here and now.

In a way, I think you're absolutely correct that it's harder to change anything, but not because the method is wrong; it's because it addresses the fundamental issue of traditional budgeting and it's difficult and tough to deal with the consequences: you can only budget the money you actually have. You can't make up numbers about what a month usually looks like.

If you want to feel safe about next month's rent, the only way is to have next month's rent budgeted. Thus, isn't harder better if harder is actual change as opposed to imaginary?

I am left with a sour taste that you not only decide to talk about things like paycheck to paycheck, but also combine it with a conclusion that says:

> Use Firefly III. Use GnuCash. Use anything from this list. But skip the zero-based nonsense.

I think you'd be better off acknowledging the different audiences more-so than categorising zero-based budgeting as nonsense.

I'm not even going to touch the question of recommending someone to use GnuCash as an alternative to zero-based budgeting.


> In a way, I think you're absolutely correct that it's harder to change anything, but not because the method is wrong; it's because it addresses the fundamental issue of traditional budgeting and it's difficult and tough to deal with the consequences: you can only budget the money you actually have. You can't make up numbers about what a month usually looks like.

You can predict what your month will look like based on your rent, utilities and how expensive are your groceries from the past months.

The unpredictable is accident and sickness but that's what insurances and emergency funds are for.


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.


I've being using YNAB4 for about 10yrs now. But I miss a mobile version to report daily expenses.

Do you see any major drawback comparing to YNAB4?


I haven't encountered any major drawbacks. The reporting is a bit lacking. ActualBudget has simple Net Worth and Cash Flow charts.

Other than that, it has all the features of YNAB4 I can recall.


I also switched from YNAB4 to ActualBudget about 6 months ago. I'm hosting it on a Raspberry pi in my network. Overall it's working great!


How do you get transactions into ActualBudget? Do you run a manual import job at a set cadence?


There is some experimental work being done with SimpleFIN integration[1] for US banks but I can't comment on how well that works.

Personally, I add each transaction manually. It allows me to stay on top of my budget.

[1] https://github.com/actualbudget/actual/issues/2272


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:

Ask HN: Alternative to Mint.com?

(9 days ago, 44 votes, 71 comments)

https://news.ycombinator.com/item?id=39275231


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.


The real question is: does your wife use it? I have an excel budget that I updated based on our real spending habits every couple months. I also use projectifi for the long term asset planning, using the budget as an input for our surplus cash.

My wife has never opened either and has vague anxiety (read: frustrating) about going on vacations or making big purchases even though we’re doing great. I’m the sole income for 5 so I suppose I have to take the mental load of ensuring things are budgeted, diversified, HSA/529 is funded etc.


Yes, she does! She checks it everyday and she loves the simplicity of it.

I also tried the spreadsheet approach since I was so frustrated with budgeting apps, but they're a bit overwhelming for some.


This is pretty much exactly what I have been looking for, I do this with paper/pencil on our fridge.

If you don't open-source it, where is the data stored?


Right now just unmanaged postgres instance hosted on fly.io


This looks like a great tool. Not sure what the crystal ball does.


Thanks for the feedback, it's like a forecasting feature. Say you want to spend over budget today, you can see how that changes your daily budget 1 day, 2 days, 3 days, etc. out from today. Or let's say you plan on being frugal for the next few days and will spend only $20.00 over the next 3 days, by the 4th day your daily budget will adjust accordingly: https://imgur.com/a/hD9R2zv


What a great feature! I also had no idea what it meant so for UI/UX reasons I'd add some alt-text explaining that.


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)

https://actualbudget.org/


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.


I like Monarch Money and they support Canada (although idk if the Canadian bank coverage is as thorough as it is for the US). Although it's definitely on the SASSier side


Only one I have been able to find is YNAB and I hate it. It’s expensive and forces a weird opinionated budgeting approach onto its users.


Thanks! Does YNAB actually plug into bank accounts like Mint used to? I thought you had to manually enter everything, but it may have evolved since I last looked at it.


It does - mostly (only?) using plaid. I tried YNAB for a few months. It's not really for me. But it was able to sync _most_ of my accounts without issue.

I've been trying out Monarch more recently (which seems to use plaid, mx, and other methods). They have a discount for people coming over from mint as well as a way to import mint history.

I'm still cleaning up my mint data before running the import. I've liked it thus far; I'd say it's pretty much what I hoped Mint would become when I started using Mint a decade ago.


BudgetSheet supports most US and Canadian banks: https://www.budgetsheet.com

You can try it for free to see if it work for you first, and if you want to upgrade you can pay either monthly or annually.

Disclaimer: I am the creator of BudgetSheet :)


Does it support Canadian credit cards?


Yes. By banks I meant "Financial Institutions", which includes credit cards and other types of loans as well.


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.


I use HomeBank and have been happy with it. https://www.gethomebank.org/


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.

0 - https://github.com/maybe-finance/maybe


I think the same thing happened to 'actual.'


well now I'm just overwhelmed with options


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.

[1] https://github.com/dreautall/waterfly-iii


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.


I like this app, it’s support multilingual and multi currency types


While exploring some other self hosted/OSS personal finance tools, found https://github.com/actualbudget/actual to be a promising project too.


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


I am also hacking my own tool together for exactly this reason - multi-currency is one of those things that is absolutely essential if you need it, but is often ignored by a lot of these solutions.

Check out this amazing article that helped me: https://www.mathstat.dal.ca/~selinger/accounting/tutorial.ht...


Last I checked it didn't even have a notion of currency, let alone multiple currencies.


Yep. The Transaction type has just an amount field: https://github.com/actualbudget/actual/blob/master/packages%...


I've been using this as a replacement for YNAB and I don't miss anything. After evaluating Firefly for six months, I would say its setup isn't easy.


How easy is it to move data from YNAB to this? i.e. transactions, categories and accounts?



I just start fresh from start.


[dead]


Would like to complement beancount.


I wish I could get data about my transactions through an api from my bank


I also wish this. I initially tried to build direct integrations to my financial institutions from Firefly, but found that none of them (mine, at least) give API access to their peon customers, you have to be a full-on fintech company. I eventually just built an integration [0] with Plaid since it seemed the most mature solution for where I live (US) and I've been fairly happy with the results. My main irritation is that Plaid used to be free if you were just using it with a few institutions, but is going to be paid-only in a few months. The prices do seem fairly reasonable ($.30/institution/month for transactions), so I'll probably stick with it.

[0]: https://github.com/dvankley/firefly-plaid-connector-2


Consider SimpleFin Bridge [0] - it's essentially a wrapper around MX (Plaid competitor) that lets you very simply pull your own credit card/bank data for $15/yr.

[0] https://beta-bridge.simplefin.org/


I checked it for many common German banks and it doesn't work.


Checkout GoCardless[1]. This is used in the Actual Budget[2] Project for bank sync in Europe.

[1] https://bankaccountdata.gocardless.com/overview/

[2] https://actualbudget.org


Thanks, that's great!


Firefly kinda worked around this. You can download all transactions of your bank as a CSV, then use the Firefly importer to automatically map the data and save it inside Firefly. I usually do this once a week and it works pretty quickly, maybe a minute of work.


This certainly works well if you only need to track one account, but my finances aren't even _that_ complicated and I still have accounts I try to keep up to date with five different banks (hometown bank with checking/savings, two credit cards, employer-sponsored retirement account with Fidelity, and a three-fund portfolio with Vanguard). All of those accounts have 2FA, so logging into each one, navigating to the download screen, and downloading it into the right spot easily adds up to fifteen minutes of work.

Ironically, I've found that since I started to rely more on downloading the CSVs and importing them (as opposed to entering everything by hand), I've been entering things less regularly because of the increased start up time. If each account just had an API to pull transactions, I could schedule a job to download everything daily and life would be so much better.


I was looking into getting a virtual accountant to log into my few accounts, download CSVs, import and reconcile. But like you said, the most annoying thing about this is logging in, waiting for dumb SMS-based 2FA, selecting date range, logging into a different browser since Safari isn't supported properly, etc etc.

I'm unsure if providing the virtual accountant bank credentials is more or less secure than Plaid/Yodlee, but this is a major pain point.


It takes me more than a minute just to download CSV transactions from one source. I have 10 sources of data. :)

I'm only using it for tracking, not budgeting, so I do it maybe every 1-2 months.


>You can download all transactions of your bank as a CSV

Unless you have an Apple Card. I went to download last year's transactions and found out that they only allow you to download a PDF statement for each month!


That’s not true. You can export transactions in a variety of formats, including CSV, the button is right below the button to export a PDF.


Apple isn't known for inter-operating well with anything.


Yes, but idk where you are, in the EU we have this PSD2 rule or law, which adds 2FA to every action, not just transaction, making it impossible to automate and forcing you to use a 3rd party service, which costs about 30€ / month of you'd like to automate.

Before PSD2, at least German banks had a free api one could automatically query.

The EU claims it's done because of "security".

Essentially corruption.


But why does the Comdirect still offer a free API to their retail customers? https://www.comdirect.de/cms/kontakt-zugaenge-api.html


Your bank and your implementation can use TOTP just fine while meeting a 2FA requirement.


I wish all banks were forced to implement the same API.


That‘s the case in the EU.


I wish I could import my historical statements, is there any good tool for scraping transactions from PDF files? Maybe some kind of tweakable framework where you can customize for your institution's particular layout?


Woob is the only viable OSS solution at this point


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?


I built https://porkybank.io for my wife and I for this very purpose


Where is the code? The parent asked for something self-hosted.


would love this to be self hosted (Docker or something), its essentially what i want.


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.

https://www.gethomebank.org/en/index.php


Multi currency is the one thing every app I try keeps getting wrong. It's not about calling an API for conversion rates, it's about tracking each thing at its currency and being able to convert at price/at cost. I'm hacking together my own scripts on top of beancount at the moment but I'd love an actual double entry accounting app that can handle multiple currencies (and auto import from my European bank account ideally)


The UI is definitely not as polished as the other alternatives listed, but I made my own because at the time Firefly was not exactly right for me - https://github.com/VMelnalksnis/Gnomeshade. It can automatically import transactions using Nordigen, or you can upload a file exported from your bank if you don't want to use a third party service. It also supports multi currency transactions, and sharing accounts between multiple users.


Sharing accounts between multiple users is something i've been missing in many of the existing solutions. Thanks, ill check it out!


Huh, that is interesting, I'll have a look. Nordigen is what I was going to use for my scripts as well


In Germany I’m required to convert the currency to EUR based on the transaction date against an official exchange rate: https://www.bundesfinanzministerium.de/Web/DE/Themen/Steuern... for tax returns. I imagine that each country has their own rules.


Firefly III is 100% multi-currency. Even budgets, bills, anything.


Firefly has good multi-currency support, that's the reason I chose it over Actual


I am already using GNUCash.

How does this compare?


I, too, use Gnucash.

Gnucash is an actual double entry bookkeeping system. Firefly is not.

I want to like Firefly, but you cannot properly record all liabilities. Also, you can't mix income and expenses in the same account. For example, if I get a refund, it has to go to an income account. Not net off against an expense, which is the usual way bookkeeping.


OK, this is enough in itself to disqualify Firefly.


I tried GNUCash and opted for this. I think the UI is more understandable and polished.

Still a lot of depth to Firefly and has its own learning curve.

Its also written in PHP using Laravel which can be appealing.


UI might be more understandable and polished to someone new to both programs, but I have used GNUCash for over a decade. Change is effort.

As for PHP, it has never been confidence inspiring. I will say this despite having used Laravel professionally.


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. :)


For Amazon I sometimes have items grouped differently in the order overview on Amazon itself then in the credit card charge. That makes it quite tedious to actually find out what charge goes where.


Amazon's transaction engine is bananas. I've seen it split an order for multiple items across two unequal card transactions. Try reconciling that without parsing every single invoice page.


Amazon has a data export here: https://www.amazon.com/gp/privacycentral/dsar/preview.html

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 :)


Unfortunately it doesn’t seem to support integration with the open banking standard used in Australia, New Zealand and the UK


It connects with Nordigen/Gocardless - I use it in the UK and it works really well.


Really! Is that with the open banking standard or something bespoke?


open banking afaik


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.

Happily back to Ynab now.


Having to record all inbound cash as income was a deal breaker for me. I wanted to like Firefly, but couldn't because of this.

There is literally no other accounting software that works like this.


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.


This vs hledger?

/asking for a friend who used msmoney back in the day


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.


What happened, exactly? The docker compose file and the associated files should work out of the box.


I am not sure, it would just throw errors when starting it back up, was a while ago by now.


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.


Indeed. I can’t imagine doing native desktop development unless it was absolutely required for my project, and then I’d ask myself if maybe I shouldn’t just work on something else. All that work and it runs on one OS.


HTML and CSS are most definitely NOT better for the UI comparing to the native desktop apps. HTML was designed for cross-reference documents and people spent decades enriching it with CSS/JS/whatever to get some resemblance of acceptable UI. Not even mentioning all the resources required to run all the frameworks that the modern Web UI is running on.

If you want to be able to check your finances on the phone you have to put it on a 3rd party server along with your data. Might as well go with SaaS like Mint. I don't.

You do lose some cross-platform capabilities when you do desktop apps, that is true, but there are some toolsets available (eg Qt).

So I guess it comes down to what people are used to work with, which is Web-first.


The developer experience for Electron is much better than PySide + QT free, and nobody is spending 5,000 a year to write their own apps.


I think the original point is that if you're goal is to build cross-platform quickly, nothing right now beats html+css in electron.


There's a wide variety of reasons.

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.)


I just find the idea of building a local application using Web tools very... counterintuitive. Just such a waste of resources. Isn't Electron one of the heavier frameworks? Think of all the resources used on your local machine just for one application and one user.

If you plan on sharing this data with other users, then sure, it makes perfect sense, you can't share stuff from desktop app (without standing up API or smth). But if it's some personal stuff, like finances, personal notes, etc etc why move it out to the open?

I tried Mint awhile ago and it offered seamless integration with most of the financial institutions I deal with. Like I can get all my CC transactions data, checking accounts, savings accounts, 401K and (almost) everything else. Wonderful. I just need to provide all credentials to Mint so that it can authenticate with these institutions.

My cell phone provider has been hacked 3 times in the last 5 years, with at least one time stuff like SSN numbers and physical addresses got taken. If anything remotely similar to that happens at the SaaS that has my credentials, that's not just my credit card and bad loans, that's my life savings that can disappear. That's just... a non-starter for me.

But I'm old and I guess younger folks don't care that much about life savings. To each their own :)


I use Goodbudget. The appeal is that I can enter expenses from my phone, and my partner can do the same, and we can both see how much is left in each budget category. If we were to switch to a self-hosted version, it would run on a home server, but it would be accessible from anywhere. I don't think this is an option you considered.

Additionally, even if you use a third party host, it seems less likely they'd be snooping through your application data, as it would provide no benefit to their business of selling you hosting infrastructure. The providers of a budgeting app, on the other hand, have many reasons, benign and possibly not so benign, to be looking at your data.


There's a lot of web developers, becuase the entire development process of web is much easier compared to other platforms, including setup, debugging, and distributing. Also, with a web app you can access it from several devices, instead of just one.


If it's a self-hosted web app it is trivial to give yourself access on all of your devices using something like tailscale or wireguard. The same cannot be said for sharing access to a desktop app.


Agreed completely. I've used Gnucash for a small business, but found it a bit to cumbersome for personal finance. I've had a look at Homebank, Eqonomize. Anyone use these?


In the same boat. I did use GnuCash for business as well, in my opinion that's its primary use case. I just found Eqnomize and will give it a spin, however it's not open source (?). Other than that... Seriously considering dusting off my old tools and starting something myself :)


It's on Github, GPL licensed: https://eqonomize.github.io/


So Qt on C++ _is_ an option for desktop apps then :)


Because many people (or their partners) use phones more often than desktops. Many may not even own a desktops aside from a dusty laptop and their work computer.


> If it's installed on the local, it's a waste of resources and development time

Says you.


If it's installed on a local Web server it's designed to be able to serve multiple users. If there's only one user how is it not a waste of resources?


> If it's installed on a local Web server it's designed to be able to serve multiple users.

I'm sorry, but that just isn't how that works. It would be no more "wasteful" than running a native app. 1 user or 10, it doesn't matter.

Besides, most self-hosters have servers that are running many apps, so this is just one more. Not a big deal.


How is this not more wasteful than running a native app? You have to run a Web server IN ADDITION to the app. And your client-side is rendered in the browser which, again, is IN ADDITION to the app. Where the native app is just... the app.

Sure, many people seem to be running their Web apps on the local Web servers because Web development is all they know, I'm just pointing out how it's less efficient that native apps.



I imagine it's because whomever created it is a web developer, primarily.


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.


This looks like exactly the kind of thing I've been searching for! Curious about testimonials if anyone's used it


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.


>It obviously doesnt have automatic integrations with financial institutions so you need to export/import manually

Ok, that's what I was scouring the documentation to find out. Thank you. Guess I'll stick with my current mint-alternative (Empower)


> It obviously doesnt have automatic integrations with financial institutions

Why would that be obvious? Until I read your comment I was assuming it was there. That feels like it should be a core feature for basic personal finance applications.


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.

[1]: https://docs.firefly-iii.org/how-to/firefly-iii/features/rul...


Does 13,000 stars on github count?! Seems like a lot to me, can't believe I've never heard of it.


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?


Creation is done by running migrations [1] (invoked via Laravel's artisan command line). Using the database is done via Models[2].

[1] https://github.com/firefly-iii/firefly-iii/tree/main/databas... [2] https://github.com/firefly-iii/firefly-iii/tree/main/app/Mod...


Not SQL, but check out the contents of the database folder. For example:

https://github.com/firefly-iii/firefly-iii/blob/main/databas...


As with most devs, I also saw personal budgeting as a nail and I had a hammer. Here's my somewhat opinionated take on personal expense tracking and budgeting. I'm wide open to feedback: https://budgetmyway.com


What's with people building open source finance managers? This is like the 1000th one I have seen.


Needing a way to track finances is a problem older than writing. It's an almost universal problem, and everyone has their own ideas on how it should be done.

It's also a complicated idea, and when you look at existing solutions, they almost always have a huge number of features that any given individual won't need, which makes it harder to figure out what you're doing.

If you have a background in programming, and none in finance, it might be easier for you to start from what you understand, and build up an app that does what you need first, then add features later as you understand the problem space more.


No idea if it's still the same now, but banking account management, both from the consumer and the bank side, used to be very common example use cases when teaching OOP. Maybe some of those example projects grew into hobbies which grew into OSS projects.


Along with note taking and todo apps, it's low hanging fruit. It's a problem most people / developers can understand without having to do a lot of studying, and it fits in people's heads.

But it's also often an example of people not willing to learn a new tool, or not willing to pay for one, so why not build a new one? How hard can it be?


> How hard can it be?

The number of stupidly huge complex projects I got myself roped into with that dumb phrase...


It's also (similar to note-taking and TODO) a problem that can be approached in a lot of different ways, for people with very different needs and mental models.

Building an app that fits your mental model can be very instructive (including helping you flesh out your own understanding of the problem space).


How does it compare to YNAB?


looking forward to moving away from YNAB. it became too expensive for what it offers (note: i can't use auto-sync) . On the other side, i've 3+ years of data and various script to overcome problems such us import from csv, auto-split categories etc. Thus, if someone find an easy-to-use alternative that has budget and bookkeeping that would be great.


My favorite YNAB alternative is Buckets - https://www.budgetwithbuckets.com/ although especially if you don’t need auto-sync


Is there an open source alternative to YNAB that operates under the same budgeting principles?


I'm a YNAB guy too, and I look for a cheaper solution every year when I have to renew it. Last time the only real competitor is Monarch Money and they don't support anything other than usd.


I used it about a year but switched back to YNAB. I really like the budget in YNAB. Firefly concentrates more on the bookkeeping. Which for me is just secondary...


It's kind of mind blowing that there isn't a lot of cheaper alternatives to YNAB that focus on budgeting.. YNAB is so popular (and so expensive)


My problem honestly is the stability/future/import-export-ability of all accounting tools. So far I'm using BeanCount via org-mode using Fava just to have some eye-candy view since two years, it's not exactly comfortable, but it's flexible and effective enough. Switching tools was NOT, I've started with the simple HomeBank than GNUCash then Ledger (hledger, actually) than BeanCount, all switches was veeeeeery long, partially manual and painful enough that instead of having continuous accounting I've decide to close any year and restart via opening balances to been able in the future to switch tool keeping the old one for a while for previous records.

That's the most annoying part for me: accounting, docs (files) management, notes are things that last many years, sometimes an entire human adult/active life, having the ability to evolve from a tool to another, from a workflow to another not loosing nor painfully transitioning from past tools is a VERY big issue.

Because of that I fear any tool with a large codebase/many deps because a simple tool I can keep it myself if the upstream vanish, a complex one I can't.


Data importer GitHub link is dead: docs.firefly-iii.org/data-importer


After trying many different tools and being disappointed by either bank integration or being locked into a proprietary budget format I settled on using a spreadsheet.

The template from https://themeasureofaplan.com/budget-tracking-tool/ has everything I need and a perfect level of flexibility to customize it for your needs.


I am so baffled by the choices made in so many budgeting and personal finance applications that I'm very close to just designing my own spreadsheet, to last into the future.


I’m always looking for a self hosted pocketsmith alternative with a calendar like it. Thats how I use it best. I know I buy crap so categories are meh. But being able to pop ahead a month and adjust a bill or expense schedule to better align with fortnightly pay helps me. It also helps to remind me what I have not paid.

And to “predict” future balances. Sure a sheet can do that but I have always found a visual calendar works best with my adhd.


is there a home-assistant addon for doing personal finance?


Why on earth would you want to use HA as a host for that?


Not the person you responded to but I can see asking "how much money do I have left in my entertainment budget?" without having to open the software would be helpful.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: