Què diu GoCardless
| Esdeveniment | Causa | Codi | Text de GoCardless |
|---|---|---|---|
| mandates · transferred | bank_account_transferred | AMEND | The customer's bank account was transferred to a different bank or building society. |
| mandates · transferred | mandate_transferred | (cap) | This mandate was transferred to a new bank account through GoCardless. |
La documentació d'esdeveniments descriu els dos camins en una frase: «The mandate has been transferred to a different bank account either using a bank switching service (where it is supported) or with help from GoCardless Support». El primer té origen bank i el segon, api.
I afegeix un matís sobre el primer: «When using a bank switching service, the mandate may have been submitted again, depending on how the involved banks handled the transfer.».

Quan apareix
Quan el client canvia de banc i el seu banc nou trasllada els seus rebuts domiciliats, o quan el client demana a GoCardless que cobri en un altre compte i el seu suport fa el canvi després de comprovar les dades. En els dos casos el mandat continua sent el mateix: el que canvia és el compte del qual surten els diners.
Què fa Odoo amb el connector
- Si el mètode de pagament estava actiu: el connector deixa l'estat del mandat com estava. El canvi de compte no el fa inservible, així que el mètode de pagament del client continua disponible per a la següent factura, i «Mandate Status» no canvia. No hi ha res a veure a Odoo.
- Si estava arxivat, perquè abans va arribar un esdeveniment que el donava per mort,
transferredés un dels esdeveniments amb què el connector el torna a donar per bo: el reactiva i ho escriu a la fitxa del client, «The GoCardless mandate is usable again (transferred).». Odoo 17 no deixa desarxivar un mètode de pagament; allà el connector en crea un de nou per al mateix mandat.
Aquesta nota l'escriu el connector en aplicar l'esdeveniment, sense ningú al 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: «The GoCardless mandate is usable again (transferred).».
El connector aplica els esdeveniments de mandat en ordre, del més antic al més recent, i si algun no ha arribat pel webhook, la tasca que cada hora recupera els esdeveniments perduts el porta.

No és el mateix que un mandat substituït
Amb transferred el mandat no canvia; amb replaced sí. En una substitució GoCardless cancel·la el mandat i en crea un altre, i l'esdeveniment porta el nou («The event will include links[new_mandate] with the ID of the new mandate.»). El connector passa aleshores el mètode de pagament al mandat nou. En un trasllat no hi ha mandat nou: el connector es queda amb el que tenia.
Tampoc no és una cancel·lació. Un mandat cancel·lat, fallit, caducat, consumit o bloquejat està mort per al connector, que l'arxiva i en demana un de nou. Un mandat traslladat continua viu.
Què cal fer
- Res a Odoo: les següents factures es cobren amb el mateix mètode de pagament.
- Si el client t'avisa que ha canviat de banc, no cal demanar-li un altre mandat: el trasllat ho comunica GoCardless.
- Si el mètode de pagament estava arxivat i torna a estar disponible, comprova a la fitxa del client la nota del connector i cobra amb ell les factures que han quedat pendents.
He de demanar al client un mandat nou?
No. GoCardless ha passat el mateix mandat al compte nou del client, i el connector el continua fent servir.
Què vol dir AMEND?
És el codi amb què GoCardless documenta aquest esdeveniment a SEPA Core, quan el trasllat arriba del banc. A Odoo no el veuràs: el connector no guarda ni mostra el codi SEPA.
Amb el nostre connector
A Odoo 17, 18, 19 i 20 el connector no converteix un canvi de compte en un problema: manté el mandat i el mètode de pagament del client i, si estava arxivat, el recupera i deixa una nota a la seva fitxa.
Continua llegint
Comprovat al codi del connector (versió 17.0, 18.0, 19.0 i 20.0) i a les fonts enllaçades
Fonts
- docs.gocardless.com/docs/api-reference/events/mandate
- 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)
- Codi del mòdul: flexigo_payment_gocardless: const.py, línia 158 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 77 a 17.0 (d203ee6), línia 77 a 18.0 (e2ab18b), línia 77 a 19.0 (ce7f5a3) i línia 76 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: models/payment_token.py, línia 96 a 17.0 (d203ee6), línia 96 a 18.0 (e2ab18b), línia 96 a 19.0 (ce7f5a3) i línia 95 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 1157 a 17.0 (d203ee6), línia 1157 a 18.0 (e2ab18b), línia 1157 a 19.0 (ce7f5a3) i línia 1164 a 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 72 a 17.0 (d203ee6), línia 72 a 18.0 (e2ab18b), línia 72 a 19.0 (ce7f5a3) i línia 71 a 20.0 (688d86b)
- Codi del mòdul: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, línia 785 a 17.0 (d203ee6), línia 785 a 18.0 (e2ab18b), línia 785 a 19.0 (ce7f5a3) i línia 800 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: models/payment_provider.py, línia 527 a 17.0 (d203ee6), línia 527 a 18.0 (e2ab18b), línia 527 a 19.0 (ce7f5a3) i línia 529 a 20.0 (688d86b)
- 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)
- 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)
- github.com/odoo/odoo/blob/17.0/odoo/http.py
- 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)
- github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml
