Firefly III is a personal money manager. You record your bank accounts, spending and income, and it shows where your money goes with budgets, categories, charts and reports. Rules can sort your spending for you, and "piggy banks" help you save towards a goal. It runs on your own computer or server, so your bank data never has to go to the cloud.
Budgets, bills, categories and savings goals
Rules that sort your spending automatically
Lots of charts and income and expense reports
Any currency, many languages and a full REST API
Great for: People who want a clear, private picture of their spending and are happy to type in or import their transactions.
A large Laravel app (PHP 8.5) with a strict double-entry bookkeeping model, a big REST API and many tests. Most personal changes are better done through rules, webhooks or the API than in the code. Your AI always tries the gentlest step first, so your version stays easy to update.
1
Settings 4 options
No code. Change it in the app or its config.
Main currency, language, date format, first day of the financial year and which home-screen boxes to show.
Automatically set the category, budget or tags of a transaction based on its description, amount or account.
Monthly budgets with auto-budget, expected bills with reminders, and savings goals.
Bill reminders and security alerts by email, Slack or Pushover.
2
Extend 2 options
Themes, plugins, webhooks and the API. Still no fork.
Send new or changed transactions to another service such as n8n, Home Assistant or your own script.
Scripts, phone shortcuts, spreadsheets and third-party apps that read or add transactions.
3
Code 2 options
Your AI edits the source for anything else.
New screens, changed layouts and styling.
New reports, new calculations or new kinds of data.
Can I trust it?
AGPL-3.0-or-later. Free to use and change. If you run a changed version that other people use over the internet (not just you or your household), you must offer them your source code under the same licence. Private use has no extra obligations.
Your data: stores personal data, on your own device or server. MySQL/MariaDB (default Docker setup), PostgreSQL or SQLite; uploaded files in the firefly_iii_upload volume.
Other services: Firefly III Data Importer (separate app) (optional, free (self-hosted)); Email (SMTP or Mailgun, Mailersend and similar) (optional, free with most providers); Slack or Pushover (optional, free tier)
Pinned version b9c3100. Every handover uses exactly this code, which we've reviewed.
Holds detailed financial records. Use a strong password, turn on two-factor authentication and put it behind HTTPS before exposing it to the internet.
APP_KEY, database passwords, STATIC_CRON_TOKEN and API tokens are secrets. Never paste them into an AI chat.
Firefly III makes no outside connections until you turn on a feature that needs one (such as webhooks or notifications).