Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
O que aconteceu
A Casa Lumen vende candeeiros em vários canais através do ChannelEngine e gere o armazém no Odoo. Numa segunda-feira chegam duas encomendas do mesmo modelo por canais diferentes. Só restava uma unidade. A segunda encomenda tem de ser cancelada, com a má nota que isso traz no canal.
A primeira suspeita é a do costume: «o conector não enviou o stock». A verificação diz outra coisa.
Como se encontrou
O conector tem uma tarefa diária que lê o stock que o ChannelEngine tem e o compara com o que o Odoo enviaria nesse momento. O que o Odoo enviaria é a quantidade disponível no armazém da conta menos as entregas em aberto e as encomendas que continuam como orçamento. Cada SKU com diferença vai parar a Stock Divergences, com três números: o que tem o ChannelEngine, o que tem o Odoo e a diferença.
No caso da Casa Lumen, o candeeiro mostrava uma unidade a mais no ChannelEngine. O motivo era um orçamento de uma venda na loja física que ninguém tinha confirmado: o Odoo já o descontava e o ChannelEngine continuava a oferecer essa unidade.

O que o ChannelEngine faz do seu lado
O ChannelEngine tem uma reserva de stock pensada, segundo o seu próprio centro de ajuda, para eliminar o risco de vender em excesso. A reserva dura até a encomenda passar a «In progress» e, em média, é devolvida aos canais em 1,5 horas, consoante a rapidez com que se confirmam as encomendas e se envia o stock. Funciona bem se o seu sistema enviar o stock com regularidade. Se o stock chega tarde, a reserva não o resolve.
As definições que mudaram
- Rever todas as manhãs a lista Stock Divergences e voltar a pôr em fila, com um clique, as ofertas com diferença.
- Ativar a opção da conta que retém as encomendas sem stock suficiente, para que uma encomenda importada não se confirme automaticamente se o armazém não a puder cobrir.
- Confirmar que a conta usa o ID da localização de stock do ChannelEngine, porque a Casa Lumen tem duas localizações.
- Manter as frequências predefinidas: as encomendas entram a cada 15 minutos, as alterações de preço e stock entram em fila a cada hora e são enviadas a cada 30 minutos.

Mais uma definição que a Casa Lumen reviu: de onde vêm os preços. A conta pode tirar os preços das ofertas de uma lista de preços do Odoo em vez do preço de venda do produto. Assim, o preço para o ChannelEngine muda-se num só sítio.
O que a equipa aprendeu
A diferença não estava no conector; estava num orçamento esquecido. Sem a comparação diária, o desalinhamento seguinte voltaria a parecer uma avaria técnica. Com a lista à frente, cada diferença tem um SKU, números e uma data de verificação, e resolve-se em minutos.

A Casa Lumen não mudou de canais nem de fornecedor. Mudou apenas o hábito de verificar a lista todas as manhãs e, com isso, deixou de cancelar encomendas por falta de stock.
Se também vende o mesmo produto fora do ChannelEngine, o Odoo é o único sítio onde se vê de uma vez cada unidade que sai. É por isso que a comparação se faz a partir do Odoo.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_channelengine_connector (6032191c): models/channelengine_stock_reconcile.py
- support.channelengine.com/hc/en-us/articles/34273588476317-ChannelEngine-stock-reservation
- Código do módulo: flexigobe_channelengine_connector 20.0 (6032191c): data/channelengine_cron.xml
- Código do módulo: flexigobe_channelengine_connector 20.0 (6032191c): views/channelengine_stock_divergence_views.xml
- Código do módulo: flexigobe_channelengine_connector 20.0 (6032191c): views/menu.xml
- Código do módulo: flexigobe_channelengine_connector 20.0 (6032191c): models/channelengine_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_channelengine_connector
