Saltar para o conteúdo principal
GoCardless · SEPA Core · dados bancários

GoCardless invalid_bank_details: AC01 e BE06, a conta indicada não existe

Com invalid_bank_details o banco indica que a conta do mandato não existe. Costuma tratar-se de um IBAN copiado incorretamente na assinatura. A GoCardless comunica-o com os códigos SEPA AC01 ou BE06, no mandato e, se já houver uma cobrança em curso, também no pagamento.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 6 de novembro de 2026

O essencial

Módulo
GoCardless
Versões
Odoo 17, 18, 19 e 20
Verificado
no código do conector, versão 17.0, 18.0, 19.0 e 20.0 · nas fontes indicadas no fim
Leitura
4 min

O que diz a GoCardless

EventoCódigosTexto da GoCardless
payments · failedAC01, BE06The bank account specified does not exist. The mandate will also be cancelled.
mandates · failedAC01The bank account specified does not exist. Any subscriptions and pending payments will also be cancelled.
mandates · cancelledAC01, BE06The bank account specified does not exist. Any subscriptions and pending payments will also be cancelled.
Cartão da causa invalid_bank_details da GoCardless
A causa, os seus códigos SEPA Core AC01 e BE06 e o texto da GoCardless para o pagamento falhado.

Quando aparece

Depende de quando o banco o deteta. Se rejeitar o mandato ao ser registado, a GoCardless marca-o como falhado (mandates · failed) e nunca chega a cobrar nada. Se o mandato já estava ativo e a primeira cobrança é devolvida com AC01 ou BE06, o pagamento falha e a GoCardless cancela o mandato (mandates · cancelled), juntamente com os pagamentos pendentes desse mandato.

Nos dois casos a solução é a mesma: o cliente tem de assinar de novo com uma conta que exista.

O que o Odoo faz com o conector

O conector reage a cada evento separadamente, e convém saber o que faz cada um:

  • O pagamento falhado passa a transação para erro com «A GoCardless não conseguiu cobrar este pagamento (invalid_bank_details).». Se a fatura já estava paga com essa cobrança, anula o pagamento e a fatura volta a ficar pendente.
  • O evento do mandato, falhado ou cancelado, é o que o retira: o conector dá por inválidos os mandatos nesses estados, arquiva o método de pagamento, escreve na ficha do cliente que o mandato já não pode ser usado e cria a atividade «Mandato da GoCardless perdido».

Estes textos são escritos pelo conector ao aplicar o evento, sem ninguém a acompanhar. Numa base de dados criada em português saem em português; numa criada em inglês e passada depois para português saem em inglês: «GoCardless could not collect this payment (invalid_bank_details).» e «GoCardless mandate lost».

O pagamento falhado por si só não arquiva o mandato: invalid_bank_details não está entre as quatro causas com as quais o conector o faz ao receber um pagamento. Quem o arquiva é o evento do mandato, que a GoCardless envia sempre neste caso. Se se perdesse pelo caminho, a tarefa que de hora a hora recupera os eventos em falta trá-lo.

A transação abre-se a partir da fatura, com o botão «Transação de Pagamento» no topo; o menu de transações só aparece em modo de programador, e no Odoo 20 não existe. Enquanto o mandato não estiver arquivado no Odoo, a transação em erro mostra o botão «Tentar cobrar novamente», mas não serve de nada. A GoCardless só volta a tentar um pagamento se o mandato estiver ativo, e com AC01 ou BE06 cancela-o. Se o carregar e a GoCardless o rejeitar, o conector consulta o mandato e, se estiver inválido, arquiva-o e indica-o na transação: «O mandato GoCardless do cliente está no estado …, pelo que não pode ser cobrado. Peça ao cliente um novo mandato.». Com o mandato arquivado, o botão deixa de aparecer.

O que fazer

  1. Confirme com o cliente o IBAN completo: basta um dígito trocado para que a conta não exista.
  2. Peça-lhe que assine um mandato novo com a conta correta. Será um novo método de pagamento no Odoo.
  3. Cobre com ele as faturas que tenham ficado pendentes; as que a GoCardless cancelou não se apresentarão sozinhas.
  4. Se o cliente garantir que o IBAN estava correto, que o consulte com o seu banco: AC01 e BE06 são a resposta do banco dele, não da GoCardless. No Odoo verá apenas a causa, porque o conector não guarda o código SEPA. Segundo o centro de ajuda da GoCardless, o motivo de cada falha aparece na cronologia do pagamento, no Dashboard («You are able to view the reason for a payment failure in the status timeline of the payment in your GoCardless dashboard.»).
