Skip to content

Minimal pure-python FinTS (formerly known as HBCI) implementation

License

Notifications You must be signed in to change notification settings

MediaSapiens/python-fints

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Banks tested:

  • GLS Bank eG
  • Triodos Bank
  • BBBank eG
  • Postbank
  • 1822direkt
  • Sparkasse
  • Ing-Diba

Usage

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

Credits and License

Author: Raphael Michel [email protected]

License: LGPL

This is a quite close port of the fints-hbci-php implementation that was released by Markus Schindler under the MIT license. Thanks for your work!

About

Minimal pure-python FinTS (formerly known as HBCI) implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%