Pure-python FinTS 3.0 (formerly known as HBCI) implementation
Project description
PyFinTS
=======
This is a pure-python implementation of FinTS (formerly known as HBCI), a
online-banking protocol commonly supported by German banks.
Limitations
-----------
* Only FinTS 3.0 is supported
* Only PIN/TAN authentication is supported, no signature cards
* Only a number of reading operations are currently supported
* Supports Python 3.4+
Banks tested:
* GLS Bank eG
* Triodos Bank
* BBBank eG
* Postbank
* [1822direkt](https://www.1822direkt.de/service/zugang-zum-konto/softwarebanking-mit-hbci/), including access to holding accounts
* Sparkasse
* Ing-Diba
* CortalConsors, including access to holding accounts
Usage
-----
```python
import logging
from datetime import date
from fints.client import FinTS3PinTanClient
logging.basicConfig(level=logging.DEBUG)
f = FinTS3PinTanClient(
'123456789', # Your bank's BLZ
'myusername',
'mypin',
'https://mybank.com/…' # endpoint, e.g.: https://hbci-pintan.gad.de/cgi-bin/hbciservlet
)
accounts = f.get_sepa_accounts()
print(accounts)
# [SEPAAccount(iban='DE12345678901234567890', bic='ABCDEFGH1DEF', accountnumber='123456790', subaccount='',
# blz='123456789')]
statement = f.get_statement(accounts[0], date(2016, 12, 1), date.today())
print([t.data for t in statement])
# The statement is a list of transaction objects as parsed by the mt940 parser, see
# https://mt940.readthedocs.io/en/latest/mt940.html#mt940.models.Transaction
# for documentation. Most information is contained in a dict accessible via their
# ``data`` property
# for retrieving the holdings of an account:
holdings = f.get_holdings()
# holdings contains a list of namedtuple values containing ISIN, name,
# market_value, pieces, total_value and valuation_date as parsed from
# the MT535 message.
```
Credits and License
-------------------
Author: Raphael Michel <mail@raphaelmichel.de>
License: LGPL
This is a quite close port of the [fints-hbci-php](https://github.com/mschindler83/fints-hbci-php)
implementation that was released by Markus Schindler under the MIT license.
Thanks for your work!
=======
This is a pure-python implementation of FinTS (formerly known as HBCI), a
online-banking protocol commonly supported by German banks.
Limitations
-----------
* Only FinTS 3.0 is supported
* Only PIN/TAN authentication is supported, no signature cards
* Only a number of reading operations are currently supported
* Supports Python 3.4+
Banks tested:
* GLS Bank eG
* Triodos Bank
* BBBank eG
* Postbank
* [1822direkt](https://www.1822direkt.de/service/zugang-zum-konto/softwarebanking-mit-hbci/), including access to holding accounts
* Sparkasse
* Ing-Diba
* CortalConsors, including access to holding accounts
Usage
-----
```python
import logging
from datetime import date
from fints.client import FinTS3PinTanClient
logging.basicConfig(level=logging.DEBUG)
f = FinTS3PinTanClient(
'123456789', # Your bank's BLZ
'myusername',
'mypin',
'https://mybank.com/…' # endpoint, e.g.: https://hbci-pintan.gad.de/cgi-bin/hbciservlet
)
accounts = f.get_sepa_accounts()
print(accounts)
# [SEPAAccount(iban='DE12345678901234567890', bic='ABCDEFGH1DEF', accountnumber='123456790', subaccount='',
# blz='123456789')]
statement = f.get_statement(accounts[0], date(2016, 12, 1), date.today())
print([t.data for t in statement])
# The statement is a list of transaction objects as parsed by the mt940 parser, see
# https://mt940.readthedocs.io/en/latest/mt940.html#mt940.models.Transaction
# for documentation. Most information is contained in a dict accessible via their
# ``data`` property
# for retrieving the holdings of an account:
holdings = f.get_holdings()
# holdings contains a list of namedtuple values containing ISIN, name,
# market_value, pieces, total_value and valuation_date as parsed from
# the MT535 message.
```
Credits and License
-------------------
Author: Raphael Michel <mail@raphaelmichel.de>
License: LGPL
This is a quite close port of the [fints-hbci-php](https://github.com/mschindler83/fints-hbci-php)
implementation that was released by Markus Schindler under the MIT license.
Thanks for your work!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fints-0.2.1.tar.gz
(9.7 kB
view details)
Built Distribution
fints-0.2.1-py3-none-any.whl
(15.9 kB
view details)
File details
Details for the file fints-0.2.1.tar.gz
.
File metadata
- Download URL: fints-0.2.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc37cc4c444baf79b3ae635e1fd8021d614688193ddf1b8dd43d4a9260290d4b |
|
MD5 | 705ea7a93485e6c805e05f2f3a48ca18 |
|
BLAKE2b-256 | 65ab5e73393b82eda826efefbb731acacbbd0d012cafdad7b3349bbdd453b45d |
File details
Details for the file fints-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: fints-0.2.1-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b59b8b141f4286e434b4fd87fd5c87e091f0b40f1e24993c0f99760c4a6ef32f |
|
MD5 | 1dde3158cc1605296e294d401b03d678 |
|
BLAKE2b-256 | c5bc485b62dd4de286c2e121d5b1669895e71cf122b91f71076d7e54aaf0dd39 |