SEPA Sammellastschrift / Basislastschrift XML mit PHP

Bereits im September veröffentlichte ich die erste Version des „SEPA XML Creators“ in Form einer PHP-Klasse. Mit Hilfe dieser Klasse war es möglich auf einfache Art und Weise eine SEPA Einzel- oder Sammelüberweisung zu erstellen und die XML-Struktur (pain.001.002.03) zu generieren. Am heutigen morgen wurde die Erweiterung der existierenden PHP-Klasse auf Github veröffentlicht so dass nun auch die versprochene Erstellung von SEPA Lastschriften (Basislastschriften – pain.008.002.02) über die Klasse möglich ist.

Wie erstelle ich nun eine SEPA Lastschrift?

       // Einbindung der SepaXmlCreator-Klasse
        require_once 'SepaXmlCreator.php';

        // Erzeugen einer neuen Instanz
        $creator = new SepaXmlCreator();

        /*
         * Mit den Account-Werten wird das eigene Konto beschrieben
         * erster Parameter = Name
         * zweiter Parameter = IBAN
         * dritter Paramenter = BIC
         */
        $creator->setAccountValues('mein Name', 'meine IBAN', 'meine BIC');

        /*
         * Setzen Sie von der Bundesbank übermittelte Gläubiger-ID
         */
        $creator->setGlaeubigerId("DE98ZZZ09999999999");

        // Erzeugung einer neuen Buchungssatz
        $buchung = new SepaBuchung();
        $buchung->setBetrag(10);
        $buchung->setEnd2End('ID-00002');
        $buchung->setBic('EMPFAENGERBIC');
        $buchung->setName('Mustermann, Max');
        $buchung->setIban('DE1234566..');
        $buchung->setVerwendungszweck('Test Buchung');

        // Referenz auf das vom Kunden erteilte Lastschriftmandat
        // ID = MANDAT0001
        // Erteilung durch Kunden am 20. Mai 2013
        // False = seit letzter Lastschrift wurde am Mandat nichts geändert
        $buchung->setMandat("MANDAT0001", "2013-05-20", false);

        // Buchung zur Liste hinzufügen
        $creator->addBuchung($buchung);

        // Dies kann beliebig oft wiederholt werden ...
        $buchung = new SepaBuchung();
        $buchung->setBetrag(7);
        $buchung->setBic('EMPFAENGERBIC');
        $buchung->setName('Mustermann, Max');
        $buchung->setIban('DE1234566..');
        $buchung->setMandat("MANDAT0002");
        $creator->addBuchung($buchung);

        // Nun kann die XML-Datei über den Aufruf der entsprechenden Methode generiert werden
        echo $creator->generateBasislastschriftXml();

Mit diesen Codezeilen erstellen Sie nun eine SEPA-konforme XML-Datei (pain.008.002.02) zu Beauftragung einer Sammellastschrift / Basislastschrift. Sie können beliebig viele Buchungen (abhängig von Ihrem Kontoführenden Institut) zur XML-Datei hinzufügen und somit z.B. den Einzug Ihrer Mitgliederzahlungen Ihres Vereines oder wiederkehrender Rechnungen einfach automatisiert erstellen und an Ihre Bank übergeben.

Was mache ich nun mit der generierten XML-Datei?

Die generierte XML-Datei ist das Pendant zur DTAUS-Datei (aus den gutan alten DTA Zeiten) für das neue SEPA-Format. Die Datei muss an Ihr kontoführendes Institut übertragen werden und wird hier genutzt um die gewünschten Zahlungsaufträge durchzuführen. In der Regel bietet Ihnen Ihre Geschäftsbank eine Online-Schnittstelle über welche Sie die XML-Datei übertragen können, alternativ helfen auch Homebanking-Programme wie z.B. Hibiscus oder StarMoney bei der Übertragung der gewünschten Datensätze an Ihr Institut.

Woher bekomme ich meine Gläubiger-ID?

Die SEPA Regularien zur Nutzung des Lastschriftverfahrens sehen vor, dass jeder Gläubiger (also derjenige der die Lastschrift vom Kunden einzieht und das Geld somit gutgeschrieben bekommt) über eine eindeutige Identifikations-ID verfügt. Diese Identifikations-ID nennt sich „Gläubiger-Identifikationsnummer“ und wird von der Bundesbank verwaltet und erteilt (weitere Details entnehmen Sie bitte der Informationsseite der Deutschen Bundesbank).
Ihre persönliche Gläuberiger-ID können Sie online bei der Deutschen Bundesbank beantragen. Die Zuteilung der Identifikationsnummer geht erfahrungsgemäß relativ schnell und wird Ihnen per Mail übermittelt: Gläubiger-ID beantragen

Wo finde ich nun die PHP-Klasse?

Ich habe mich dazu entschieden die PHP-Klasse zum kostenlosen Download bereitzustellen. Hierzu habe ich ein GitHub Repository angelegt in welchem der Sourcecode sowie einige kleine Beispiele abgelegt sind. Updates werden direkt dort vorgenommen. Sie finden das Repository unter folgende URL:

https://github.com/tschiffler/sepa-xml-creator-php
Artikel teilen

This article was written by Thomas Schiffler

Alles was mit IT zu tun hat steht bei mir hoch im Kurs. Hierbei dreht sich vieles um Java, Python oder auch mal PHP. Unser Zuhause ist mit diversen Raspberry PIs ausgestattet mit welchen ich versuche unser Leben durch etwas Automatisierung ein wenig smarter zu gestalten. Hierbei möchte ich die Technik und die dahinter eingesetzten Tools / Frameworks verstehen und nicht einfach nur Anwenden. Ich selbst bezeichne mich als ITler aus Leidenschaft :) Seit 2020 ist das Thema Chatbot / Voicebot / Conversational.ai in meinen Focus gerückt. In diesem Bereich investiere ich gerade viel Zeit.

0 thoughts on “SEPA Sammellastschrift / Basislastschrift XML mit PHP”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert