SEPA (Single Euro Payment Area) in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
greenarrow
User
Beiträge: 3
Registriert: Samstag 3. August 2013, 19:46

Kennt jemand ein Modul oder Python Projekt bzgl SEPA?
BlackJack

@greenarrow: Was schwebt Dir denn da genau vor? Welches Problem willst Du lösen?
greenarrow
User
Beiträge: 3
Registriert: Samstag 3. August 2013, 19:46

Ich betreue eine selbstgeschriebene Mitgliederverwaltung für einen eingetragenen Verein. Über ein selbsterstelltes DTA Modul haben wir bisher die Mitgliedsbeiträge eingezogen. Ab 2014 wird das nicht mehr gehen, weil die Banken europaweit von DTA auf SEPA umstellen werden. Dann wird DTA über das bisherige DTAUS Format nicht mehr unterstütz.

Also müssen wir:

1. die Datenbank um eine Mandatsverwaltung und Kontodaten nach SEPA erweitern. Das sollte relativ leicht zu machen sein.

2. Anstatt DTA müssen wir SEPA erzeugen und das dann der Bank übergeben.

Für das zweite suche ich eine Lösung über ein Modul oder Framework. Kann auch etwas in der Art sein, dass unsere Datenbank eine Zwischendatei nach Spezifikation erzeugt, die dann von einem anderen Programm weiter verarbeitet und dann an die Bank übertragen wird.

Unsere Datenbank ist zum Teil in Postgres (Datenbestand und Stored Procedures) und zum Teil in Python (Frontend) realisiert.

Derzeit finden wir einfach keinen Ansatz wie wir mit SEPA sinnvoll umgehen sollen. Wir prüfen auch die Umstellung auf Jameica / Hibiscus / JVerein. Aber JVerein hat Einschränkungen beim Einzug der Beiträge, mit denen wir nicht zurecht kommen.
lunar

@greenarrow Ist JVerein nicht freie Software, deren Quelltext verfügbar ist? Wieso passt ihr nicht einfach das Programm an Eure Anforderungen an? Sicher, ist Java, aber sicherlich einfach als alles neu zu schreiben, oder nicht?
greenarrow
User
Beiträge: 3
Registriert: Samstag 3. August 2013, 19:46

Wir untersuchen gerade verschiedene Möglichkeiten. Eine Migration zu JVerein, Hibiscus ist eine der Möglichkeiten. Allerdings hat Hibiscus und Jverein aktuell auch noch keine funktionierende SEPA und dazu kommen noch andere Baustellen. Wenn es ein existierendes Python Modul für SEPA geben würde wäre das für uns auf jeden Fall eine Möglichkeit bei unserer bewährten Lösung zu bleiben und das DTA Modul durch SEPA zu ersetzen. Aber bisher scheint es noch nichts zu geben oder suche ich an der falschen Stelle?
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

greenarrow hat geschrieben: 1. die Datenbank um eine Mandatsverwaltung und Kontodaten nach SEPA erweitern. Das sollte relativ leicht zu machen sein.
Ein Mandant muss in Schriftform dh in Papier vorliegen. In Internet gibt es genügend Formulare ggfs bei der Hausbank mal nachfragen.
Ein SEPA-Lastschiftsmandat dürfte wahrscheinlich nur einmal beim Eintritt des Mitglieds in den Verein erstellt werden und gilt dann für alle zukünftigen Lastschriften. Ablage in einem Ordner und gut ist.

Beachten muss man halt, dass ein Mandat abläuft, wenn es 36 Monate nicht benutzt wurde. Als Mandatsreferenznummer könnte man zB die Mitgliedsnummer nehmen. Das wäre ja dann eine eindeutige Mandatsreferenz. Man muss außerdem sicherstellen, dass ein Mandat inclusive eventueller Änderungen auf Anforderung der Bank vorgelegt werden kann.
Ob sich da eine extra programmierte Mandatsverwaltung lohnt, müsst ihr entscheiden.

Die SEPA-Datenfelder BIC und IBAN zusätzlich in das Programm und die Datenbank aufzunehmen, dürfte ja kein Problem sein. Die Daten aus der vorhandenen Bankleitzahl und Kontonummer zu errechnen, muss ich allerdings warnen. Bei vielen Bankverbindungen mag es funktionieren, bei manchen halt auch nicht.
Beispiel bei einem Mitarbeiter bei uns:
Die Bankleitzahl = Bankleitzahl der Deutschen Bank. In der IBAN, die uns der Mitarbeiter mitgeteilt hat, war jedoch die Bankleitzahl der Deutschen Bank 24!
ein anderer Mitarbeiter:
Kontonummer 123456. Kontonummer in der IBAN 12345600. Die Kontonummer ist eine Stammnummer und muss um zwei Nullen erweitert werden!
oder:
DE85 9999 9999 9999 9999 99 ist eine rechnerisch richtige IBAN. Nur: gibt es die Bankleitzahl? Gibt es bei dieser Bank diese Kontonummer?

Eine 100pro richtig IBAN kann nur die kontoführende Bank sagen. Also am besten bei den Mitgliedern nachfragen oder einen guten Internetrechner verwenden (ich habe einen, der auch die Prüfziffern der Kontonummer anhand des dieser Bankleitzahl hinterlegten Prüfziffernverfahrens prüft) oder auch mal hier bei der Hausbank nachfragen. Vielleicht haben die ein Tool, wo man die BIC und IBAN berechnen lassen kann.

