Zum Hauptinhalt springen
GoCardless · SEPA Core · fehlgeschlagene Zahlung und storniertes Mandat

GoCardless bank_account_closed: AC04 und MD07, das Konto existiert nicht mehr

bank_account_closed ist ein Fehler ohne Rückweg: Das Konto, auf dem der Kunde das Mandat unterschrieben hat, ist geschlossen, oder sein Kontoinhaber ist verstorben. GoCardless meldet es in der fehlgeschlagenen Zahlung und im Mandat, das storniert wird. Kein Wiederholungsversuch behebt das.

FlexigoTech · Verantwortlich: Víctor Gómez · Aktualisiert am 6. November 2026

Das Wichtigste

Versionen
Odoo 17, 18, 19 und 20
Geprüft
im Quellcode des Connectors, Version 17.0, 18.0, 19.0 und 20.0 · in den Quellen am Ende
Lesezeit
4 Min.

Was GoCardless meldet

EreignisSEPA-Core-CodeText von GoCardless
payments · failedAC04The bank account for this payment has been closed. The mandate will also be cancelled.
payments · failedMD07This payment failed because the customer is deceased.
mandates · cancelledAC04The bank account for this mandate has been closed. Any subscriptions and pending payment will also be cancelled.
mandates · cancelledMD07This mandate has been cancelled because the customer is deceased.

Der Grund ist in allen vier Zeilen derselbe, bank_account_closed; der Code unterscheidet den Anlass. Achten Sie auf die dritte Zeile: GoCardless storniert neben dem Mandat auch die ausstehenden Zahlungen dieses Mandats, die Ihnen als stornierte Zahlungen mit demselben Grund ankommen.

GoCardless-Karte zum Grund bank_account_closed
Der Grund, seine Codes AC04 und MD07 und der Text von GoCardless für AC04.

Zwei Ereignisse für denselben Vorgang

Eine Kontoschließung kommt in Odoo zweimal an: mit der fehlgeschlagenen Zahlung und mit dem Mandat, das storniert wird. Der Konnektor verarbeitet beide: Das zuerst eintreffende archiviert das Mandat und meldet es, das zweite findet es bereits archiviert vor und wiederholt die Meldung nicht. Falls eines über den Webhook nicht ankommt, holt die stündliche Aufgabe, die bei GoCardless verlorene Ereignisse anfordert, es nach, bis zu 100 pro Durchlauf.

Was der Konnektor macht

  1. Setzt die Transaktion auf Fehler mit «GoCardless could not collect this payment (bank_account_closed).» und speichert den Grund.
  2. War die Rechnung mit dieser Abbuchung bereits bezahlt, storniert er die Zahlung in Odoo, und die Rechnung ist wieder offen.
  3. Archiviert die Zahlungsmethode des Kunden: bank_account_closed gehört zu den vier Gründen, mit denen der Konnektor das Mandat für tot erklärt, zusammen mit mandate_cancelled, mandate_expired und authorisation_disputed.
  4. Schreibt es in die Kundenkarte: «The GoCardless direct debit mandate of … is no longer usable (bank_account_closed). No further collection can be taken against it. Ask the customer to set up a new mandate.»
  5. Legt eine Aktivität «GoCardless mandate lost» an, damit sich jemand vor der nächsten Rechnung darum kümmert.

Das archivierte Mandat bleibt in Odoo als Historie erhalten, wird zum Einziehen aber nicht mehr angeboten. Die Transaktion öffnen Sie aus der Rechnung über die Schaltfläche «Zahlungstransaktion» oben; das Menü der Transaktionen erscheint nur im Entwicklermodus und existiert in Odoo 20 nicht.

Diese drei Texte schreibt der Konnektor beim Anwenden des Ereignisses, ohne dass jemand eingreift. 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 could not collect this payment (bank_account_closed).», «The GoCardless direct debit mandate of … is no longer usable (bank_account_closed). No further collection can be taken against it. Ask the customer to set up a new mandate.» und «GoCardless mandate lost».

Wie Sie AC04 von MD07 unterscheiden

Aus Odoo heraus ist das nicht zu unterscheiden. Der Grund ist derselbe, der Konnektor speichert den Grund und nicht den SEPA-Code, und die Notiz am Kunden und die Aktivität sagen in beiden Fällen dasselbe. Den Code sehen Sie bei GoCardless. Laut deren Hilfezentrum steht der Grund eines Fehlschlags in der Zeitleiste der Zahlung, im Dashboard («You are able to view the reason for a payment failure in the status timeline of the payment in your GoCardless dashboard.»). Im erweiterten Modus steht der genaue Code auch im Ereignis (details.reason_code), und das Dashboard bewahrt die Sendungen der letzten 3 Monate unter Developers > Webhooks samt Inhalt auf.

Wenn der Code MD07 ist

