Cosa dice GoCardless
| Evento | Causa | Codice SEPA Core | Testo di GoCardless |
|---|---|---|---|
| payments · charged_back | refund_requested | MD06 | This payment was charged back by the customer's bank at the customer's request within the 8 week cool-off period. |
Il testo dice quasi tutto: il rimborso lo chiede il cliente, lo gestisce la sua banca e rientra nel periodo di 8 settimane che GoCardless chiama cool-off period. Non è un errore dell'incasso: il denaro è arrivato, e ora torna indietro.

Quando te ne accorgi
Un rimborso MD06 arriva a incasso già chiuso. In Odoo la transazione era completata e la fattura pagata: il connettore considera un incasso concluso quando GoCardless lo segna confirmed o paid_out. Dopo c'è un altro evento da conoscere, chargeback_settled: «This charged back payment has been settled against a payout.». Cioè, il rimborso viene detratto da una liquidazione di GoCardless, non te lo addebitano a parte.
Se la banca del cliente fa marcia indietro, GoCardless invia chargeback_cancelled e il pagamento torna a contare come incassato. Tra un evento e l'altro possono passare giorni, ed è meglio non prendere decisioni con il cliente senza prima controllare in che stato è la transazione in Odoo: è il riflesso dell'ultimo evento inviato da GoCardless. La transazione si apre dalla fattura, con il pulsante «Transazione di pagamento» in alto; il menu delle transazioni compare solo in modalità sviluppatore, e in Odoo 20 non esiste.
Cosa fa Odoo con il connettore
| Passo | Cosa cambia |
|---|---|
| La transazione | Passa da «Confermato» a «Errore»: un rimborso annulla un incasso che era andato a buon fine. |
| Il messaggio | «GoCardless reported a chargeback for this payment (refund_requested). The funds have been taken back and will be deducted from a future payout.» |
| Il pagamento in Odoo | Viene annullato, e la fattura torna in attesa di incasso. |
| Il mandato | Resta valido: refund_requested non è tra le cause con cui il connettore archivia il mandato. |
Il messaggio lo scrive il connettore quando applica l'evento, senza nessuno davanti. Il connettore non è tradotto in italiano: questi testi compaiono sempre in inglese, anche in un Odoo in italiano, sia che li avvii un utente sia un'azione pianificata: «GoCardless reported a chargeback for this payment (refund_requested). The funds have been taken back and will be deducted from a future payout.».
La transazione resta in errore con il mandato attivo, ma non mostra il pulsante «Retry collection». Dalla versione 1.1.4, il connettore lo offre solo se il pagamento è in failed su GoCardless, e un pagamento rimborsato è in charged_back. È in linea con la documentazione di GoCardless: il nuovo tentativo vale solo per i pagamenti falliti, e a un pagamento rimborsato risponderebbe retry_failed.
Che il mandato resti vivo è corretto. Chiedere il rimborso di una ricevuta non equivale a revocare l'autorizzazione; se il cliente volesse questo, la causa sarebbe un'altra (mandate_cancelled, con il codice MD01). Con chargeback_cancelled, il connettore torna a considerare la transazione incassata.
Cosa fare
Un rimborso MD06 è prima di tutto una conversazione con il cliente, poi un problema tecnico. Chiedi cosa è successo: un importo inatteso, un servizio con cui non è soddisfatto o un addebito duplicato. In base alla risposta:
- Se la fattura è corretta e il cliente lo accetta, incassala di nuovo con un nuovo addebito, con il suo metodo di pagamento salvato: il mandato è ancora disponibile. La transazione rimborsata non ha il pulsante di nuovo tentativo.
- Se il cliente aveva ragione, emetti la nota di credito corrispondente e lascia la fattura originale non incassata.
- Se i rimborsi si ripetono con lo stesso cliente, valuta un'altra forma di pagamento per lui.
Quanto tempo ha il cliente per farsi restituire un addebito?
Per un MD06, il testo di GoCardless parla di un periodo di 8 settimane: il rimborso lo chiede il cliente alla sua banca entro quel termine. Per questo un addebito SEPA confermato non è del tutto definitivo in quel periodo.
Dove vedo che si è trattato di un rimborso e non di un errore?
Nella transazione, che apri dalla fattura con il pulsante «Transazione di pagamento»: il campo «GoCardless Cause» dice refund_requested e il messaggio parla di un rimborso, non di un incasso che non è stato possibile eseguire.

