O que diz a GoCardless
| Evento | Causa | Código | Texto da 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 | (nenhum) | This mandate was transferred to a new bank account through GoCardless. |
A documentação de eventos descreve os dois caminhos numa 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». O primeiro tem origem bank e o segundo, api.
E acrescenta um pormenor sobre o primeiro: «When using a bank switching service, the mandate may have been submitted again, depending on how the involved banks handled the transfer.».

Quando aparece
Quando o cliente muda de banco e o novo banco transfere os seus débitos diretos, ou quando o cliente pede à GoCardless que cobre noutra conta e o seu suporte faz a mudança depois de verificar os dados. Nos dois casos o mandato continua a ser o mesmo: o que muda é a conta de onde sai o dinheiro.
O que o Odoo faz com o conector
- Se o método de pagamento estava ativo: o conector deixa o estado do mandato como estava. A mudança de conta não o torna inutilizável, por isso o método de pagamento do cliente continua disponível para a próxima fatura, e «Estado do mandato» não muda. Não há nada para ver no Odoo.
- Se estava arquivado, porque antes chegou um evento que o dava por morto,
transferredé um dos eventos com que o conector volta a dá-lo por válido: reativa-o e escreve-o na ficha do cliente, «O mandato GoCardless pode voltar a ser usado (transferred).». O Odoo 17 não deixa desarquivar um método de pagamento; aí o conector cria um novo para o mesmo mandato.
Estes textos saem no idioma de quem lança a cobrança; se for uma ação agendada, como a renovação de uma subscrição, são escritos sem ninguém à frente: numa base de dados criada em português saem assim, e numa criada em inglês e passada depois para português, em inglês: «The GoCardless mandate is usable again (transferred).».
O conector aplica os eventos de mandato por ordem, do mais antigo para o mais recente, e se algum não chegou pelo webhook, a tarefa que de hora a hora recupera os eventos perdidos traz esse evento.

Não é o mesmo que um mandato substituído
Com transferred o mandato não muda; com replaced muda. Numa substituição a GoCardless cancela o mandato e cria outro, e o evento traz o novo («The event will include links[new_mandate] with the ID of the new mandate.»). O conector passa então o método de pagamento para o mandato novo. Numa transferência não há mandato novo: o conector fica com o que já tinha.
Também não é um cancelamento. Um mandato cancelado, falhado, expirado, consumido ou bloqueado está morto para o conector, que o arquiva e pede um novo. Um mandato transferido continua vivo.
O que fazer
- Nada no Odoo: as faturas seguintes cobram-se com o mesmo método de pagamento.
- Se o cliente o avisar de que mudou de banco, não é preciso pedir-lhe outro mandato: a transferência é comunicada pela GoCardless.
- Se o método de pagamento estava arquivado e voltou a estar disponível, verifique na ficha do cliente a nota do conector e cobre com ele as faturas que ficaram pendentes.
Tenho de pedir ao cliente um mandato novo?
Não. A GoCardless passou o mesmo mandato para a conta nova do cliente, e o conector continua a usá-lo.
O que significa AMEND?
É o código com que a GoCardless documenta este evento no SEPA Core, quando a transferência vem do banco. No Odoo não o vai ver: o conector não guarda nem mostra o código SEPA.
Com o nosso conector
No Odoo 17, 18, 19 e 20 o conector não transforma uma mudança de conta num problema: mantém o mandato e o método de pagamento do cliente e, se estava arquivado, recupera-o e deixa uma nota na sua ficha.
Continue a ler
Verificado no código do conector (versão 17.0, 18.0, 19.0 e 20.0) e nas fontes indicadas
Fontes
- docs.gocardless.com/docs/api-reference/events/mandate
- Código do módulo: flexigo_payment_gocardless: const.py, linha 145 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: const.py, linha 158 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: models/payment_token.py, linha 77 em 17.0 (d203ee6), linha 77 em 18.0 (e2ab18b), linha 77 em 19.0 (ce7f5a3) e linha 76 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: models/payment_token.py, linha 96 em 17.0 (d203ee6), linha 96 em 18.0 (e2ab18b), linha 96 em 19.0 (ce7f5a3) e linha 95 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 1253 em 17.0 (d203ee6), linha 1253 em 18.0 (e2ab18b), linha 1253 em 19.0 (ce7f5a3) e linha 1265 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: const.py, linha 33 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: models/payment_token.py, linha 72 em 17.0 (d203ee6), linha 72 em 18.0 (e2ab18b), linha 72 em 19.0 (ce7f5a3) e linha 71 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 847 em 17.0 (d203ee6), linha 847 em 18.0 (e2ab18b), linha 847 em 19.0 (ce7f5a3) e linha 869 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: const.py, linha 117 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: models/payment_provider.py, linha 527 em 17.0 (d203ee6), linha 527 em 18.0 (e2ab18b), linha 527 em 19.0 (ce7f5a3) e linha 529 em 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: const.py, linha 66 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Código do módulo: flexigo_payment_gocardless: const.py, linha 15 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- github.com/odoo/odoo/blob/17.0/odoo/http.py
- Código do módulo: flexigo_payment_gocardless: __manifest__.py, linha 31 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml
