Skip to main content

firefly-reports

CI PyPI CodeQL Coverage License: GPL v3 Python 3.11+

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-report is 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:

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firefly_iii_reports-1.0.2.tar.gz (118.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firefly_iii_reports-1.0.2-py3-none-any.whl (100.8 kB view details)

Uploaded Python 3

File details

Details for the file firefly_iii_reports-1.0.2.tar.gz.

File metadata

  • Download URL: firefly_iii_reports-1.0.2.tar.gz
  • Upload date:
  • Size: 118.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for firefly_iii_reports-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f15bb282cc99f67865c200d88783626b530b6725db019c6cb88882e053c799a4
MD5 afe4d5296918090b8e326d09ef290bcb
BLAKE2b-256 fe2ef4efbebd0836514a5b2e916118cfb044c82c9b4306323f4e27aad1b10495

See more details on using hashes here.

Provenance

The following attestation bundles were made for firefly_iii_reports-1.0.2.tar.gz:

Publisher: release.yml on fran33git/firefly-reports

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file firefly_iii_reports-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for firefly_iii_reports-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ded9089505ca70fa6335addf5588fae9b3b42c1281966dd0bfab3bd830a0dcb7
MD5 78cd3fce2262be940d387a8ecb2c8ff1
BLAKE2b-256 c6ee036f308883eeb29500c4a601c098fa16b4c7f227b1aed3e899576a19006d

See more details on using hashes here.

Provenance

The following attestation bundles were made for firefly_iii_reports-1.0.2-py3-none-any.whl:

Publisher: release.yml on fran33git/firefly-reports

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page