--- id: fints version: "5.0.0" license: LGPL-3.0-or-later license_treatment: copyleft maintenance: active --- # fints — Pure-python FinTS 3.0 (formerly known as HBCI) implementation License: copyleft · Maintenance: active · Downloads: 117.1K/mo ## What it is and what it does PyFinTS is a pure-Python client library for FinTS 3.0, the online-banking protocol widely supported by German financial institutions. It lets you programmatically connect to bank accounts using PIN/TAN authentication to retrieve statements, check balances, view holdings, and initiate SEPA transfers or debits. The library wraps the FinTS protocol in a Python API, handling the low-level communication details so you can focus on banking operations. The package depends on bleach, mt-940, requests, sepaxml, enum-tools, and lxml to handle HTML sanitization, MT940 statement parsing, HTTP communication, SEPA XML generation, and XML processing. Maintenance is active but capacity-constrained; bugs are fixed primarily for banks where the maintainer has accounts, and new features are added on an as-needed basis. The implementation supports Python 3.9 and later and is classified as Beta development status. Use it for: - Automate monthly bank statement downloads and reconciliation for accounting or bookkeeping workflows. - Build financial dashboards that pull real-time account balances and transaction data from multiple German bank accounts. - Programmatically execute SEPA transfers or debits as part of payment automation or billing systems. - Integrate German banking data into ERP or accounting software without manual data entry. - Monitor account activity and generate alerts based on transaction patterns or balance thresholds. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A pure-Python implementation of the FinTS 3.0 online-banking protocol that enables programmatic access to German bank accounts for fetching statements, balances, holdings, and executing SEPA transfers and debits. Yes, if you need to integrate German bank accounts into a Python application and are willing to work within FinTS 3.0 and PIN/TAN constraints. The package is actively maintained, has no known vulnerabilities, and low install friction. Be aware that support is capacity-limited and feature development depends on the maintainer's personal needs; test thoroughly with your specific bank before relying on it in production. ## Install pip install fints uv add fints poetry add fints ## Installing fints Before you install: Low install friction with six runtime dependencies. Maintenance is active but capacity-limited; the maintainer fixes bugs only for banks where they have accounts and merges PRs with low breakage risk. Expect slower response times on feature requests. License in practice: LGPL-3.0-or-later is a copyleft license requiring derivative works to be licensed under compatible terms. Suitable for open-source projects; proprietary software must carefully evaluate redistribution obligations. Quickstart: pip install fints from fints.client import FinTS client = FinTS(blz='...', user='...', pin='...', endpoint='...') accounts = client.get_accounts() statements = client.get_transactions(account, start_date, end_date) Requires Python 3.9 or later; PIN/TAN authentication only (no signature cards); only FinTS 3.0 supported; bank must support FinTS protocol. Verify before relying: - Which specific German banks are known to work reliably with this implementation. - Performance characteristics when handling large transaction histories or multiple accounts. - Whether TAN methods beyond the maintainer's personal bank are actively tested. ## Package facts - License: LGPL-3.0-or-later (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 117.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags german bank api, fints banking protocol, online banking automation, bank statement retrieval, sepa transfer python, hbci implementation, account balance fetch, banking-api, german-finance, sepa [View on SkillFed](https://skillfed.io/packages/fints) · [View on PyPI](https://pypi.org/project/fints/)