Was GoCardless sagt
| Ereignis | Ursache | SEPA-Core-Code | Text von GoCardless |
|---|---|---|---|
| payments · charged_back | refund_requested | MD06 | This payment was charged back by the customer's bank at the customer's request within the 8 week cool-off period. |
Der Text sagt fast alles: Die Rückbuchung beantragt der Kunde, seine Bank wickelt sie ab, und sie fällt in die Frist von 8 Wochen, die GoCardless cool-off period nennt. Das ist kein Fehler beim Einzug: Das Geld ist angekommen und geht jetzt zurück.

Wann Sie es bemerken
Eine MD06-Rückbuchung kommt, wenn der Einzug bereits abgeschlossen ist. In Odoo war die Transaktion erledigt und die Rechnung bezahlt: Der Konnektor betrachtet einen Einzug als erfolgt, wenn GoCardless ihn als confirmed oder paid_out markiert. Danach gibt es ein weiteres Ereignis, das Sie kennen sollten, chargeback_settled: «This charged back payment has been settled against a payout.». Die Rückbuchung wird also mit einer Auszahlung von GoCardless verrechnet und Ihnen nicht separat belastet.
Macht die Bank des Kunden einen Rückzieher, sendet GoCardless chargeback_cancelled, und die Zahlung gilt wieder als eingezogen. Zwischen beidem können Tage vergehen. Treffen Sie daher keine Entscheidungen mit dem Kunden, ohne vorher in Odoo nachzusehen, in welchem Status die Transaktion ist: Sie spiegelt das letzte Ereignis wider, das GoCardless gesendet hat. Die Transaktion öffnen Sie über die Rechnung mit der Schaltfläche «Zahlungstransaktion» oben; das Menü der Transaktionen erscheint nur im Entwicklermodus und existiert in Odoo 20 nicht.
Was Odoo mit dem Konnektor tut
| Schritt | Was sich ändert |
|---|---|
| Die Transaktion | Wechselt von «Bestätigt» zu «Fehler»: Eine Rückbuchung macht einen Einzug rückgängig, der in Ordnung war. |
| Die Nachricht | «GoCardless reported a chargeback for this payment (refund_requested). The funds have been taken back and will be deducted from a future payout.» |
| Die Zahlung in Odoo | Wird storniert, und die Rechnung ist wieder offen. |
| Das Mandat | Bleibt gültig: refund_requested gehört nicht zu den Ursachen, bei denen der Konnektor das Mandat archiviert. |
Die Nachricht schreibt der Konnektor beim Anwenden des Ereignisses, ohne dass jemand davorsitzt. Der Konnektor ist nicht ins Deutsche übersetzt: Diese Texte erscheinen immer auf Englisch, auch in einem deutschen Odoo, egal ob ein Benutzer oder eine geplante Aktion sie auslöst: «GoCardless reported a chargeback for this payment (refund_requested). The funds have been taken back and will be deducted from a future payout.».
Die Transaktion bleibt mit aktivem Mandat im Fehlerstatus, zeigt aber nicht die Schaltfläche «Retry collection». Seit Version 1.1.4 bietet der Konnektor sie nur an, wenn die Zahlung bei GoCardless failed ist, und eine zurückgebuchte Zahlung steht auf charged_back. Das entspricht der Dokumentation von GoCardless: Der Wiederholungsversuch gilt nur für fehlgeschlagene Zahlungen, und auf eine zurückgebuchte Zahlung würde retry_failed antworten.
Dass das Mandat weiterlebt, ist richtig. Die Rückbuchung einer Lastschrift zu beantragen, bedeutet nicht, die Autorisierung zu widerrufen; wollte der Kunde das, wäre die Ursache eine andere (mandate_cancelled, mit dem Code MD01). Bei chargeback_cancelled betrachtet der Konnektor die Transaktion wieder als eingezogen.
Was zu tun ist
Eine MD06-Rückbuchung ist zuerst ein Gespräch mit dem Kunden und erst dann ein technisches Problem. Fragen Sie, was passiert ist: ein unerwarteter Betrag, eine Leistung, mit der er nicht zufrieden ist, oder eine doppelte Abbuchung. Mit der Antwort:
- Ist die Rechnung korrekt und der Kunde einverstanden, ziehen Sie sie mit einem neuen Einzug erneut ein, mit seiner gespeicherten Zahlungsmethode: Das Mandat ist weiterhin verfügbar. Die zurückgebuchte Transaktion hat keine Schaltfläche für einen Wiederholungsversuch.
- Hatte der Kunde recht, stellen Sie die passende Gutschrift aus und lassen die ursprüngliche Rechnung unbezahlt.
- Wiederholen sich die Rückbuchungen beim selben Kunden, erwägen Sie für ihn eine andere Zahlungsart.
Wie lange hat der Kunde Zeit, einen Einzug zurückzubuchen?
Bei einer MD06 spricht der Text von GoCardless von einer Frist von 8 Wochen: Der Kunde beantragt die Rückbuchung innerhalb dieser Frist bei seiner Bank. Deshalb ist ein bestätigter SEPA-Einzug in dieser Zeit nicht ganz endgültig.
Woran sehe ich, dass es eine Rückbuchung war und kein Fehler?
In der Transaktion, die Sie über die Rechnung mit der Schaltfläche «Zahlungstransaktion» öffnen: Das Feld «GoCardless Cause» zeigt refund_requested, und die Nachricht spricht von einer Rückbuchung, nicht von einem Einzug, der nicht ausgeführt werden konnte.