Zum Prüfen der IBAN habe ich schon Code im Web gesehen. Das dürfte auch kein Problem sein, dass dann in den Dialogmasken einzubauen, damit bei der Eingabe die IBAN gleich geprüft wird und man bei Fehlern Rücksprache mit dem Mitglied halten kann.

greenarrow hat geschrieben: 2. Anstatt DTA müssen wir SEPA erzeugen und das dann der Bank übergeben.
Manche Banken stellen den Vereinen ja heute schon Tools zur Verfügung, wo die Vereine ihre Lastschriften erfassen vielleicht auch mit CSV importieren können und dann entweder über Internet, Diskette (heute wohl eher weniger), CD oder USB-Stick an die Bank übermitteln. Ich denke, dass solche Tools demnächst auch SEPA können. Vielleicht gibt es sowas auch bei eurer Hausbank.

Eine Zahlungsdatei mit SEPA programmieren wird wohl etwas schwieriger sein als für DTAUS. DTAUS war ja nur eine DOS-Datei mit wahlfreiem Zugriff und einer festen Satzlänge von 128 Zeichen. SEPA ist XML und davon gibt es auch noch gleich mehrere Versionen, die sich regelmässig ändern.

Bei uns in der Firma sind wir aus dem Grund im Lohn-/Gehaltsbereich "zahlungsunfähig". Unsere Lohnverrechnungssoftware verwendet eine recht aktuelle SEPA-Version, die unsere Bankensoftware (noch) nicht lesen kann. Ein Update ist laut Bank in Arbeit. Das heißt es aber schon seit einem halben Jahr :roll:

Am besten sprecht ihr mal eure Hausbank darauf an. Vielleicht haben die ja schon eine Lösung parat.

lg
Harald
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

bfm hat geschrieben:Ein Mandant muss in Schriftform dh in Papier vorliegen.
Theoretisch ja. In der Praxis wird das definitiv anders aussehen, allerdings ist das Risiko für den Einziehenden dann merklich höher als bisher.
BlackJack

@/me: In der Praxis sehe ich dann aber Abmahnungen oder so etwas in der Richtung auf die Leute zukommen.
nirolo
User
Beiträge: 2
Registriert: Dienstag 7. Januar 2014, 21:52

Hallo greenarrow

wir stehen als Verein vor dem selben Problem wie ihr. Ich habe es mir als Aufgabe gemacht ein Script zu schreiben, was aus einer Excel-Datei mit den entsprechenden Informationen ein SEPA-konformes XML erzeugt. Das Projekt läuft allerdings noch. Ich hoffe, dass ich es in den nächsten Wochen fertig bekommen werde, kann hier aber nichts versprechen.
Habt ihr bisher eine bessere Lösung gefunden, oder besteht Interesse an so einem Python Script?
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

/me hat geschrieben: Theoretisch ja. In der Praxis wird das definitiv anders aussehen, allerdings ist das Risiko für den Einziehenden dann merklich höher als bisher.
Sehr hoch sogar. Ohne gültiges Mandant kann derjenige, von dessen Konto das Geld eingezogen wurde, sogar nach 13 Monaten das Geld noch zurückbuchen lassen. Außerdem muss der Einziehende jederzeit in der Lage sein, der Bank ein gültiges Mandat vorlegen zu können. Wenn er das nicht kann????? In Einzelfällen wird da die Bank sicher ein Auge oder zwei zu drücken. Wenn es gehäuft vorkommt, kündigt die Bank sicher die Vereinbarung zu den Lastschriftseinzügen und erstattet vielleicht noch Strafanzeige. Wenn nach Monaten das Geld zurückgebucht werden muss und das Konto desjenigen, der die Lastschriften eingereicht hat abgeräumt und derjenige untergetaucht ist, hat die Bank ein Problem und bleibt auf dem Schaden sitzen.

Hier gibt es die Spezifikation zu SEPA:
http://www.ebics.de/index.php?id=77

Von der Firma SFIRM gibt es ein kleines Tool, mit dem man bisherige DTA-Dateien in SEPA umwandeln kann.
http://www.sfirm.de/tools/sepa-file-converter.html
Als Kunde einer Sparkasse bekommt man das Tool evtl. billiger.

bfm
nirolo
User
Beiträge: 2
Registriert: Dienstag 7. Januar 2014, 21:52

Falls jemand Bedarf hat, ich habe jetzt ein funktionierendes Script, dass aus einer Mitglieder-Excel-Tabelle SEPA-Lastschriften und Überweisungen generieren kann.
joonis
User
Beiträge: 2
Registriert: Mittwoch 21. Februar 2007, 00:15

Eventuell ist PyEBICS interessant:
http://www.joonis.de/de/software/sepa-ebics-client
Ist zwar nicht Open-Source, aber das enthaltene SEPA-Modul ist kostenlos nutzbar.
lunar

@joonis Wenn das Deine eigene Software ist, was ich aufgrund Deines Pseudonyms vermute, dann solltest Du das im Interesse der Transparenz auch sagen… :roll:
joonis
User
Beiträge: 2
Registriert: Mittwoch 21. Februar 2007, 00:15

Ja, sorry. Ich dachte das wäre aufgrund des Benutzernamens klar.
Antworten