Onde está o botão e quando se vê
Os pedidos de cancelamento abrem-se a partir do menu Octopia › Encomendas › Cancelamentos (Octopia › Orders › Cancellations). O ramo Octopia exige a permissão Utilizador Octopia (Octopia User): se não a tiveres, não vês esse ramo. Nesse ecrã está o botão Submeter à Octopia, que existe no Odoo 17, 18, 19 e 20.
O botão só se vê enquanto o pedido está no estado inicial. Quando o Estado (State) passa a outro, desaparece.

Antes de o premir, vê os dados da ficha que contam. A lista de Cancelamentos mostra Conta (Account), Encomenda (Order) e Tipo de evento (Event Type). Na ficha, Tipo de evento tem o valor Encomenda completa (Full Order), que é o predefinido, ou Linhas específicas (Specific Lines). O campo Linhas (parcial) (Lines (partial)) só aparece quando Tipo de evento é Linhas específicas; com o valor predefinido não se vê.

Um caso inventado: a Tienda Mediterránea cancela duas encomendas
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Tienda Mediterránea, uma empresa inventada que vende utensílios de cozinha na Cdiscount, tem dois cancelamentos por enviar. Entra em Octopia › Encomendas › Cancelamentos e abre o primeiro.
Primeiro cancelamento: a encomenda inteira
O Tipo de evento é Encomenda completa. A pessoa prime Submeter à Octopia e o Odoo pergunta: Submeter um cancelamento aceite reembolsa o cliente. Continuar? (Submitting an accepted cancellation refunds the customer. Continue?). Ao aceitar, no Odoo 20 o método faz isto, por esta ordem:
- Se o pedido já não está no estado inicial, salta-o sem fazer nada.
- Toma a encomenda do pedido e abre a ligação à Octopia da conta dessa encomenda.
- Por ser uma encomenda completa, envia à Octopia o identificador da encomenda, o motivo do pedido e o reembolso das despesas de envio que o pedido leva.
- Se a resposta da Octopia for um conjunto de dados, guarda na ficha o identificador do pedido que a Octopia devolve, como referência.
- Escreve o estado
InProgresse a data e hora do envio. - Regista no registo de sincronização uma entrada do tipo cancelamentos, com resultado correto e um texto com o tipo de evento, a encomenda e o motivo.
Numa encomenda completa, o método não verifica se há linhas: não precisa delas.
Segundo cancelamento: só algumas linhas
O segundo cancelamento tem Tipo de evento em Linhas específicas, mas a pessoa ainda não adicionou nenhuma linha em Linhas (parcial). Prime o botão, aceita a confirmação e o Odoo para com esta mensagem: Um cancelamento parcial precisa de pelo menos uma linha. (A partial cancellation needs at least one line.)
A mensagem surge ao premir Submeter à Octopia num cancelamento parcial sem linhas. A verificação vem antes de enviar seja o que for à Octopia e, ao parar a ação, não se guarda nada do que ia mudar: o pedido fica como estava e o botão continua visível.
A solução é adicionar pelo menos uma linha em Linhas (parcial). Mudar o Tipo de evento para Encomenda completa também faria desaparecer a mensagem, mas então cancelava-se a encomenda inteira, pelo que só faz sentido se for isso que queres.
Com as linhas já adicionadas, o botão envia um único pedido com todas elas. De cada linha envia o seu identificador, a oferta, o motivo e o reembolso das despesas de envio do pedido. Se uma linha não tiver motivo próprio, usa o do pedido. A Octopia pode responder com uma lista de resultados ou com um só resultado; de cada um o módulo recolhe o identificador do pedido e, se recolher algum, guarda-os na ficha separados por vírgulas. Depois faz o mesmo que no cancelamento completo: estado InProgress, data e hora, e entrada no registo de sincronização.
O que muda no fim
- O
Estadodo pedido passa aInProgress. - Fica guardada a data e hora do envio.
- Se a Octopia devolveu identificadores, a ficha conserva-os como referência.
- O registo de sincronização recebe uma entrada do tipo cancelamentos com resultado correto.
- O botão deixa de se ver, porque a sua condição só o mostra no estado inicial.
A legenda conforme o idioma do teu Odoo
Com o Odoo em português de Portugal o botão chama-se Submeter à Octopia. O módulo traz também as suas traduções para outros idiomas, que o esquema mostra.

O que levas do caso
- Antes de premir, verifica o
Tipo de evento: dele depende se se envia a encomenda inteira ou só linhas. - Num cancelamento parcial, as linhas vêm primeiro; sem elas não se envia nada.
- A pergunta de confirmação avisa de que submeter um cancelamento aceite reembolsa o cliente.
- Se o pedido já não está no estado inicial, o método não o volta a enviar.
Custo e ajuda
O módulo é de pagamento único por versão do Odoo e está publicado para 17, 18, 19 e 20 na sua ficha da Odoo Apps. Precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA, com até três contas da plataforma. A ligação passa pelo FlexigoTech Cloud, que guarda as credenciais cifradas, vigia a sincronização e avisa por e-mail se falhar. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição dá; os dados ficam no teu Odoo.
Se estás a implementar o Odoo e queres rever como encaixam os cancelamentos da Cdiscount na tua operação, a FlexigoTech implementa o Odoo e desenvolve conectores e integrações à medida.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_order_actions_views.xml
- Código do módulo: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_order_actions.py
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