Mit unserem Konnektor
Der GoCardless-Konnektor für Odoo 17, 18, 19 und 20 lässt keine Rechnung als bezahlt stehen, obwohl das Geld nicht mehr bei Ihnen ist: Er storniert die Zahlung, öffnet die Rechnung wieder und speichert die Ursache. Und er bestraft den Kunden nicht, indem er wegen einer einmaligen Rückbuchung sein Mandat archiviert.
Weiterlesen
Geprüft im Quellcode des Connectors (Version 17.0, 18.0, 19.0 und 20.0) und in den verlinkten Quellen
Quellen
- Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 15 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 694 in 17.0 (d203ee6), Zeile 694 in 18.0 (e2ab18b), Zeile 693 in 19.0 (ce7f5a3) und Zeile 717 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 41 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 76 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 713 in 17.0 (d203ee6), Zeile 713 in 18.0 (e2ab18b), Zeile 712 in 19.0 (ce7f5a3) und Zeile 736 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 754 in 17.0 (d203ee6), Zeile 754 in 18.0 (e2ab18b), Zeile 753 in 19.0 (ce7f5a3) und Zeile 777 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 529 in 17.0 (d203ee6), Zeile 529 in 18.0 (e2ab18b), Zeile 529 in 19.0 (ce7f5a3) und Zeile 531 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 356 in 17.0 (d203ee6), Zeile 356 in 18.0 (e2ab18b), Zeile 356 in 19.0 (ce7f5a3) und Zeile 358 in 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/events/payment
- Quellcode des Moduls: flexigo_payment_gocardless: __manifest__.py, Zeile 31 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/events/mandate
- Quellcode des Moduls: flexigo_payment_gocardless: views/payment_transaction_views.xml, Zeile 13 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 63 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 418 in 17.0 (d203ee6), Zeile 418 in 18.0 (e2ab18b), Zeile 417 in 19.0 (ce7f5a3) und Zeile 432 in 20.0 (688d86b)
- github.com/odoo/odoo/blob/20.0/addons/payment/i18n/de.po
- github.com/odoo/odoo/blob/20.0/addons/payment/views/payment_transaction_views.xml
- Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 1016 in 17.0 (d203ee6), Zeile 1016 in 18.0 (e2ab18b), Zeile 1016 in 19.0 (ce7f5a3) und Zeile 1031 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 567 in 17.0 (d203ee6), Zeile 567 in 18.0 (e2ab18b), Zeile 567 in 19.0 (ce7f5a3) und Zeile 569 in 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/payment
- docs.gocardless.com/docs/api-reference/responses-and-errors
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 469 in 17.0 (d203ee6), Zeile 469 in 18.0 (e2ab18b), Zeile 468 in 19.0 (ce7f5a3) und Zeile 487 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 521 in 17.0 (d203ee6), Zeile 521 in 18.0 (e2ab18b), Zeile 521 in 19.0 (ce7f5a3) und Zeile 523 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_provider.py, Zeile 397 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: views/payment_transaction_views.xml, Zeile 22 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
- github.com/odoo/odoo/blob/17.0/odoo/http.py
- github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 435 in 17.0 (d203ee6), Zeile 435 in 18.0 (e2ab18b), Zeile 434 in 19.0 (ce7f5a3) und Zeile 449 in 20.0 (688d86b)
- Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 247 in 17.0 (d203ee6), Zeile 247 in 18.0 (e2ab18b), Zeile 247 in 19.0 (ce7f5a3) und Zeile 258 in 20.0 (688d86b)