MD07 ist kein technisches Problem. Der Kontoinhaber ist verstorben, und das Mandat wird storniert. Die offenen Rechnungen dieses Kunden werden nicht per Lastschrift eingezogen, und wie sie einzufordern sind, ist eine Frage für Ihre Steuerberatung, nicht für den Konnektor. Ratsam ist, die geplanten Abbuchungen und Abonnements dieses Kunden in Odoo zu prüfen, damit keine weiteren entstehen. Die Notiz von Odoo verlangt auch in diesem Fall ein neues Mandat, da sie nur den Grund kennt: Bei MD07 fordern Sie keines an.

Was bei AC04 zu tun ist

  • Nehmen Sie Kontakt mit dem Kunden auf: Er hat ein neues Konto oder wird eines haben und muss damit ein Mandat unterschreiben.
  • Nach der Unterschrift ist das neue Mandat eine weitere Zahlungsmethode in Odoo; das alte bleibt archiviert.
  • Ziehen Sie die offen gebliebenen Rechnungen mit dem neuen Mandat ein.
Schema: was GoCardless bei bank_account_closed sendet und was Odoo mit dem Konnektor macht
Schema anhand des Codes des Konnektors (17.0, 18.0, 19.0 und 20.0) und der Dokumentation von GoCardless.

Kann ich eine Zahlung mit bank_account_closed erneut versuchen?

Das ergibt keinen Sinn: Das Konto existiert nicht. Außerdem archiviert der Konnektor das Mandat, und bei archiviertem Mandat erscheint die Schaltfläche «Retry collection» in der Transaktion nicht.

Und wenn der Kunde mit dem Kontowechsel-Dienst die Bank gewechselt hat?

Das ist keine Schließung: GoCardless meldet es als übertragenes Mandat mit dem Grund bank_account_transferred, und das Mandat bleibt gültig.

Mit unserem Konnektor

Der GoCardless-Konnektor für Odoo 17, 18, 19 und 20 macht bei bank_account_closed das, was eine aufmerksame Person täte: Er setzt die Abbuchung auf fehlgeschlagen, öffnet die Rechnung wieder, nimmt das tote Mandat aus dem Verkehr, damit es niemand erneut verwendet, und hinterlässt in der Kundenkarte einen Hinweis mit dem Grund.

Weiterlesen

GoCardless invalid_bank_details: AC01 und BE06, das angegebene Konto existiert nichtGoCardless invalid_bank_details mit AC01 oder BE06: Das Konto des Mandats existiert nicht. Warum es bei Zahlung und Mandat auftritt und was Odoo tut.GoCardless direct_debit_not_enabled: AG01 und AC06, ein Konto ohne LastschriftGoCardless direct_debit_not_enabled mit AG01 oder AC06: Das Kundenkonto lässt keine SEPA-Lastschriften zu oder ist gesperrt. Was Odoo mit dem Konnektor tut.GoCardless-Fehler mandate_is_inactive beim Anlegen einer Zahlung aus OdooGoCardless meldet mandate_is_inactive bei Zahlungen mit gekündigtem, fehlgeschlagenem oder abgelaufenem Mandat. Ursache und Lösung im Odoo-Konnektor.
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 442 in 17.0 (d203ee6), Zeile 442 in 18.0 (e2ab18b), Zeile 441 in 19.0 (ce7f5a3) und Zeile 456 in 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: models/payment_token.py, Zeile 83 in 17.0 (d203ee6), Zeile 83 in 18.0 (e2ab18b), Zeile 83 in 19.0 (ce7f5a3) und Zeile 82 in 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 145 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: const.py, Zeile 76 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 33 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: models/payment_token.py, Zeile 131 in 17.0 (d203ee6), Zeile 131 in 18.0 (e2ab18b), Zeile 131 in 19.0 (ce7f5a3) und Zeile 130 in 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: models/payment_transaction.py, Zeile 725 in 17.0 (d203ee6), Zeile 725 in 18.0 (e2ab18b), Zeile 724 in 19.0 (ce7f5a3) und Zeile 748 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: const.py, Zeile 117 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 436 in 17.0 (d203ee6), Zeile 436 in 18.0 (e2ab18b), Zeile 436 in 19.0 (ce7f5a3) und Zeile 438 in 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 1148 in 17.0 (d203ee6), Zeile 1148 in 18.0 (e2ab18b), Zeile 1148 in 19.0 (ce7f5a3) und Zeile 1155 in 20.0 (688d86b)
  • Quellcode des Moduls: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, Zeile 495 in 17.0 (d203ee6), Zeile 495 in 18.0 (e2ab18b), Zeile 495 in 19.0 (ce7f5a3) und Zeile 497 in 20.0 (688d86b)
  • 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/payment
  • 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)
  • 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)
  • docs.gocardless.com/docs/api-reference/webhooks
  • github.com/odoo/odoo/blob/17.0/odoo/http.py
  • support.gocardless.com/hc/en-gb/articles/360001467265
  • Quellcode des Moduls: flexigo_payment_gocardless: const.py, Zeile 66 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) und 20.0 (688d86b)
  • github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml