joonis Logo

FinTech-Paket für Python (SEPA, EBICS & mehr)

Die Python FinTech-Bibliothek bietet die benötigte Funktionalität bezüglich der Arbeit mit EBICS, SEPA und anderen Finanztechnologien. Tägliche Bankgeschäfte (wie z.B. Überweisungen, Lastschriften oder der Abruf von Kontoauszügen) lassen sich damit flexibel und sicher erledigen.

Eigenschaften

  • Abruf von Kontoauszügen (inkl. CAMT- und MT940-Parser)
  • Überweisungen (SCT/pain.001) erstellen und einreichen
  • Lastschriften (SDD/pain.008) erstellen und einreichen (CORE, COR1 und B2B)
  • Vollständige SEPA-Unterstützung
  • Automatische Berechnung der Vorlaufzeiten anhand Feiertagen und Cutoff-Zeiten
  • Integrierter Mandatsmanager (optional nutzbar)
  • Plausibilitätsprüfung von IBAN und BIC
  • Prüfung von Zahlungsaufträgen gegen das SEPA-Clearing-Verzeichnis der Deutschen Bundesbank
  • Kontonummer/BLZ zu IBAN Konverter nach den Regeln der Deutschen Bundesbank
  • Umrechnen von Währungen zu tagesaktuellen Kursen
  • DATEV-Konverter (KNE-Format)

Die Programmierschnittstelle wurde so einfach wie möglich aber auch so flexibel wie nötig umgesetzt.

Alle Module sind kostenlos nutzbar. Nur der EBICS-Client selbst besitzt in der unlizenzierten Version ein paar Einschränkungen:

  • Der Upload von SEPA-Dokumenten ist auf maximal fünf Transaktionen beschränkt.
  • Kontoauszüge können nicht für die letzten drei Tage abgerufen werden.
  • Funktionen bzgl. der verteilten elektronischen Unterschrift (VEU) sind deaktiviert.
Protokoll-Versionen
  • EBICS 2.5 (H004)
  • EBICS 2.4 (H003)

Unterstützte Schlüsselversionen: A006, A005, X002, E002

Eine Schlüsselverwaltung auf Basis von Zertifikaten ist ebenfalls möglich. Zertifikate sind in einigen Ländern erforderlich (z.B. Frankreich).

Beispiel

import fintech
fintech.register()
from fintech.ebics import EbicsKeyRing, EbicsBank, EbicsUser, EbicsClient

keyring = EbicsKeyRing(keys='~/mykeys', passphrase='mysecret')
bank = EbicsBank(keyring=keyring, hostid='MYBANK', url='https://www.mybank.de/ebics')
user = EbicsUser(keyring=keyring, partnerid='CUSTOMER123', userid='USER1')
# Neue Schlüssel für diesen Nutzer erstellen
user.create_keys(keyversion='A006', bitlength=2048)

client = EbicsClient(bank, user)
# EU-Schlüssel an die Bank senden
client.INI()
# Authentifikations- und Verschlüsselungsschlüssel senden
client.HIA()

# INI-Brief erzeugen, ausdrucken und an die Bank schicken
user.create_ini_letter(bankname='MyBank AG', path='~/ini_letter.pdf')

# Bankenschlüssel abholen und überprüfen
print client.HPB()

# Bei Übereinstimmung Bankenschlüssel aktivieren
bank.activate_keys()

# Kontoauszug im MT940-Format abrufen
sheet = client.STA(
    start='2014-02-01',
    end='2014-02-07',
    )

Kann ich
  Ihnen helfen?


Schreiben Sie mir
doch einfach unter
giraffe@joonis.de