Um caso para percorrer o botão passo a passo
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Livraria Faro é uma loja inventada que vende no Shopify e gere as encomendas no Odoo com este módulo. Um cliente pede que lhe devolvam o valor de uma encomenda inteira e a Ana, da administração, abre essa ordem de vendas no Odoo. O que se segue é o que o módulo faz em cada ponto, segundo o seu código do Odoo 20.
Primeiro: o botão aparece?
O botão Reembolsar no Shopify está na vista da ordem de vendas e fica oculto quando o campo Ref. encomenda Shopify está vazio. Com os valores por defeito esse campo está vazio, por isso numa encomenda sem ligação ao Shopify não vais ver o botão. Esse campo e Instância Shopify (Shopify Instance) estão na ficha da encomenda, no grupo Shopify; são só de leitura e ficam ocultos enquanto a referência estiver vazia. A mesma condição de vista vale para o Odoo 17, 18, 19 e 20.

Segundo: a confirmação
Ao clicar no botão, o Odoo pergunta Criar um reembolso total deste pedido no Shopify?. Se aceitares, o Odoo executa a ação do botão.
Terceiro: o que verifica, por esta ordem
- Permissões. A primeira coisa que a ação faz é verificar que o teu utilizador tem acesso de Shopify Operator ou Manager. Se não tiver, para com
You need Shopify Operator (or Manager) access to push changes to Shopify.O comentário do código explica o motivo: um utilizador com acesso normal a Vendas, sem nenhum papel de Shopify, poderia de outro modo lançar uma chamada real ao Shopify com as credenciais da loja. Por isso a verificação vive na própria ação e não depende de o botão estar visível. - Ligação ao Shopify. Para cada encomenda, a ação exige que tenha preenchidas a referência do Shopify e a instância. Se faltar alguma, para com
A encomenda de venda … não está associada a uma encomenda do Shopify., com o nome da encomenda no lugar das reticências. Como o botão só se vê com a referência preenchida, se o clicares a partir da ficha e surgir este aviso, vê no grupoShopifyseInstância Shopifytem valor.
Quando um aviso trava a ação, o processo termina aí e não chega a pedir o reembolso dessa encomenda.
Quarto: o que pede ao Shopify
Se a encomenda passar estas verificações, a sua instância do Shopify recebe a ordem de criar o reembolso. Segundo o código:
- Linhas. Reembolsam-se todas as linhas importadas: as que não são de secção nem de nota, não são de envio e trazem identificador de linha do Shopify. A quantidade é a da linha, arredondada para número inteiro.
- Envio. As linhas de envio ficam de fora e o pedido não solicita o reembolso dos custos de envio.
- Nota. Salvo indicação de outra, a nota que viaja para o Shopify é
Refunded from Odoo. - Aviso ao cliente e saldo da loja. Tomam-se das opções da instância: avisar o cliente do reembolso e reembolsar como saldo da loja em vez de no meio de pagamento original.
- Moeda. O módulo pergunta ao Shopify pelo reembolso sugerido e, se o Shopify devolver uma moeda, inclui-a no pedido.
- Repetições. O pedido leva uma chave que descreve exatamente esse reembolso (encomenda, linhas, quantidades, envio e método). Se se repetir, por uma resposta perdida ou um segundo clique impaciente, leva a mesma chave e o Shopify reembolsa uma só vez, segundo o comentário do código.
Se a Ana não tiver o papel
Se a Ana vir o aviso de permissões, o reembolso não foi pedido. Precisa que quem administra o Odoo lhe dê acesso de Shopify Operator (ou Manager), tal como diz a própria mensagem, e voltar a clicar no botão.

O que aprender com o caso
- O botão não está disponível para qualquer encomenda: depende de
Ref. encomenda Shopify, e essa referência não se preenche à mão porque o campo é só de leitura. - As tuas permissões e a ligação da encomenda (referência e instância) verificam-se antes de falar com o Shopify, e se alguma falhar a ação é interrompida.
- O reembolso que pede é total relativamente às linhas importadas, sem as linhas de envio nem custos de envio.
- O aviso ao cliente e o reembolso como saldo da loja não se escolhem ao clicar: vêm das opções da instância.
- Uma repetição idêntica não duplica o reembolso no Shopify, graças à chave que o pedido leva.
Antes de o experimentares no teu Odoo
O botão está nos ramos do Odoo 17, 18, 19 e 20, que são as versões publicadas do módulo no Odoo Apps; o código que descrevi é o do Odoo 20. Com o Odoo em português de Portugal chama-se Reembolsar no Shopify; noutros idiomas o rótulo muda, como mostra o esquema.

O módulo é de pagamento único por versão do Odoo e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano, sem IVA. A ligação passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar. Está tudo na ficha do Odoo Apps e na página do módulo.
Se a tua dúvida for sobre outro lado das encomendas, vê a mensagem sobre dados do Shopify para criar a ordem de vendas. E se estás a implementar o Odoo com o Shopify e queres rever permissões, instâncias ou um fluxo de devoluções à medida, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
Perguntas rápidas
Porque não vejo o botão numa encomenda?
Porque o botão fica oculto quando Ref. encomenda Shopify está vazio, e com os valores por defeito está.
Pede confirmação?
Sim: Criar um reembolso total deste pedido no Shopify?.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/sale_order_views.xml
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/sale_order.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