Esquema: o que a GoCardless envia com invalid_bank_details e o que o Odoo faz com o conector
Esquema feito a partir do código do conector (17.0, 18.0, 19.0 e 20.0) e da documentação da GoCardless; o que está riscado é o que o evento do pagamento não faz.

Porque há dois códigos, AC01 e BE06?

A GoCardless agrupa os dois sob a mesma causa e o mesmo texto para SEPA Core. Para si a consequência é idêntica: com essa conta não é possível cobrar, e é preciso outra assinatura.

Pode corrigir-se o IBAN do mandato no Odoo?

Não. O mandato é a autorização que o cliente assinou com essa conta; a conta correta vai num mandato novo.

Com o nosso conector

No Odoo 17, 18, 19 e 20 o conector não deixa um mandato inválido à vista para a fatura seguinte: retira-o quando a GoCardless o dá por falhado ou cancelado, reabre o que houver a reabrir e deixa registado na ficha do cliente o que aconteceu.

Continue a ler

GoCardless bank_account_closed: AC04 e MD07, a conta já não existeGoCardless bank_account_closed com AC04 (conta encerrada) ou MD07 (titular falecido): o mandato fica cancelado. O que o Odoo faz à fatura e ao cliente.Erro mandate_is_inactive da GoCardless ao criar uma cobrança a partir do OdooA GoCardless responde mandate_is_inactive ao criar um pagamento com um mandato cancelado, falhado ou expirado. Porquê e como o conector o resolve no Odoo.GoCardless MD01: mandate_cancelled e authorisation_disputed num débito SEPAO código SEPA MD01 chega na GoCardless como mandate_cancelled ou authorisation_disputed, num débito falhado, devolvido ou cancelado. O que o Odoo faz com ele.
Verificado no código do conector (versão 17.0, 18.0, 19.0 e 20.0) e nas fontes indicadas

Fontes

  • 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)
  • Código do módulo: flexigo_payment_gocardless: const.py, linha 76 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 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 83 em 17.0 (d203ee6), linha 83 em 18.0 (e2ab18b), linha 83 em 19.0 (ce7f5a3) e linha 82 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: models/payment_token.py, linha 131 em 17.0 (d203ee6), linha 131 em 18.0 (e2ab18b), linha 131 em 19.0 (ce7f5a3) e linha 130 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: models/payment_transaction.py, linha 725 em 17.0 (d203ee6), linha 725 em 18.0 (e2ab18b), linha 724 em 19.0 (ce7f5a3) e linha 748 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: models/payment_transaction.py, linha 754 em 17.0 (d203ee6), linha 754 em 18.0 (e2ab18b), linha 753 em 19.0 (ce7f5a3) e linha 777 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_transaction.py, linha 442 em 17.0 (d203ee6), linha 442 em 18.0 (e2ab18b), linha 441 em 19.0 (ce7f5a3) e linha 456 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 462 em 17.0 (d203ee6), linha 462 em 18.0 (e2ab18b), linha 462 em 19.0 (ce7f5a3) e linha 468 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 1244 em 17.0 (d203ee6), linha 1244 em 18.0 (e2ab18b), linha 1244 em 19.0 (ce7f5a3) e linha 1256 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 525 em 17.0 (d203ee6), linha 525 em 18.0 (e2ab18b), linha 525 em 19.0 (ce7f5a3) e linha 531 em 20.0 (688d86b)
  • 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)
  • docs.gocardless.com/docs/api-reference/events/payment
  • docs.gocardless.com/docs/api-reference/events/mandate
  • Código do módulo: flexigo_payment_gocardless: views/payment_transaction_views.xml, linha 13 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: models/payment_transaction.py, linha 63 em 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: models/payment_transaction.py, linha 418 em 17.0 (d203ee6), linha 418 em 18.0 (e2ab18b), linha 417 em 19.0 (ce7f5a3) e linha 432 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 1091 em 17.0 (d203ee6), linha 1091 em 18.0 (e2ab18b), linha 1091 em 19.0 (ce7f5a3) e linha 1113 em 20.0 (688d86b)
  • docs.gocardless.com/docs/api-reference/payment
  • Código do módulo: flexigo_payment_gocardless: models/payment_transaction.py, linha 469 em 17.0 (d203ee6), linha 469 em 18.0 (e2ab18b), linha 468 em 19.0 (ce7f5a3) e linha 487 em 20.0 (688d86b)
  • Código do módulo: flexigo_payment_gocardless: i18n/pt.po, linha 1346 em 17.0 (d203ee6), linha 1346 em 18.0 (e2ab18b), linha 1346 em 19.0 (ce7f5a3) e linha 1358 em 20.0 (688d86b)
  • github.com/odoo/odoo/blob/17.0/odoo/http.py
  • support.gocardless.com/hc/en-gb/articles/360001467265
  • 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)
  • github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml