Salta al contingut principal
GoCardless · SEPA Core · pagament fallit i mandat cancel·lat

GoCardless bank_account_closed: AC04 i MD07, el compte ja no existeix

bank_account_closed és un error sense marxa enrere: el compte on el client va signar el mandat està tancat, o el seu titular ha traspassat. GoCardless ho comunica en el pagament que falla i en el mandat, que queda cancel·lat. Cap reintent ho arregla.

FlexigoTech · Responsable: Víctor Gómez · Actualitzat el 6 de novembre de 2026

L'essencial

Versions
Odoo 17, 18, 19 i 20
Comprovat
al codi del connector, versió 17.0, 18.0, 19.0 i 20.0 · a les fonts enllaçades al final
Lectura
4 min

Què diu GoCardless

EsdevenimentCodi SEPA CoreText de 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.

La causa és la mateixa en les quatre files, bank_account_closed; el codi distingeix el motiu. Fixa't en la tercera: a més del mandat, GoCardless cancel·la els pagaments pendents d'aquest mandat, que et arribaran com a pagaments cancel·lats amb la mateixa causa.

Targeta de la causa bank_account_closed de GoCardless
La causa, els seus codis AC04 i MD07 i el text de GoCardless per a AC04.

Dos esdeveniments per a un mateix fet

Un tancament de compte arriba a Odoo dues vegades: amb el pagament que falla i amb el mandat que es cancel·la. El connector atén els dos: el primer que arriba arxiva el mandat i avisa, i el segon ja el troba arxivat, sense repetir l'avís. Si algun no arriba pel webhook, la tasca que cada hora demana a GoCardless els esdeveniments perduts el recupera, fins a 100 per passada.

Què fa el connector

  1. Passa la transacció a error amb «GoCardless could not collect this payment (bank_account_closed).» i guarda la causa.
  2. Si la factura ja estava pagada amb aquest cobrament, anul·la el pagament a Odoo i la factura torna a estar pendent.
  3. Arxiva el mètode de pagament del client: bank_account_closed és una de les quatre causes amb les quals el connector dona el mandat per mort, juntament amb mandate_cancelled, mandate_expired i authorisation_disputed.
  4. Ho escriu a la fitxa del client: «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. Crea una activitat «GoCardless mandate lost» perquè algú se n'encarregui abans de la següent factura.

El mandat arxivat es queda a Odoo com a històric, però ja no s'ofereix per cobrar. La transacció s'obre des de la factura, amb el botó «Transacció de pagament» de dalt; el menú de transaccions només surt en mode desenvolupador, i a Odoo 20 no existeix.

Aquests tres textos els escriu el connector en aplicar l'esdeveniment, sense ningú davant. El connector no està traduït al català: aquests textos surten sempre en anglès, també en un Odoo en català, tant si els llança un usuari com una tasca programada: «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.» i «GoCardless mandate lost».

Com saber si és AC04 o MD07

Des d'Odoo no es distingeix. La causa és la mateixa, el connector guarda la causa i no el codi SEPA, i la nota del client i l'activitat diuen el mateix en els dos casos. El codi el veus a GoCardless. Segons el seu centre d'ajuda, el motiu de cada fallada surt a la cronologia del pagament, al Dashboard («You are able to view the reason for a payment failure in the status timeline of the payment in your GoCardless dashboard.»). En el mode avançat, el codi exacte també va a l'esdeveniment (details.reason_code), i el Dashboard guarda els enviaments dels últims 3 mesos a Developers > Webhooks, amb el seu contingut.

Si el codi és MD07

MD07 no és un problema tècnic. El titular del compte ha traspassat i el mandat es cancel·la. Les factures pendents d'aquest client no es cobraran per domiciliació, i com reclamar-les és una qüestió que té a veure amb la teva assessoria, no amb el connector. El prudent és revisar els seus cobraments programats i subscripcions a Odoo perquè no se'n generin més. La nota d'Odoo demana un mandat nou també en aquest cas, perquè només coneix la causa: amb MD07, no el demanis.

Què fer amb AC04

  • Contacta amb el client: té un compte nou, o el tindrà, i necessita signar un mandat amb ell.
  • Quan signi, el mandat nou serà un altre mètode de pagament a Odoo; el vell continua arxivat.
  • Cobra amb el mandat nou les factures que han quedat pendents.
Esquema: què envia GoCardless amb bank_account_closed i què fa Odoo amb el connector
Esquema fet a partir del codi del connector (17.0, 18.0, 19.0 i 20.0) i de la documentació de GoCardless.

Puc reintentar un pagament amb bank_account_closed?

No té sentit: el compte no existeix. A més, el connector arxiva el mandat, i amb el mandat arxivat el botó «Retry collection» no surt a la transacció.

I si el client ha canviat de banc amb el servei de traspàs de comptes?

Això no és un tancament: GoCardless ho comunica com a mandat transferit, amb la causa bank_account_transferred, i el mandat continua valent.

Amb el nostre connector

El connector de GoCardless per a Odoo 17, 18, 19 i 20 fa amb bank_account_closed el que faria una persona atenta: dona el cobrament per fallit, reobre la factura, retira el mandat mort perquè ningú el torni a fer servir i deixa un avís amb la causa a la fitxa del client.

Continua llegint

GoCardless invalid_bank_details: AC01 i BE06, el compte indicat no existeixGoCardless invalid_bank_details amb AC01 o BE06: el compte del mandat no existeix. Per què arriba en el pagament i en el mandat, i què fa Odoo amb el connector.GoCardless direct_debit_not_enabled: AG01 i AC06, un compte que no admet el rebutGoCardless direct_debit_not_enabled amb AG01 o AC06: el compte del client no admet rebuts SEPA, o està bloquejat. Què fa Odoo amb el connector.Error mandate_is_inactive de GoCardless en crear un cobrament des d'OdooGoCardless respon mandate_is_inactive en crear un pagament amb un mandat cancel·lat, fallit o caducat. Per què passa i com ho resol el connector a Odoo.
Comprovat al codi del connector (versió 17.0, 18.0, 19.0 i 20.0) i a les fonts enllaçades

Fonts

  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 15 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 442 a 17.0 (d203ee6), línia 442 a 18.0 (e2ab18b), línia 441 a 19.0 (ce7f5a3) i línia 456 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_token.py, línia 83 a 17.0 (d203ee6), línia 83 a 18.0 (e2ab18b), línia 83 a 19.0 (ce7f5a3) i línia 82 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 145 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • docs.gocardless.com/docs/api-reference/events/mandate
  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 76 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 33 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_token.py, línia 131 a 17.0 (d203ee6), línia 131 a 18.0 (e2ab18b), línia 131 a 19.0 (ce7f5a3) i línia 130 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 725 a 17.0 (d203ee6), línia 725 a 18.0 (e2ab18b), línia 724 a 19.0 (ce7f5a3) i línia 748 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 754 a 17.0 (d203ee6), línia 754 a 18.0 (e2ab18b), línia 753 a 19.0 (ce7f5a3) i línia 777 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 117 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 436 a 17.0 (d203ee6), línia 436 a 18.0 (e2ab18b), línia 436 a 19.0 (ce7f5a3) i línia 438 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1148 a 17.0 (d203ee6), línia 1148 a 18.0 (e2ab18b), línia 1148 a 19.0 (ce7f5a3) i línia 1155 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 495 a 17.0 (d203ee6), línia 495 a 18.0 (e2ab18b), línia 495 a 19.0 (ce7f5a3) i línia 497 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: __manifest__.py, línia 31 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • docs.gocardless.com/docs/api-reference/events/payment
  • Codi del mòdul: flexigo_payment_gocardless: views/payment_transaction_views.xml, línia 13 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 63 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: models/payment_transaction.py, línia 418 a 17.0 (d203ee6), línia 418 a 18.0 (e2ab18b), línia 417 a 19.0 (ce7f5a3) i línia 432 a 20.0 (688d86b)
  • Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1016 a 17.0 (d203ee6), línia 1016 a 18.0 (e2ab18b), línia 1016 a 19.0 (ce7f5a3) i línia 1031 a 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
  • Codi del mòdul: flexigo_payment_gocardless: const.py, línia 66 a 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) i 20.0 (688d86b)
  • github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml