firefly-iii / firefly-iii by TheGrumpyDictator

Firefly III: a personal finances manager.
67,618
16,648
167
Package Data
Maintainer Username: TheGrumpyDictator
Maintainer Contact: james@firefly-iii.org (James Cole)
Package Create Date: 2014-06-28
Package Last Update: 2024-12-14
Home Page: https://firefly-iii.org/
Language: PHP
License: AGPL-3.0-or-later
Last Refreshed: 2024-12-14 15:04:23
Package Statistics
Total Downloads: 67,618
Monthly Downloads: 230
Daily Downloads: 1
Total Stars: 16,648
Total Watchers: 167
Total Forks: 1,509
Total Open Issues: 138

Firefly III logo

Firefly III

Packagist License Donate using Paypal OpenCollective OpenCollective

Introduction

"Firefly III" is a (self-hosted) manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. Firefly III supports the use of budgets, categories and tags. It can import data from external sources and it has many neat financial reports available. Here are some screenshots:

The index of Firefly III The account overview of Firefly III

Overview of all budgets Overview of a category

Purpose

Personal financial management is pretty difficult, and everybody has their own approach to it. Some people make budgets, other people limit their cashflow by throwing away their credit cards, others try to increase their current cashflow. There are tons of ways to save and earn money. Firefly III works on the principle that if you know where you're money is going, you can stop it from going there.

By keeping track of your expenses and your income you can budget accordingly and save money. Stop living from paycheck to paycheck but give yourself the financial wiggle room you need.

You can read more about this in the official documentation.

Features

Most importantly...

  • Firefly III runs on your own server, so you are fully in control of your data. It will not contact other sites or servers.
  • You can import from over 2500 financial providers, in 55 countries when you enable the Spectre API.
  • You can also import from bunq, from YNAB, using FinTS or simply by uploading CSV files.
  • Firefly III features an JSON REST API with a Python API client built by ms32035.
  • If you feel you’re missing something you can just ask me and I’ll add it!

But actually, it features:

Everything is organised:

  • Clear views that should show you how you're doing
  • Easy navigation through your records
  • Browse back and forth to see previous months or even years
  • Lots of charts because we all love them
  • Financial reporting showing you how well you are doing
  • Lots of math because we all like math!

Who is it for?

This application is for people who want to track their finances, keep an eye on their money without having to upload their financial records to the cloud. You're a bit tech-savvy, you like open source software and you don't mind tinkering with (self-hosted) servers.

Get started

There are many ways to run Firefly III

  1. There is a demo site with an example financial administration already present.

  2. You can install it on your server.

  3. You can run it using Docker.

  4. You can deploy to Heroku.

    Please read the considerations when using Heroku first though.

  5. You can deploy to Sandstorm.io.

    Note that you must have a paid Sandstorm account for this to work, or you must self-host your Sandstorm server.

  6. You can install it using Softaculous. These guys even have made another demo site!

  7. You can install it using AMPPS

  8. You can install it with YunoHost.

  9. Even more options are on the way!

Update your instance

Make sure you check for updates regularly. Your Firefly III instance will ask you to do this. Upgrade instructions can be found in the official documentation.

Contribute

Your help is always welcome! Feel free to open issues, ask questions, talk about it and discuss this tool. I've create several social media accounts and I invite you to follow them, tweet at them and post to them. There's reddit, Twitter and Facebook just to start. It's not very active but it's a start!

Of course there are some contributing guidelines and a code of conduct, which I invite you to check out.

I can always use your help squashing bugs, thinking about new features or translating Firefly III into other languages.

For all other contributions, see below.

The goal

Firefly III should give you insight into and control over your finances. Money should be useful, not scary. You should be able to see where it is going, to feel your expenses and to... wow, I'm going overboard with this aren't I?

But you get the idea: this is your money. These are your expenses. Stop them from controlling you. I built this tool because I started to dislike money. Having it, not having, paying bills with it, etc. But no more. I want to feel "safe", whatever my balance is. And I hoop this tool can help. I know it helps me.

Contact

You can contact me at thegrumpydictator@gmail.com, you may open an issue or contact me through the various social media pages there are: reddit, Twitter and Facebook.

Over time, many people have contributed to Firefly III.

Other stuff

Tools

Several users have built pretty awesome stuff around the Firefly III API. Check out these tools:

Want to be in this list? Let me know!

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This work is licensed under the GPL v3.

Donate

If you like Firefly III and if it helps you save lots of money, why not send me a dime for every dollar saved!

OK that was a joke. You can become a backer or a sponsor of the Firefly III Open Collective. On that page, I transparently show you the expenses I make and the donations I receive.

You can also donate using PayPal.

Thank you for considering donating to Firefly III!

Alternatives

If you are looking for alternatives, check out Kickball's Awesome-Selfhosted list which features not only Firefly III but also noteworthy alternatives such as Silverstrike.

Badges

I like badges!

Travis branch Scrutinizer Coveralls github branch Requires PHP7.2