Quando aparece o botão
O botão Devolver ao stock está no ecrã Reembolsos Shopify (Shopify Refunds), que se abre a partir de Shopify › Operações › Reembolsos e devoluções (Shopify › Operations › Refunds & Returns). Para ver os troços Shopify e Operações do menu é necessária a permissão Visualizador (Viewer).
A condição é a mesma no Odoo 17, 18, 19 e 20: o botão fica oculto, a não ser que o campo Devolução ao stock (Stock Return) esteja pendente, em revisão ou falhado. Com os valores por defeito desse campo não se vê. Não depende do campo Estado (State) do reembolso, que é outro e assume os valores Rascunho, Nota de crédito criada, Ignorado e Falhou.

Com o Odoo em português de Portugal o botão chama-se Devolver ao stock; o módulo traz ainda traduções para outros idiomas.


Um caso do princípio ao fim
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
Velas del Sur é uma loja inventada que vende pelo Shopify e gere o armazém no Odoo com o conector. Um cliente devolve umas velas e o seu reembolso, com artigos a repor, já está no Odoo. A pessoa do armazém abre-o e carrega em Devolver ao stock. Isto é o que o botão faz, por esta ordem:
- Se a devolução de stock estava falhada mas a sua transferência de devolução já estava validada, dá-a por boa: marca-a como feita e apaga o erro. Se já estava feita, abre essa transferência e não faz mais nada.
- Lê as linhas de reposição do reembolso e salta as de quantidade zero ou negativa. Para cada uma procura o artigo do Odoo pelo ID de variante do Shopify e, se não o encontrar, pelo SKU, dentro da empresa da instância. As linhas que não resolve são omitidas e a devolução continua com as restantes.
- Se nenhuma linha ficar resolvida, para com a primeira mensagem da secção de erros e não cria nada.
- Se o reembolso tem
Pedido de venda(Sale Order) com entregas de saída já validadas, parte delas; se não, faz uma devolução manual. - Cria a transferência, confirma-a, reserva-a, dá como feita a quantidade pedida e valida-a diretamente.
- Regista o resultado e abre a transferência criada.
Quando o pedido já saiu do armazém
O campo Pedido de venda está na ficha, grupo Montantes (Amounts). Se há entregas validadas, o botão calcula o que falta devolver de cada artigo: o que o Shopify repôs para esse pedido em todos os seus reembolsos, menos o que já voltou em devoluções não canceladas (também uma feita a partir do Odoo), e nunca mais do que o entregue. Reparte essa quantidade pelas entregas, da mais antiga para a mais recente, e cria uma devolução validada por cada uma; segundo indica o código, se uma falhar desfazem-se todas.
A transferência vai da localização de destino da entrega para a sua localização de origem, herda o contacto e fica ligada à entrega, que a conta como devolvida. Se a devolução feita a partir do Odoo foi parcial, o botão desconta o já devolvido e cria a transferência pelo resto. Se não falta devolver nada porque o Odoo já devolveu tudo, o botão marca a devolução de stock como feita, deixa na entrega a nota Reembolso Shopify …: não resta nada para devolver desta entrega, o Odoo já o devolveu. e abre essa entrega.
Quando não há entrega de onde partir
Se o reembolso não tem pedido de venda, ou nenhuma entrega de saída validada, o botão cria uma entrada manual desde a localização de clientes até à localização de stock do armazém da instância do Shopify. Se a instância não tem armazém, procura um da sua empresa. Usa um tipo de operação de entrada desse armazém, e os movimentos levam a descrição Devolução: … com o nome do artigo.
O que muda ao terminar
A devolução de stock fica marcada como feita e o campo Transferência de devolução (Return Transfer, grupo Montantes, oculto enquanto está vazio) aponta para a primeira transferência criada. Todas levam como origem Reembolso Shopify … (Shopify Refund …) com o nome do reembolso. Em cada transferência publica-se no seu chatter a nota Stock devolvido do reembolso Shopify …. Transferência: …; se a devolução vem de uma entrega, a entrega recebe Reembolso Shopify …: devolvido em …. Depois o botão abre a primeira transferência.
As mensagens com que pode parar
| Mensagem | Quando sai | O que fazer |
|---|---|---|
Nenhum produto para reabastecimento encontrado neste reembolso. Certifique-se que os produtos estão ligados por SKU ou ID de variante Shopify. (No restockable products found for this refund. Make sure products are linked by SKU or Shopify variant ID.) | Ao carregar em Devolver ao stock, quando nenhuma linha de reposição se resolve para um artigo do Odoo. | Ligar os artigos por SKU ou por ID de variante do Shopify, como pede a própria mensagem, e voltar a carregar. |
Falha ao criar devolução ao stock: … (Failed to create stock return: …) | Ao carregar em Devolver ao stock, quando algo falha ao criar ou validar a devolução. Depois dos dois pontos vem o motivo. | Ler o motivo, corrigir a causa e voltar a carregar: o botão vê-se também com a devolução falhada. |
A segunda mensagem envolve as falhas da criação. O código prevê, por exemplo, que a transferência não chegue a ser validada porque a validação abre um assistente (de entregas parciais, por exemplo) em vez de terminar. Nesse caso a devolução conta como falhada. Ao falhar, o código marca a devolução de stock como falhada antes de lançar a mensagem.
O que aprender com o caso
- Antes de carregar, verifica que os artigos do reembolso estão ligados por ID de variante do Shopify ou por SKU: é a única coisa que o botão usa para os encontrar.
- Olha para a transferência que se abre ao terminar: aí está a nota com o nome do reembolso e da transferência.
- Com vários reembolsos sobre o mesmo pedido, o que já foi devolvido é descontado; a quantidade não ultrapassa o entregue.
- Uma devolução feita antes a partir do Odoo conta: desconta-se do que falta devolver e, se já devolveu tudo, o botão não cria uma segunda transferência e deixa-o anotado na entrega.
Custo e ajuda da FlexigoTech
O módulo (ficha na Odoo Apps, página em flexigotech.com) está publicado para o Odoo 17, 18, 19 e 20. É de pagamento único por versão 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.
A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se trabalhas com o stock do Shopify no Odoo, vê também o que faz o botão «Obter stock».
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/shopify_refund_views.xml
- Código do módulo: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_refund.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
