# SEPA-Lastschrift mit Online-Mandat: Dokumentation des PrestaShop-Moduls

> Überblick Das Modul dfsepadebit fügt PrestaShop 8 und 9 die SEPA-Lastschrift als Zahlungsart hinzu. Der Kunde unterschreibt im Bestellvorgang online ein Mandat mit einem per E-Mail gesendeten Code. Jede Bestellung,…

- Seite: <https://www.datafirefly.com/de/documentation/dfsepadebit/>
- Sprache: de
- Aktualisiert am: 2026-09-24
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfsepadebit/index.md), [en](https://www.datafirefly.com/en/documentation/dfsepadebit/index.md), [es](https://www.datafirefly.com/es/documentation/dfsepadebit/index.md), [it](https://www.datafirefly.com/it/documentation/dfsepadebit/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfsepadebit/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsepadebit/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsepadebit/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Überblick

Das Modul **dfsepadebit** fügt PrestaShop 8 und 9 die SEPA-Lastschrift als Zahlungsart hinzu. Der Kunde unterschreibt im Bestellvorgang online ein Mandat mit einem per E-Mail gesendeten Code. Jede Bestellung, jede Abo-Rate und jeder Einzelbeinzug wird zu einem Einzug, der dem Kunden vorab angekündigt wird. Sie erstellen die pain.008-Datei, laden sie bei Ihrer Bank hoch und importieren anschließend die Rückmeldedateien, um Zahlungen und Rücklastschriften zu aktualisieren.

Das Modul verbindet sich nicht mit Ihrer Bank und keine Daten laufen über Dritte: das Geld geht direkt auf Ihr Konto.

## Voraussetzungen

- **Gläubiger-Identifikationsnummer** (in Deutschland bei der Bundesbank beantragt) und **Inkassovereinbarung für SEPA-Lastschriften** mit Ihrer Bank. Nennen Sie das Firmenlastschriftverfahren, wenn Sie Unternehmen belasten.
- Das von Ihrer Bank akzeptierte Dateiformat (pain.008.001.02 oder pain.008.001.08) und die Einreichungsfrist (meist 1 TARGET-Geschäftstag vor dem Einzugsdatum).
- Ein Shop in **EUR**: die Zahlungsart erscheint nur für Warenkörbe in Euro.
- PrestaShop 8.0 bis 9.x, PHP mit OpenSSL-Erweiterung (AES-256-GCM-Verschlüsselung der IBAN).
- Eine tägliche Cron-Aufgabe (Hosting-Panel oder externer Dienst) für Pläne und automatische Bestätigungen.

## Installation

1. Klicken Sie unter _Module > Modulverwaltung_ auf _Modul hochladen_ und wählen Sie die ZIP-Datei `dfsepadebit`.
2. Das Modul legt seine Tabellen, zwei Bestellstatus („Warten auf SEPA-Lastschrift“ und „SEPA-Lastschrift zurückgewiesen“) und das Menü _Verkauf > SEPA-Lastschrift_ an.
3. Öffnen Sie die Konfiguration und tragen Sie die Gläubigerdaten ein. Solange Name, Gläubiger-ID und IBAN nicht gültig sind, bleibt die Zahlungsart ausgeblendet.
4. Kopieren Sie die oben in der Konfiguration angezeigte Cron-URL und planen Sie sie einmal täglich ein.

## Konfiguration

### Zahlungsempfänger

Name des Zahlungsempfängers (so wie er auf den Kontoauszügen Ihrer Kunden erscheint), Gläubiger-ID, IBAN des Gutschriftkontos, BIC (im EWR optional) und Adresse. Gläubiger-ID und IBAN werden beim Speichern geprüft.

### Mandate und Bestellvorgang

- **Verfahren neuer Mandate**: SEPA-Firmenlastschrift (B2B) oder SEPA-Basislastschrift (Core).
- **Präfix der Mandatsreferenzen**: Buchstaben und Ziffern, höchstens 8 Zeichen (standardmäßig DF).
- **Unterschrift mit per E-Mail gesendetem Code**: empfohlen. Deaktiviert unterschreibt der Kunde per Kontrollkästchen.
- **Nur für Kunden mit Firmennamen**: die Zahlungsart wird nur angeboten, wenn die Rechnungsadresse eine Firma enthält.
- **Zugelassene Kundengruppen**, **Mindest- und Höchstbestellwert**.
- **Maximales offenes Volumen pro Kunde**: noch nicht bezahlte Einzüge plus aktueller Warenkorb. Darüber wird die Zahlungsart für diesen Kunden ausgeblendet.
- **Ausblenden nach Rücklastschriften in den letzten 12 Monaten**: standardmäßig 2, 0 zum Deaktivieren.

### Einzüge und Bankdateien

- **Frist der Vorabankündigung**: die gesetzliche Standardfrist beträgt 14 Tage. Eine kürzere Frist (das Modul schlägt 2 Tage vor) gilt nur, wenn sie in Ihren AGB steht. Eine Bestellung wird am Ende dieser Frist eingezogen.
- **Einreichungsfrist Ihrer Bank** in TARGET-Geschäftstagen.
- **Dateiformat**: pain.008.001.02 (am weitesten verbreitet) oder pain.008.001.08.
- **Sammelbuchung**: eine Gutschrift pro Datei auf Ihrem Kontoauszug oder eine pro Einzug.
- **Erste Lastschrift als FRST**: aktiviert lassen, wenn Ihre Bank die Sequenz FRST noch verlangt.
- **Bankdatei automatisch erstellen**: die tägliche Aufgabe erstellt die Datei der innerhalb von N Tagen fälligen Einzüge und sendet sie als Anhang an die Benachrichtigungsadresse.
- **Automatisch als bezahlt markieren nach** N Tagen ohne Rücklastschrift (standardmäßig 5). 0, um manuell oder per camt.054 zu bestätigen.

### Rücklastschriften

- **Rückgabegründe mit automatischem neuen Versuch**: standardmäßig AM04, MS03.
- **Maximale Anzahl neuer Versuche** und **Frist vor einem neuen Versuch**.
- **Rücklastschriftgebühr**, die zum neuen Versuch hinzukommt, nur wenn Ihre AGB es vorsehen.
- **Rückgabegründe, die das Mandat widerrufen**: standardmäßig AC01, AC04, AC06, AC13, MD01, MD07.
- **E-Mail für Händlerbenachrichtigungen**: Rücklastschriften, Widerrufe, Bankwechsel, pausierte Pläne, automatische Dateien.

## Ablauf für den Kunden

### Unterschrift im Checkout

Im Zahlungsschritt wählt der Kunde „Per SEPA-Lastschrift bezahlen“. Mit einem aktiven Mandat wählt er sein Konto (maskierte IBAN) und schließt die Bestellung ab. Andernfalls öffnet sich im Zahlungsblock ein Formular, vorausgefüllt aus der Rechnungsadresse: Firma, Kontoinhaber, Adresse, IBAN (während der Eingabe geprüft) und BIC. Er liest den Mandatstext, setzt das Häkchen zur Zustimmung und erhält einen 6-stelligen Code per E-Mail. Mit der Eingabe des Codes ist das Mandat unterschrieben. Bis dahin ist der Bestellabschluss mit einem Hinweis gesperrt.

Verhindert das Theme die Ausführung des Skripts, wird der Kunde nach dem Bestellabschluss auf eine eigene Unterschriftsseite geleitet, danach wird die Bestellung angelegt. Es geht keine Zahlung verloren.

### Kundenkonto

Die Seite _Meine SEPA-Mandate_ zeigt die Mandate mit PDF, laufende Pläne und die letzten Lastschriften. Der Kunde kann ein Mandat widerrufen oder auf _Bankverbindung ändern_ klicken: er unterschreibt ein neues Mandat, seine Pläne und noch nicht gesendeten Einzüge gehen auf das neue Konto über und das alte Mandat wird geschlossen. Die Details jeder Bestellung zeigen Belastungsdatum und Status.

## Backoffice

### Übersicht

Betrag, der innerhalb von 7 Tagen an die Bank geht, Betrag bei der Bank in Erwartung der Bestätigung, im Monat eingezogen, Rücklastschriftquote über 90 Tage, wiederkehrender Monatsumsatz der Pläne mit festem Betrag, aktive und wartende Mandate. Ein Diagramm zeigt die nächsten 6 Wochen (angelegte Einzüge und Prognose der Pläne). Die letzten Rücklastschriften und die Mandate, die auf Unterschrift warten, mit der Schaltfläche _Erinnern_, vervollständigen die Seite. Ein Hinweis erscheint, wenn die tägliche Aufgabe seit 36 Stunden nicht gelaufen ist.

### Mandate

Die Schaltfläche _Neues Mandat_ bietet zwei Modi: dem Kunden eine Online-Unterschriftsanfrage senden (er erhält einen sicheren Link, ohne Anmeldung) oder ein bereits auf Papier unterschriebenes Mandat mit Unterschriftsdatum erfassen. Das Feld _Ersetzt das Mandat_ überträgt die Pläne eines bestehenden Mandats, sobald das neue unterschrieben ist. Die Mandatsseite zeigt die Unterschriftsnachweise (Datum, Methode, IP, Browser, SHA-256-Fingerabdruck), das PDF, Pläne und Einzüge, und erlaubt den Widerruf.

### Einzüge

Filterbare Liste aller Einzüge mit Status: zu exportieren, an die Bank gesendet, bezahlt, zurückgewiesen, storniert. Auf der Seite eines Einzugs: als bezahlt markieren, eine Rücklastschrift mit Code erfassen, stornieren (vor dem Export). Die Schaltfläche _Neuer Einzelbeinzug_ legt einen Einzug auf einem aktiven Mandat an, optional mit einer Bestellung verknüpft.

### Wiederkehrende Pläne

Ein Plan ist mit einem Mandat verknüpft (aktiv oder wartend) und arbeitet in zwei Modi: **fester Betrag** oder **Bestellung wiederholen** (die Referenzbestellung wird zu jedem Fälligkeitstermin zu aktuellen Preisen neu aufgegeben und dann eingezogen). Wählen Sie Häufigkeit, nächste Fälligkeit und Anzahl der Lastschriften (0 für unbefristet). Der Kunde erhält eine E-Mail mit der Übersicht. Ein Plan kann pausiert, fortgesetzt oder beendet werden.

### Bankdateien

1. Wählen Sie das späteste Fälligkeitsdatum der einzubeziehenden Einzüge und klicken Sie auf _Erstellen_.
2. Laden Sie die XML-Datei herunter und noch am selben Tag bei Ihrer Bank hoch.
3. Importieren Sie anschließend die Rückmeldedateien der Bank: pain.002 (Ablehnung von Datei oder Transaktionen), camt.054 oder camt.053 (Rückgaben und Gutschriften).

Eine noch nicht gesendete Datei kann storniert werden: ihre Einzüge sind wieder zu exportieren.

## Lebenszyklus eines Einzugs

1. **Zu exportieren**: mit der Bestellung, durch einen Plan oder manuell angelegt. Der Kunde erhält die Vorabankündigung.
2. **An die Bank gesendet**: in einer Datei enthalten. Das Datum kann auf den ersten möglichen Tag des TARGET2-Kalenders verschoben werden.
3. **Bezahlt**: nach der Frist ohne Rücklastschrift, beim camt.054-Import oder manuell. Die Bestellung wechselt auf „Zahlung eingegangen“.
4. **Zurückgewiesen**: R-Code erfasst, Bestellung auf „SEPA-Lastschrift zurückgewiesen“, neuer Versuch oder Widerruf je nach Konfiguration.

## Umgang mit Rücklastschriften

| Code | Bedeutung | Standardaktion |
| --- | --- | --- |
| AM04 | Keine Deckung | Neuer Versuch |
| MS03 | Grund von der Bank nicht angegeben | Neuer Versuch |
| AC01, AC04, AC06 | Konto falsch, aufgelöst oder gesperrt | Mandat widerrufen |
| AC13 | Verbraucherkonto bei Firmenlastschrift | Mandat widerrufen |
| MD01 | Kein gültiges Mandat (oft ein bei der Bank nicht bestätigtes B2B-Mandat) | Mandat widerrufen |
| MD07 | Zahler verstorben | Mandat widerrufen |
| MS02, MD06 | Widerspruch oder Erstattung durch den Zahler | Benachrichtigung, manuelle Bearbeitung |

Eine Ablehnung der Datei oder eines Zahlungsblocks in einer pain.002 (Format, unbekannte Gläubiger-ID...) betrifft den Kunden nicht: die Einzüge sind wieder für die nächste Datei zu exportieren.

## Tägliche Aufgabe (Cron)

Die mit Token geschützte Cron-URL legt die Einzüge der Pläne an, die innerhalb der Vorabankündigungsfrist fällig werden, erstellt die automatische Datei, wenn aktiviert, markiert Einzüge ohne Rücklastschrift nach der eingestellten Frist als bezahlt, lässt 36 Monate ungenutzte Mandate ablaufen und löscht seit 60 Tagen abgebrochene Unterschriften. Die Schaltfläche _Aufgaben jetzt ausführen_ auf der Seite Bankdateien macht dasselbe für den aktuellen Shop.

## Versendete E-Mails

- An den Kunden: Unterschriftscode, Mandatsbestätigung mit PDF, Unterschriftsanfrage, Plan-Übersicht, Vorabankündigung, Rücklastschrift.
- An den Händler: Rücklastschrift, Widerruf durch den Kunden, Bankwechsel, pausierter Plan, automatische Datei bereit (XML im Anhang).

Die Vorlagen liegen in 8 Sprachen unter `mails/` und lassen sich wie native E-Mails bearbeiten.

## Rechnung, Bestellseite und DSGVO

Die PDF-Rechnung enthält einen Hinweis zur Vorabankündigung (Betrag, Datum, maskierte IBAN, Mandatsreferenz, Gläubiger-ID), der nach Bestätigung des Einzugs zu „bezahlt am“ wird. Die Bestellseite im Backoffice zeigt Mandat und Einzüge. Mit dem offiziellen DSGVO-Modul werden die Mandate in den Datenexport aufgenommen; beim Löschen eines Kunden werden nur wartende und seit mehr als 14 Monaten geschlossene Mandate anonymisiert, die übrigen bleiben als Nachweis erhalten.

## Fehlerbehebung

### Die Zahlungsart erscheint nicht

Prüfen Sie, ob der Zahlungsempfänger gültig ist (grüner Hinweis oben in der Konfiguration), der Warenkorb in EUR ist, der Kunde angemeldet ist (kein Gast), die Rechnungsadresse eine Firma hat, falls die Option aktiv ist, und der Kunde das erlaubte offene Volumen oder die Anzahl Rücklastschriften nicht überschritten hat.

### Rücklastschrift MD01 bei einem B2B-Mandat

Der Kunde hat das Mandat nicht bei seiner Bank bestätigt. Bitten Sie ihn, dies mit Mandatsreferenz und Ihrer Gläubiger-ID nachzuholen, und legen Sie dann einen neuen Einzelbeinzug an.

### Der Kunde erhält keinen Code

Prüfen Sie die E-Mail-Konfiguration von PrestaShop und den Spam-Ordner des Kunden. Nach einer Minute kann ein neuer Code angefordert werden; der Code ist 10 Minuten gültig.
