# firefly-iii/firefly-iii

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/firefly-iii-firefly-iii).**

22,431 stars · 2,066 forks · PHP · agpl-3.0

## Links

- GitHub: https://github.com/firefly-iii/firefly-iii
- Homepage: https://firefly-iii.org/
- awesome-repositories: https://awesome-repositories.com/repository/firefly-iii-firefly-iii.md

## Topics

`accounting` `budget` `budgeting` `budgets` `cash-flow` `cashflow` `credit-card` `docker` `expenses` `finance` `finances` `financial` `linux` `money` `paycheck` `personal-finance` `php` `php7`

## Description

Firefly III is a self-hosted personal finance management system built on a double-entry bookkeeping engine. It provides a comprehensive platform for tracking income, expenses, and account balances while maintaining financial integrity through structured accounting principles. Designed for private use, the system supports multi-user access, allowing independent financial administrations to coexist within a single installation.

The platform distinguishes itself through extensive automation and integration capabilities. It features a robust REST JSON API and webhook system that enables programmatic interaction with financial data, allowing for automated transaction ingestion, external service synchronization, and event-driven notifications. Users can define custom rules to automatically categorize, tag, and modify incoming transactions, while built-in tools handle complex tasks like currency conversion, debt management, and recurring transaction generation.

Beyond core bookkeeping, the system offers a wide range of financial planning tools, including zero-based budgeting, savings goal allocation, and detailed data visualization. It includes sophisticated data ingestion utilities that normalize and deduplicate records from external sources, ensuring consistent reporting. Administrative tasks, such as data maintenance and backups, can be managed through a command-line interface or automated background processes.

The application is designed for containerized deployment, supporting standard Linux environments and orchestration via Kubernetes. It secures sensitive financial information through OAuth2 authentication, two-factor verification, and environment-based secret management.

## Tags

### Business & Productivity Software

- [Double-Entry Bookkeeping Engines](https://awesome-repositories.com/f/business-productivity-software/double-entry-bookkeeping-engines.md) — Maintains financial integrity by ensuring every transaction balances across asset, liability, and revenue accounts.
- [Personal Finance Management](https://awesome-repositories.com/f/business-productivity-software/personal-finance-management.md) — Provides a comprehensive self-hosted platform for tracking income, expenses, and budgets using double-entry bookkeeping.
- [Expense Trackers](https://awesome-repositories.com/f/business-productivity-software/expense-trackers.md) — Categorizes financial transactions, manages recurring payments, and visualizes spending habits through detailed reports and charts.
- [Financial Software](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-software.md) — Maintains accurate account balances and transaction history by enforcing strict double-entry bookkeeping principles.
- [Self-Hosted Financial Platforms](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-software/self-hosted-financial-platforms.md) — Provides a self-hosted, containerized financial tracking platform with multi-user access, API integration, and secure data backups.
- [AI-Powered Categorization](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-analysis-tools/ai-powered-categorization.md) — Automates transaction categorization using machine learning models to improve financial data management. ([source](https://docs.firefly-iii.org/references/firefly-iii/third-parties/apps/))
- [Transaction Automation Rules](https://awesome-repositories.com/f/business-productivity-software/transaction-automation-rules.md) — Executes automated logic to categorize and modify incoming transactions based on user-defined rules. ([source](https://docs.firefly-iii.org/explanation/more-information/architecture/))
- [Automated Entry Ingestion](https://awesome-repositories.com/f/business-productivity-software/transaction-automation/automated-entry-ingestion.md) — Captures financial data from SMS, bots, and shortcuts to populate transaction records automatically. ([source](https://docs.firefly-iii.org/references/firefly-iii/third-parties/apps/))
- [Transaction Scheduling](https://awesome-repositories.com/f/business-productivity-software/transaction-scheduling.md) — Provides systems for defining and managing recurring financial obligations and future payment tracking. ([source](https://docs.firefly-iii.org/explanation/financial-concepts/recurring/))
- [Budgeting Tools](https://awesome-repositories.com/f/business-productivity-software/budgeting-tools.md) — Tracks spending against defined budget limits to visualize trends and evaluate the effectiveness of financial planning strategies. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/finances/reports/))
- [Financial Account Management](https://awesome-repositories.com/f/business-productivity-software/financial-account-management.md) — Organizes income and expenses into structured accounts and categories to provide visibility into spending habits. ([source](https://docs.firefly-iii.org/))
- [Currency Management](https://awesome-repositories.com/f/business-productivity-software/currency-management.md) — Manages accounts, liabilities, and savings goals across different currencies with automated exchange rate updates and conversion calculations.
- [Transaction Auditing](https://awesome-repositories.com/f/business-productivity-software/financial-account-management/transaction-auditing.md) — Displays detailed start and end balances for asset accounts alongside transaction-level history to identify discrepancies. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/finances/reports/))
- [Liability Trackers](https://awesome-repositories.com/f/business-productivity-software/personal-finance-management/liability-trackers.md) — Records loans, mortgages, and student debt as liabilities to track outstanding balances and repayment progress. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/finances/accounts/))
- [Reconciliation Tools](https://awesome-repositories.com/f/business-productivity-software/account-management/reconciliation-tools.md) — Generates adjustment transactions to align recorded balances with actual account totals during manual account reconciliations. ([source](https://docs.firefly-iii.org/references/firefly-iii/transaction-types/))
- [Savings Goal Trackers](https://awesome-repositories.com/f/business-productivity-software/saved-views/savings-goal-trackers.md) — Organizes money within a single asset account into specific groups to track progress toward purchasing expensive items or meeting financial targets. ([source](https://docs.firefly-iii.org/explanation/financial-concepts/piggy-banks/))

### Data & Databases

- [Financial Data Processing](https://awesome-repositories.com/f/data-databases/financial-data-processing.md) — Synchronizes bank records, processes batch imports, and triggers external webhooks to automate financial workflows and reporting.
- [Relational State Management](https://awesome-repositories.com/f/data-databases/relational-state-management.md) — Persists financial records and system metadata in a relational database to ensure consistency.
- [Automated Backup Systems](https://awesome-repositories.com/f/data-databases/automated-backup-systems.md) — Executes recurring scripts to package database and configuration files for automated data protection. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/advanced/backup/))
- [Financial Data Import](https://awesome-repositories.com/f/data-databases/financial-data-import.md) — Connects external bank APIs and custom data sources to synchronize transaction history and automate financial record ingestion.
- [Data Import Utilities](https://awesome-repositories.com/f/data-databases/data-import-utilities.md) — Provides utilities for mapping and importing external transaction data into the system. ([source](https://docs.firefly-iii.org/how-to/data-importer/advanced/post/))
- [Database Migration Management](https://awesome-repositories.com/f/data-databases/database-migration-management.md) — Maintains data structure consistency by managing and rolling back failed schema updates. ([source](https://docs.firefly-iii.org/references/faq/docker/))
- [Duplicate Detection Tools](https://awesome-repositories.com/f/data-databases/duplicate-detection-tools.md) — Identifies and prevents the import of duplicate transaction records using unique external identifiers. ([source](https://docs.firefly-iii.org/references/data-importer/roles/))
- [Financial Analytics](https://awesome-repositories.com/f/data-databases/financial-analytics.md) — Generates reports and charts to provide clear, actionable views of income, expenses, and overall financial performance. ([source](https://cdn.jsdelivr.net/gh/firefly-iii/firefly-iii@main/README.md))
- [Schema Synchronizers](https://awesome-repositories.com/f/data-databases/schema-synchronizers.md) — Aligns application data models with underlying database structures to ensure compatibility. ([source](https://docs.firefly-iii.org/references/faq/firefly-iii/using/))
- [Import Mapping Configurations](https://awesome-repositories.com/f/data-databases/import-column-mappings/import-mapping-configurations.md) — Defines field mappings to ensure financial data like dates and amounts are correctly parsed during import. ([source](https://docs.firefly-iii.org/references/data-importer/roles/))
- [Related Record Importers](https://awesome-repositories.com/f/data-databases/relational-association-apis/related-record-importers.md) — Resolves and associates related records during the import process to prevent duplicate entries. ([source](https://docs.firefly-iii.org/how-to/data-importer/import/transfers/))

### Development Tools & Productivity

- [RESTful APIs](https://awesome-repositories.com/f/development-tools-productivity/api-development-sdks/restful-apis.md) — Exposes the entire financial dataset through a standardized RESTful JSON API for external integrations.
- [REST APIs](https://awesome-repositories.com/f/development-tools-productivity/rest-apis.md) — Exposes a comprehensive REST JSON interface for programmatic interaction with financial data. ([source](https://docs.firefly-iii.org/references/firefly-iii/api/))
- [CLI Administration Tools](https://awesome-repositories.com/f/development-tools-productivity/cli-administration-tools.md) — Executes administrative and data management operations from the terminal to perform maintenance. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/features/cli/))
- [Transaction File Processing](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/file-processing-utilities/transaction-file-processing.md) — Processes transaction files in bulk from server directories via command-line instructions. ([source](https://docs.firefly-iii.org/how-to/data-importer/advanced/post/))

### DevOps & Infrastructure

- [Container Orchestration & Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-deployment.md) — Packages the application into portable container units for consistent deployment across environments.
- [Containerized Application Deployment](https://awesome-repositories.com/f/devops-infrastructure/containerized-application-deployment.md) — Runs the application within a containerized environment for consistent deployment. ([source](https://docs.firefly-iii.org/references/faq/docker/))
- [Webhook Triggers](https://awesome-repositories.com/f/devops-infrastructure/webhook-triggers.md) — Sends automated notifications to external URLs when financial data is created or modified. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/features/webhooks/))
- [Kubernetes Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments.md) — Orchestrates the deployment of financial tracking applications and databases using standardized configuration files for containerized infrastructure. ([source](https://docs.firefly-iii.org/how-to/data-importer/upgrade/kubernetes/))

### Web Development

- [Bank Data Synchronization](https://awesome-repositories.com/f/web-development/third-party-api-integrations/bank-data-synchronization.md) — Integrates with third-party financial providers to automatically fetch and synchronize transaction records. ([source](https://docs.firefly-iii.org/how-to/data-importer/how-to-configure/))

### Security & Cryptography

- [Policy-Based Access Control](https://awesome-repositories.com/f/security-cryptography/policy-based-access-control.md) — Secures access to financial information using OAuth2-based authentication and token validation.
- [Multi-User Runtime Isolation](https://awesome-repositories.com/f/security-cryptography/user-access-management/multi-user-authorization/multi-user-runtime-isolation.md) — Partitions storage and authentication per account on a single server instance to support multiple independent users. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/features/multi-user/))
- [Spending Limits](https://awesome-repositories.com/f/security-cryptography/access-control/spending-limits.md) — Assigns maximum monetary amounts to specific categories for defined time periods to track and control personal expenses. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/finances/budgets/))
- [Two-Factor Authentication](https://awesome-repositories.com/f/security-cryptography/two-factor-authentication.md) — Requires an additional verification code from an authenticator app during login to protect user accounts against unauthorized access. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/advanced/authentication/))
- [OAuth2 Providers](https://awesome-repositories.com/f/security-cryptography/oauth2-providers.md) — Secures API access by managing client credentials and authorization tokens to allow external applications to perform actions on behalf of a user. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/features/api/))
- [User Access Management](https://awesome-repositories.com/f/security-cryptography/user-access-management.md) — Enforces secure authentication through two-factor authentication, session management, and role-based access control. ([source](https://docs.firefly-iii.org/explanation/more-information/security/))

### System Administration & Monitoring

- [Background Job Queues](https://awesome-repositories.com/f/system-administration-monitoring/background-job-queues.md) — Processes resource-intensive tasks like data imports and notifications asynchronously to maintain system responsiveness.
- [Background Task Scheduling](https://awesome-repositories.com/f/system-administration-monitoring/background-task-scheduling.md) — Triggers recurring background processes like budget updates and exchange rate synchronization on a set schedule. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/advanced/cron/))

### Networking & Communication

- [Event Webhooks](https://awesome-repositories.com/f/networking-communication/event-webhooks.md) — Broadcasts transaction data to external endpoints via webhooks to enable custom automation workflows. ([source](https://docs.firefly-iii.org/how-to/firefly-iii/advanced/notifications/))

### Software Engineering & Architecture

- [Webhook Event Notifications](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/programmatic-interfaces/webhook-event-notifications.md) — Dispatches signed webhook messages asynchronously to notify external services of financial events. ([source](https://docs.firefly-iii.org/explanation/more-information/architecture/))

### User Interface & Experience

- [Mobile Interfaces](https://awesome-repositories.com/f/user-interface-experience/mobile-interfaces.md) — Provides mobile-optimized interfaces to manage finances and track transactions while on the go. ([source](https://docs.firefly-iii.org/references/firefly-iii/third-parties/apps/))
