Quando aparece e o que precisa
O botão Pull Stock está na ficha de Shopify Instances, que se abre a partir do menu Vendas › Shopify › Control Center › Instances (com o Odoo em castelhano, o primeiro troço chama-se Vendas). Existe nas versões 17, 18, 19 e 20 do módulo e vê-se sempre, sem qualquer condição.

Pull Stock e o que o pode travar.Para que faça alguma coisa, a instância precisa da caixa Obter o stock da Shopify ativa: assim a Shopify passa a ser a dona do stock. Segundo a sua ajuda, não pode estar ativa ao mesmo tempo que o envio de stock (Sync Stock Enabled) nem com outra loja que traga stock para a mesma localização do Odoo. A ajuda acrescenta que o que a Shopify conta como danificado, em controlo de qualidade ou como stock de segurança entra na sua existência: no Odoo é stock como o resto.

Passo a passo
- Comece pelo caminho automático. Na ficha de
Shopify Instances, separadorOperations, grupoConfigurações de sincronização(Sync Settings), ativeObter o stock da Shopify. Vem desativada por defeito. - Ative também a tarefa agendada
Shopify Pull Stock (Shopify → Odoo): corre a cada seis horas e vem desativada na instalação. A ajuda da caixa avisa disso: ativá-la não lança a obtenção. - Prima
Pull Stockapenas quando quiser trazer o stock agora, sem esperar pela tarefa. É o caminho manual e percorre o que se segue. - Antes de criar o que quer que seja, o botão verifica que a caixa está ativa. Se não estiver, para e não altera nada.
- Depois verifica que quem o prime tem permissões de Inventário, porque a obtenção faz ajustes de inventário. Se não as tiver, para com a mensagem de permissões da tabela.
- Cria uma entrada no registo de sincronização, do tipo obtenção de stock, em curso.
- Procura as ligações de produto ativas dessa instância que têm item de inventário da Shopify e descarta as de um produto de outra empresa ligado antes de uma correção. Se não sobrar nenhuma, fecha o registo como concluído, com uma nota, e não altera nada.
- Decide a localização do Odoo: a associada à localização principal da Shopify ou, se não houver, a localização de stock do armazém da loja (da sua empresa). Se não encontrar nenhuma, marca o registo como falhado e deixa lá o motivo.
- Verifica que nenhuma outra loja ativa com a caixa ativada traga stock para essa mesma localização, para uma dentro dela ou para uma que a contenha. Se acontecer, marca o registo como falhado e para sem tocar no stock.
- Usa a localização da Shopify guardada em
Default Location Gid(separadorWebhooksda ficha). Se estiver vazia, pede à Shopify a sua primeira localização e guarda-a aí. - Pergunta à Shopify, em blocos de cem artigos, quanto há nessa localização (o que lá está dentro, incluindo o que já está comprometido).
- Salta os produtos com rastreio por lotes ou números de série, os que não se armazenam e os kits, e regista-os. Os produtos para os quais a Shopify não devolveu quantidade ficam por tocar.
- Se na localização do Odoo (com as suas filhas) houver uma contagem pendente desse produto, não a atropela: deixa-o sem ajustar e regista-o.
- Calcula a diferença: existências da Shopify, menos o que o Odoo entregou a partir dessa localização (com as suas filhas) para encomendas abertas da loja e a Shopify ainda não cumpriu, menos o que o Odoo tem disponível na localização. Não conta o que o conector cumpriu nem as encomendas que a Shopify cumpriu por outra via.
- Se a diferença for positiva, cria e aplica um ajuste de inventário que sobe o stock da localização. Se for negativa, baixa-o retirando das existências da localização (filhas e pacotes incluídos, nunca o que pertence a um proprietário), por ordem de saída. Se o Odoo não tiver stock ajustável suficiente para baixar, não ajusta esse produto e conta-o como erro.
- Cada produto é tratado à parte: se um falhar, conta-se como erro e segue-se com o seguinte. Quando ajusta um, anota a data de sincronização na sua ligação.
- Fecha o registo com uma nota: quantas quantidades trouxe e que produtos saltou, deixou com contagem pendente ou não conseguiu baixar. Fica correto se não houve erros, parcial se houve erros e algo foi atualizado, e falhado se houve erros e nada foi atualizado.
Algumas mensagens que o botão pode dar
| Mensagem | Quando aparece | O que fazer |
|---|---|---|
Obter o stock da Shopify faz ajustes de inventário: são precisas permissões de Inventário. (Pulling stock from Shopify makes inventory adjustments: it needs Inventory rights.) | Ao premir o botão sem permissões de Inventário. | Que o prima um utilizador com permissões de Inventário. |
Sincronização de stock Shopify falhou para …: … (Shopify stock pull failed for …: …) | Se algo falhar durante a obtenção, já com o registo criado. Primeiro vai o domínio da loja (Shop Domain) e depois o motivo. | Leia o motivo depois dos dois pontos: o registo fica como falhado com esse texto. |
Se a FlexigoTech Cloud tiver pausado o serviço, o código apaga a entrada do registo e não a deixa como falhada; nesse caso a mensagem de falha da última linha não é gerada.

O que verificar depois
Abra o registo dessa execução: o seu estado e a sua nota dizem quantas quantidades se trouxeram e que produtos se saltaram, ficaram por uma contagem pendente ou não se conseguiram baixar. Os ajustes ficam no histórico de inventário e são valorizados como qualquer outro. Se um produto aparecer na nota por uma contagem pendente, a própria nota indica aplicá-la ou apagá-la no Odoo.
Custo e ajuda
O módulo custa 9 € por versão do Odoo, para 17, 18, 19 e 20, sem IVA e de pagamento único. Precisa ainda da subscrição da FlexigoTech Cloud: o plano Conector é de 49 €/mês ou 490 €/ano sem IVA.
A FlexigoTech implementa o Odoo 17, 18, 19 e 20 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_shopify_connector 20.0 (c7078cd8): views/shopify_instance_views.xml
- Código do módulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- Código do módulo: flexigobe_shopify_connector 20.0 (c7078cd8): models/fgt_cloud.py
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