Con il nostro connettore
Il connettore GoCardless per Odoo 17, 18, 19 e 20 non lascia una fattura segnata come pagata con un denaro che non hai più: annulla il pagamento, riapre la fattura e salva la causa. E non penalizza il cliente archiviando il suo mandato per un rimborso isolato.
Continua a leggere
Verificato nel codice del connettore (versione 17.0, 18.0, 19.0 e 20.0) e nelle fonti collegate
Fonti
- Codice del modulo: flexigo_payment_gocardless: const.py, riga 15 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 694 in 17.0 (d203ee6), riga 694 in 18.0 (e2ab18b), riga 693 in 19.0 (ce7f5a3) e riga 717 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: const.py, riga 41 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: const.py, riga 76 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 713 in 17.0 (d203ee6), riga 713 in 18.0 (e2ab18b), riga 712 in 19.0 (ce7f5a3) e riga 736 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 754 in 17.0 (d203ee6), riga 754 in 18.0 (e2ab18b), riga 753 in 19.0 (ce7f5a3) e riga 777 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, riga 529 in 17.0 (d203ee6), riga 529 in 18.0 (e2ab18b), riga 529 in 19.0 (ce7f5a3) e riga 531 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, riga 356 in 17.0 (d203ee6), riga 356 in 18.0 (e2ab18b), riga 356 in 19.0 (ce7f5a3) e riga 358 in 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/events/payment
- Codice del modulo: flexigo_payment_gocardless: __manifest__.py, riga 31 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/events/mandate
- Codice del modulo: flexigo_payment_gocardless: views/payment_transaction_views.xml, riga 13 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 63 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 418 in 17.0 (d203ee6), riga 418 in 18.0 (e2ab18b), riga 417 in 19.0 (ce7f5a3) e riga 432 in 20.0 (688d86b)
- github.com/odoo/odoo/blob/20.0/addons/payment/i18n/it.po
- github.com/odoo/odoo/blob/20.0/addons/payment/views/payment_transaction_views.xml
- Codice del modulo: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, riga 1016 in 17.0 (d203ee6), riga 1016 in 18.0 (e2ab18b), riga 1016 in 19.0 (ce7f5a3) e riga 1031 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, riga 567 in 17.0 (d203ee6), riga 567 in 18.0 (e2ab18b), riga 567 in 19.0 (ce7f5a3) e riga 569 in 20.0 (688d86b)
- docs.gocardless.com/docs/api-reference/payment
- docs.gocardless.com/docs/api-reference/responses-and-errors
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 469 in 17.0 (d203ee6), riga 469 in 18.0 (e2ab18b), riga 468 in 19.0 (ce7f5a3) e riga 487 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: i18n/flexigo_payment_gocardless.pot, riga 521 in 17.0 (d203ee6), riga 521 in 18.0 (e2ab18b), riga 521 in 19.0 (ce7f5a3) e riga 523 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_provider.py, riga 397 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: views/payment_transaction_views.xml, riga 22 in 17.0 (d203ee6), 18.0 (e2ab18b), 19.0 (ce7f5a3) e 20.0 (688d86b)
- github.com/odoo/odoo/blob/17.0/odoo/http.py
- github.com/odoo/odoo/blob/20.0/addons/account_payment/views/account_move_views.xml
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 435 in 17.0 (d203ee6), riga 435 in 18.0 (e2ab18b), riga 434 in 19.0 (ce7f5a3) e riga 449 in 20.0 (688d86b)
- Codice del modulo: flexigo_payment_gocardless: models/payment_transaction.py, riga 247 in 17.0 (d203ee6), riga 247 in 18.0 (e2ab18b), riga 247 in 19.0 (ce7f5a3) e riga 258 in 20.0 (688d86b)
