Firefly III: a personal finances manager
Go to file
2019-08-26 17:38:26 +02:00
.deploy New command to make sure opening balance currency information is correct. 2019-08-18 13:01:38 +02:00
.github Fix ranger.yml config 2019-08-09 13:40:11 -07:00
.sandstorm Update changelog. 2019-08-23 13:54:51 +02:00
app Put meta data in correct array, make sure edit screen works. #2483 2019-08-26 08:59:43 +02:00
bootstrap Initial code for LDAP authentication. 2018-10-13 15:06:56 +02:00
config Version update. 2019-08-23 13:52:36 +02:00
database Add newline to files 2019-08-17 12:09:03 +02:00
public Fix for #2438 2019-08-23 13:53:05 +02:00
resources Put meta data in correct array, make sure edit screen works. #2483 2019-08-26 08:59:43 +02:00
routes Fix tag overview. 2019-08-23 13:09:38 +02:00
storage Fix for #1766 2018-11-16 15:26:37 +01:00
tests Possible fix for #2437 2019-08-23 09:41:31 +02:00
.dockerignore Fix #1541 2018-07-09 19:23:19 +02:00
.env.example Fix #2426 2019-08-14 17:54:15 +02:00
.gitattributes First step towards Laravel 5.5 2017-09-09 21:57:24 +02:00
.gitignore Update gitignore. 2017-09-12 18:24:19 +02:00
.htaccess Add warning message to index. 2018-01-06 10:25:21 +01:00
.scrutinizer.yml Update .scrutinizer.yml 2018-01-19 08:23:31 +01:00
.travis.yml Updated version. 2019-08-23 14:11:18 +02:00
app.json Fixed locales lang error on Heroku build platform 2018-10-09 17:38:23 +02:00
artisan First step towards Laravel 5.5 2017-09-09 21:57:24 +02:00
changelog.md Update changelog. 2019-08-23 13:54:51 +02:00
composer.json Force PHP 7.3, break anything before PHP 7.3 2019-08-23 18:55:14 +02:00
composer.lock Force PHP 7.3, break anything before PHP 7.3 2019-08-23 18:55:14 +02:00
crowdin.yml Refactor script locations to clear up root directory. 2019-02-20 07:04:24 +01:00
docker-compose.yml Reference .env file. 2019-08-06 19:24:25 +02:00
Dockerfile Fix general docker file. 2019-08-21 04:18:37 +02:00
Dockerfile.amd64 Build both images using base image. 2019-08-18 08:10:30 +02:00
Dockerfile.arm Experiment for #2489 2019-08-26 17:38:26 +02:00
Dockerfile.arm64 New Docker files. 2019-08-10 17:21:58 +02:00
index.php Add copyright statements and newlines. 2019-02-09 10:36:59 +01:00
LICENSE New copyright notice. 2017-10-21 08:40:00 +02:00
nginx_app.conf Update some code for Heroku. 2018-08-01 07:24:19 +02:00
package.json Update JS dependencies. 2019-08-09 05:46:50 +02:00
phpunit.coverage.specific.xml Improve test coverage. 2019-08-03 10:50:43 +02:00
phpunit.coverage.xml Improve test coverage. 2019-08-03 10:50:43 +02:00
phpunit.xml Improve test coverage. 2019-08-03 10:50:43 +02:00
Procfile Configure nginx [skip ci] 2017-04-27 02:49:06 +02:00
readme.md typo in readme 2019-08-21 08:39:21 +02:00
server.php Add copyright statements and newlines. 2019-02-09 10:36:59 +01:00
webpack.mix.js Add newline to files 2019-08-17 12:09:03 +02:00
yarn.lock Add autocomplete #2457 2019-08-22 19:07:01 +02:00

Firefly III logo

Firefly III

Packagist License Donate using Paypal Donate using Patreon

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 your 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

Firefly III is pretty feature packed. Some important stuff first:

  • It is completely self-hosted and isolated, and will never contact external servers until you explicitly tell it to.
  • It features a REST JSON API that covers almost every part of Firefly III.
  • There are many translations available.
  • All pages feature help texts and support popups.

The most exciting features are:

Then the things that make you go "yeah OK, makes sense".

And the things you would hope for but not expect:

And to organise everything:

  • 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
  • If you feel youre missing something you can just ask me and Ill add it!

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.
  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 created 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 hope 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 donate using PayPal or Patreon.

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 many other noteworthy alternatives.

Badges

I like badges!

Travis branch Scrutinizer Coveralls github branch Requires PHP7.2