firefly-reports
Generate 26 financial reports (PDF + Excel) from a Firefly III instance. Designed for individuals, freelancers and small businesses who want a complete annual financial overview.
Quick start
pip install firefly-iii-reports
firefly-reports \
--url https://your-firefly-instance.example.com \
--year 2025 \
--owner "Your Name" --out ./output
To run from source instead, clone the repo and use python -m firefly_reports.main in place of firefly-reports (dependencies: pip install -r firefly_reports/requirements.txt).
Use --year YYYY for a full calendar year (all reports), or --start/--end for a custom date range — in date-range mode the year-only reports (YoY, Historical Growth, Liquidity Forecast) are skipped.
The token can be provided via --token, the FIREFLY_TOKEN environment variable, a .env file, a firefly-reports.toml config file, or an interactive prompt.
Reports generated
Standard (always generated)
| # | Report | Description |
|---|---|---|
| 1 | Cash Flow Statement | Income/expense by category with monthly breakdown |
| 2 | Income vs Expense | Summary with savings rate and budget breakdown |
| 3 | Transaction Register | Chronological list with running balance |
| 4 | Net Worth | Assets grouped by account type |
| 5 | Account Statements | Per-account transaction statement |
| 6 | Tax Summary | Cash-basis income and deductible expenses |
| 7 | Expense Trend | Category × month expense matrix |
| 8 | Tagged Report | Transactions filtered by tag (--tags) |
| 9 | Budget vs Actual | Planned vs real spend with pace status |
| 10 | Bills & Subscriptions | Recurring payments with status |
| 11 | Savings Goals | Piggy bank progress |
| 12 | Liabilities | Debt summary with period movement |
| 13 | KPI Scorecard | Burn rate, cash runway, savings rate, HHI |
| 14 | Year-over-Year | Income and expense comparison vs prior year (--year mode only) |
| 15 | Cumulative Cash Flow | Monthly cumulative series |
| 16 | Income by Client | Income breakdown per client (revenue source) |
Strategic (non-legacy mode)
| # | Report | Description |
|---|---|---|
| 18 | Budget Performance Forecast | Month-end projection from current velocity |
| 19 | Category Ledger | Transactions grouped by category |
| 20 | Payee Ledger | Transactions grouped by payee |
| 21 | Linkage & Reimbursement Report | Linked pairs with link type and linked-amount % |
| 22 | All Tags Ledger | Transactions grouped by tag (--all-tags) |
| 23 | Historical Growth | Multi-year income/expense comparison (--years, --year mode only) |
| 24 | Liquidity Forecast | 6-month projected balance (--year mode only) |
| 25 | General Journal | Chronological double-entry register with protocol numbers and daily totals (Libro Giornale) |
| 26 | Summary | Firefly instance info (version, API, OS, PHP, user), global counts and period statistics |
Report 17 — Transaction Audit Log (
audit_log_<period>.pdf) is now generated only when--legacy-reportis active. The Summary report takes its slot in standard mode.
Demo (no Firefly III required)
python -m firefly_reports.demo --out ./output --year 2025 --lang en
Config file
firefly-reports init # interactive wizard — creates firefly-reports.toml
Documentation
Full documentation is on the GitHub Wiki:
- Installation & Quick Start
- Configuration — all CLI flags, TOML keys, env vars
- Reports Reference — all 26 reports
- Troubleshooting
- Architecture
Development
pip install -e ".[dev]"
pre-commit install
pytest tests/ -v
See CONTRIBUTING.md and the Developer Guide on the wiki.
License
GPL v3 — see LICENSE.
Metadata
Release files for firefly-iii-reports 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| firefly_iii_reports-1.0.2.tar.gz | 118.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| firefly_iii_reports-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 219.3 kB
Release files / firefly_iii_reports-1.0.2.tar.gz
| Download URL | firefly_iii_reports-1.0.2.tar.gz |
|---|---|
| Size | 118.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f15bb282cc99f67865c200d88783626b530b6725db019c6cb88882e053c799a4
|
|
BLAKE2b-256 checksum How to use checksums |
fe2ef4efbebd0836514a5b2e916118cfb044c82c9b4306323f4e27aad1b10495
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency logRelease files / firefly_iii_reports-1.0.2-py3-none-any.whl
| Download URL | firefly_iii_reports-1.0.2-py3-none-any.whl |
|---|---|
| Size | 100.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ded9089505ca70fa6335addf5588fae9b3b42c1281966dd0bfab3bd830a0dcb7
|
|
BLAKE2b-256 checksum How to use checksums |
c6ee036f308883eeb29500c4a601c098fa16b4c7f227b1aed3e899576a19006d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.
Transparency log