Integrações / ERP / Odoo
O Odoo tem programação da produção? Entenda o botão Planejar e quando adicionar o SkyPlanner APS
O Odoo oferece programação da produção em um nível básico, conforme a disponibilidade no calendário de cada centro de trabalho. O botão Plan do Odoo Manufacturing aloca cada ordem de produção no primeiro horário livre do calendário do respectivo centro de trabalho. Assim, duas ordens programadas nunca se sobrepõem no mesmo centro. Porém, ele planeja uma ordem de fabricação por vez, considerando uma única restrição, e não refaz a sequência, otimiza nem reprograma o conjunto das ordens. Fábricas que precisam de uma programação da produção que respeite a capacidade real disponível de máquinas e pessoal, com todas as ordens sequenciadas por prazo de entrega e setup, usam o SkyPlanner APS junto com o Odoo.
O próprio material de divulgação do Odoo afirma que é possível “plan resources with finite capacity planning” (programar a produção respeitando a capacidade real dos recursos) (odoo.com/app/manufacturing). A seguir, mostramos o que isso significa no Odoo 19.0, com base na documentação oficial e no código-fonte: como o botão Planejar funciona, quais são seus limites e quando ele é suficiente.
Como o Odoo planeja ordens de produção, passo a passo
1. Ative as ordens de produção e configure os centros de trabalho
Acesse Manufacturing > Configuração > Definições e ative Ordens de produção. A opção Centros de trabalho aparecerá em Configuração. Cada centro de trabalho (mrp.workcenter) tem os campos usados no planejamento:
| Campo | Função no planejamento |
|---|---|
| Working Hours | Calendário de disponibilidade do centro de trabalho. O padrão é “Standard 40 hours/week” (jornada semanal padrão), de segunda a sexta-feira |
| Time Efficiency | Percentual que acelera ou desacelera cada ordem de produção nesse centro de trabalho |
| Setup Time / Cleanup Time | Minutos acrescentados antes e depois de cada ordem de produção |
| Alternative Workcenters | Outros centros de trabalho que a ação Planejar pode usar como alternativa |
| Aba Product Capacities | Peças por ciclo e minutos de setup e limpeza específicos de cada produto (mrp.workcenter.capacity) |
| OEE Target | Meta de desempenho para relatórios; não é um parâmetro de planejamento |
| Allowed Employees | Define quem pode trabalhar nesse centro. É um filtro, não uma medida de capacidade produtiva |
2. Operações na lista de materiais
Não há um cadastro mestre compartilhado de roteiros de produção. As operações ficam em cada lista de materiais, na aba Operações (mrp.routing.workcenter). Cada operação tem um Work Center e um Duration Computation: um tempo fixo informado por você ou um tempo calculado com base nas últimas ordens de produção (10 por padrão). A duração prevista é a soma do tempo de setup, do tempo de limpeza e do número de ciclos multiplicado pelo tempo de ciclo. A parcela referente aos ciclos é dividida pelo valor de Time Efficiency (mrp_routing.py).
Com a configuração Work Order Dependencies ativada, uma operação pode ser bloqueada por outra no campo Blocked By. A documentação do Odoo explica: “A blocked work order is scheduled at the end of the time period specified in the Expected Duration field of the work order that precedes it.” (Uma ordem de produção bloqueada é programada para o fim do período indicado no campo Expected Duration da ordem que a precede.) (fonte)
3. Confirme a ordem de fabricação e clique em Planejar
A confirmação de uma ordem de fabricação (mrp.production) cria suas ordens de produção (mrp.workorder). Ao clicar em Planejar na ordem de fabricação, o Odoo parte das ordens de produção finais e programa recursivamente cada ordem que bloqueia sua execução antes de programá-las. Cada ordem de produção é alocada para a frente no tempo, após suas predecessoras. Para cada ordem de produção, o Odoo:
- Usa o mais tardio entre o início da ordem de fabricação, o momento atual e o término das ordens de produção que bloqueiam sua execução.
- Testa o centro de trabalho principal e todos os centros de trabalho alternativos.
- Busca, a partir desse momento, o primeiro intervalo livre em cada calendário que comporte a duração prevista.
- Escolhe o centro de trabalho que permite terminar mais cedo e reserva o intervalo nesse calendário com um registro
resource.calendar.leaves.
O código-fonte da versão 19.0 deixa a regra clara: “The available interval is disjoinct with all other workorders planned on this workcenter” (O intervalo disponível não se sobrepõe a nenhuma outra ordem de produção programada nesse centro de trabalho) (mrp_workcenter.py). É isso que torna a capacidade finita. Uma ordem de produção que chega a um período sem expediente continua no próximo intervalo de trabalho. Se não houver encaixe em 700 dias, a janela de busca padrão, o botão Planejar interrompe o processo com a mensagem “Impossible to plan the workorder.” (Não é possível planejar a ordem de produção.)
4. Indisponibilidade e alternativas
Com o aplicativo Time Off e o modo de desenvolvedor, é possível bloquear um centro de trabalho para manutenção ou feriado. O botão Planejar então direciona as ordens de produção aos centros de trabalho alternativos. Sem uma alternativa, a documentação do Odoo informa que “work orders begin to pile up at the work center until it is operational again” (as ordens de produção começam a se acumular no centro de trabalho até que ele volte a operar) (fonte).
5. Revise e ajuste
Os menus Manufacturing > Planning > Planning by Production e Planning by Workcenter abrem as visualizações de planejamento das ordens de produção. A edição Enterprise exibe um gráfico de Gantt com a função de arrastar e soltar. A Community oferece visualizações em lista, calendário, tabela dinâmica e gráfico. A documentação descreve o ajuste como manual: “Times and planned work centers can be changed by clicking to access the individual work order.” (Os horários e os centros de trabalho previstos podem ser alterados clicando para acessar cada ordem de produção.) (fonte)
Os limites do Odoo
- Quem chega primeiro ocupa os primeiros horários. O botão Planejar trabalha uma ordem de fabricação por vez, e a primeira a ser planejada ocupa os primeiros horários disponíveis. Ao selecionar várias ordens, o sistema as planeja na sequência padrão do Odoo: primeiro por prioridade, depois pela data de início. O sistema não pondera prazos de entrega em relação às trocas de produção nem desloca uma ordem já planejada para dar lugar a outra mais urgente.
- Sem sequenciamento por setup. O campo Setup Time acrescenta um tempo fixo a cada ordem de produção: são os mesmos minutos, independentemente do que foi produzido antes. O Odoo não tem matriz de trocas de produção e não agrupa operações semelhantes para evitar essas trocas.
- Uma única restrição. Só o calendário do centro de trabalho limita o plano. Os operadores entram apenas como filtro no campo Allowed Employees. Ao reservar um horário, o botão Planejar não verifica ferramentas nem disponibilidade de materiais. As reservas de componentes e as datas dos pedidos de compra alimentam apenas a reposição.
- O MRP ignora a capacidade. As regras de reposição e o MTO criam ordens de fabricação com base no campo Manuf. Lead Time da lista de materiais, em dias corridos. A documentação informa: “Lead times do not consider weekends, holidays, or work center capacity” (Os lead times não consideram fins de semana, feriados nem a capacidade dos centros de trabalho) (fonte). Os prazos das ordens de fabricação e as datas prometidas de entrega são calculados em dias corridos, não com base na fila real.
- O MPS é uma lista de sugestões. O plano mestre de produção da edição Enterprise também não considera a carga. “The MPS only suggests the amount of product to be replenished, requiring the user to actually create the replenishing POs/MOs.” (O MPS apenas sugere a quantidade de produto a repor; cabe ao usuário criar os pedidos de compra ou as ordens de fabricação para a reposição.) (fonte)
- Sem reprogramação automática. Uma quebra de máquina ou um pedido urgente não altera a programação por conta própria. Depois que uma ordem de produção começa, o Odoo não permite desfazer o planejamento da ordem de fabricação: “Some work orders have already started, so you cannot unplan this manufacturing order.” (Algumas ordens de produção já começaram, por isso não é possível desfazer o planejamento desta ordem de fabricação.) (mrp_production.py)
- Subconjuntos planejados separadamente. Listas de materiais multinível geram ordens de fabricação filhas separadas, cada uma planejada de forma independente. O planejador precisa programá-las na sequência correta para que o subconjunto esteja pronto quando a operação da ordem principal precisar dele.
- Gantt e MPS são exclusivos da Enterprise. A página de edições indica que os recursos “Scheduling” (programação) e “Shopfloor” (chão de fábrica) do Manufacturing são exclusivos da Enterprise (odoo.com/page/editions). Na Community, os planejadores trabalham com listas e um calendário.
Quando o planejamento nativo do Odoo é suficiente
O botão Planejar do Odoo atende à necessidade quando:
- Cada operação tem um centro de trabalho claramente definido e os volumes são moderados.
- Poucas ordens disputam o mesmo gargalo, de modo que atender por ordem de chegada resulta em datas aceitáveis.
- As máquinas alternativas são idênticas, de modo que os centros de trabalho alternativos e o aplicativo Time Off cobrem a maioria das interrupções.
- Os setups são curtos ou não dependem da operação anterior.
- Um planejador consegue revisar o planejamento por centro de trabalho uma vez ao dia e ajustar manualmente os poucos conflitos.
Se essa é a realidade da sua fábrica, concentre o esforço na qualidade dos dados. Defina um calendário para cada centro de trabalho e preencha os campos Setup e Cleanup Time com tempos realistas. Use durações fixas quando os dados históricos forem inconsistentes, ative as dependências e planeje as ordens de fabricação por prioridade.
Quando você precisa de um sistema de programação da produção
O botão Planejar já não é suficiente quando várias destas situações fazem parte da sua rotina:
- Muitas ordens disputam dois ou mais gargalos e os prazos de entrega precisam determinar a sequência.
- O setup depende do que foi produzido antes, então a sequência das operações altera o volume produzido.
- Pessoas e turnos limitam o plano tanto quanto as máquinas.
- A chegada dos materiais determina quando uma operação pode começar.
- Pedidos urgentes, quebras de máquinas e atrasos nas entregas exigem reprogramar a produção várias vezes por semana.
- A equipe de vendas precisa de datas de entrega baseadas na fila real, não no campo Manuf. Lead Time.
O que avaliar
- Respeito à capacidade real de todos os centros de trabalho ao mesmo tempo, considerando turnos, pessoal e ausências.
- Sequenciamento de todas as ordens em conjunto por prazo de entrega e prioridade, não uma ordem de fabricação por vez.
- Uma matriz de tempos de preparação para trocas de produção que dependem da sequência, permitindo que o motor escolha a sequência de operações com o menor tempo de setup.
- Ferramentas e equipes como restrições: uma ferramenta compartilhada em uso em uma máquina fica indisponível para outra, e uma operação pode exigir vários operadores ao mesmo tempo.
- Programação que considera a disponibilidade de materiais, verificando o estoque e os pedidos de compra a receber.
- Centros de trabalho alternativos escolhidos pelo motor considerando o plano inteiro, não uma ordem de produção por vez.
- Produtos multinível, com os subconjuntos concluídos antes de serem necessários na ordem principal.
- Reprogramação automática conforme a produção avança ou as ordens mudam.
- Um Gantt para os planejadores e uma fila de operações para os operadores, também na Community.
- Uma regra clara sobre quem controla a programação no Odoo. As datas das ordens de produção no Odoo são calculadas a partir da reserva no calendário, e clicar em Planejar novamente as sobrescreve. Defina que o sistema de programação controla o sequenciamento, grave as datas e os centros de trabalho de volta por meio de
mrp.workordere não altere as ordens de produção já em andamento. - A API adequada à sua versão e ao seu plano. O Odoo 19 tem a External JSON-2 API. XML-RPC e JSON-RPC têm remoção prevista no Odoo 22 (Odoo Online 21.1). O acesso à API externa está disponível apenas nos planos Custom, não nos planos One App Free ou Standard (documentação da API externa). Módulos personalizados exigem Odoo.sh ou hospedagem local (preços do Odoo).
As opções se dividem em quatro grupos:
- O planejamento nativo do Odoo inclui o botão Planejar e, na Enterprise, a visualização de Gantt.
- Módulos adicionais na interface do Odoo, mantidos por um parceiro Odoo, aprimoram o quadro de planejamento ou a lógica de alocação de horários.
- Motores de planejamento da cadeia de suprimentos e suítes APS corporativas são integrados por meio de um projeto de implantação e operados por uma equipe dedicada de planejamento.
- APS na nuvem com execução no chão de fábrica é a categoria do SkyPlanner. Ele programa todos os recursos automaticamente, em paralelo ao Odoo. Reprograma continuamente conforme a produção muda e coloca a programação nas mãos dos operadores.
Onde o SkyPlanner se encaixa
O SkyPlanner APS resolve cada um dos limites listados acima:
- A ordem de chegada dá lugar a um sequenciamento de fato. O motor Arcturus AI programa todas as ordens abertas em conjunto, respeitando a capacidade real dos recursos, em segundos. A sequência considera data de conclusão, prioridade, prioridade do cliente, Fast Track e Dynamic Priorities.
- De setups fixos a setups mais curtos. Uma matriz de tempos de preparação registra o tempo de troca entre cada par de produtos, que pode variar conforme o sentido: de azul para vermelho, 30 minutos; de vermelho para azul, 60. O sistema de programação escolhe a sequência com menor tempo de setup e programa operações semelhantes uma após a outra.
- Todas as restrições na mesma programação. Centros de trabalho, turnos, pessoal, ausências, ferramentas e materiais são verificados na mesma programação. As ferramentas são recursos finitos: um dispositivo de fixação em uso em uma máquina não pode ser reservado em outra ao mesmo tempo. Uma operação pode exigir vários operadores simultaneamente, e o motor recorre a máquinas ou pessoas alternativas quando o recurso principal está indisponível. Grupos de centros de trabalho, eficiências e a divisão de uma operação entre centros de trabalho fazem parte do mesmo modelo. A verificação de materiais considera o estoque disponível e as linhas em aberto de
purchase.order: os componentes encomendados são considerados disponíveis na data de entrega do pedido de compra, e o estoque é atualizado quando o pedido é marcado como Entregue. - Subconjuntos sincronizados. Componentes intermediários e produtos com estruturas de vários níveis são programados para que as peças estejam prontas quando a montagem precisar delas.
- Do replanejamento manual ao Autopilot. O Autopilot reprograma automaticamente quando há mudanças na produção, respeitando seus bloqueios, o Running Time Lock e as prioridades.
- Gantt e recursos para o chão de fábrica na Community. Os planejadores editam um cronograma de Gantt interativo. Os operadores consultam sua fila e registram o trabalho pelo celular ou tablet com Mobile Confirmations, Production Timer e Quick Log Mode.
O Odoo continua sendo o sistema oficial de registro de produtos, listas de materiais, estoque, compras e contabilidade. O SkyPlanner se integra a ele nos dois sentidos pela External JSON-2 API, ou por XML-RPC e JSON-RPC nas versões anteriores:
- Entrada:
mrp.production,mrp.workorder,mrp.workcenter,mrp.bome linhas em aberto depurchase.order. - Retorno: início e término planejados e o centro de trabalho escolhido, com uma operação
writeem cadamrp.workorder(date_start,date_finished,workcenter_id). Isso desloca a própria reserva no calendário do Odoo, de modo que suas visualizações de planejamento exibam as datas do SkyPlanner. - Chão de fábrica: os apontamentos dos operadores são criados como registros do Time Logs em
mrp.workcenter.productivity.
Os webhooks do SkyPlanner enviam as alterações na programação assim que elas ocorrem. Cada fábrica usa o Odoo de uma forma, com suas próprias operações, calendários e módulos personalizados. A equipe do SkyPlanner configura a integração de acordo com o seu ambiente durante a implantação e oferece suporte após a entrada em operação. Seu parceiro Odoo ou seus próprios desenvolvedores também podem criar integrações usando a API REST documentada do SkyPlanner (referência da API). Basta uma chave de API para começar. Os detalhes da API e dos recursos estão na documentação do SkyPlanner.
Escolha o SkyPlanner quando muitas ordens disputam os mesmos gargalos e os prazos de entrega precisam definir a sequência de todas elas.
Escolha o SkyPlanner quando as trocas de produção dependem da sequência, ou quando ferramentas compartilhadas e operações com vários operadores determinam o que pode ser executado a seguir.
Escolha o SkyPlanner quando você replaneja várias vezes por semana e quer uma programação viável para a sua produção em semanas, sem esperar por um projeto longo.
Comece com uma exportação CSV ou XLSX no teste grátis de 30 dias (até 20 centros de trabalho, sem cartão de crédito) e compare a programação do SkyPlanner com os resultados do botão Plan. Depois, os preços partem de 199 € por mês com 5 centros de trabalho incluídos, cobrança mensal e cancelamento a qualquer momento. O orçamento da integração é apresentado antecipadamente, junto com o plano, de acordo com seus processos e necessidades. Assim, você conhece o custo total antes de começar. A implementação normalmente é concluída em semanas após o início do onboarding. Veja os preços e os recursos.
Saiba mais sobre o SkyPlanner para Odoo, consulte o guia de integração com o Odoo e conheça outras integrações com ERP.
O que fabricantes dizem sobre o SkyPlanner
2 heconomizadas por semana
“O SkyPlanner levou nosso planejamento da produção das planilhas do Excel à otimização da produção em tempo real.”
Kalle Kalliomäki, especialista em cadeia de suprimentos
UTU · Quadros elétricos e equipamentos de manobra
O planejamento da produção economiza 2 horas de trabalho por semana, e uma nova fila de operações chega à linha em segundos.
+90%de eficiência na produção
“A eficiência na produção aumentou 90%.”
Abdul Rucyinga, diretor de TI
Laboratory & Allied · Fabricação de produtos farmacêuticos
A eficiência na produção aumentou 90%, e a geração de um plano otimizado de três meses para todos os centros de trabalho leva menos de 30 minutos.
6 mesesde capacidade disponível visível para vendas
“O SkyPlanner oferece a base e a confiabilidade para todo o planejamento da produção.”
Anu Järvinen, gerente de produção
Fredman Operations · Papéis para embalagens próprias para contato com alimentos
A equipe de vendas vê a capacidade disponível com seis meses de antecedência, e as solicitações de alteração na programação que levavam uma hora ou mais são respondidas em segundos.
98%de pontualidade de entrega, contra cerca de 50% antes
“O SkyPlanner tem um papel decisivo na manutenção da nossa pontualidade de entrega.”
Hannu Lahtinen, diretor-geral
KJH-Comp · Fabricação de componentes em chapa metálica e produção sob contrato
A pontualidade de entrega passou de cerca de 50% para até 98%, e a programação agora exige um supervisor em vez de dois.
Perguntas frequentes
O Odoo Community tem programação da produção?
Sim, em nível básico. O Community tem ordens de fabricação, ordens de produção, centros de trabalho e o botão Plan, com visualizações em lista, calendário, tabela dinâmica e gráfico. A visualização da programação em Gantt, o Shop Floor e o Master Production Schedule são recursos do Enterprise. O SkyPlanner oferece um Gantt e uma fila de operações para os operadores das fábricas que usam o Community.
O MRP do Odoo considera a capacidade dos centros de trabalho?
Não. A reposição usa lead times em dias corridos, e a documentação do Odoo afirma que os lead times “do not consider weekends, holidays, or work center capacity” (não consideram fins de semana, feriados nem a capacidade dos centros de trabalho). A capacidade só é considerada quando você clica em Plan em uma MO.
O Odoo pode executar várias operações ao mesmo tempo em um centro de trabalho?
Na programação, não. O código da versão 19.0 reserva para cada ordem de produção um intervalo sem sobreposição com nenhuma outra ordem de produção naquele centro de trabalho. A aba Product Capacities define a quantidade de peças por ciclo dentro de uma mesma ordem de produção, não ordens de produção em paralelo.
O Odoo trabalha com tempos de setup que dependem da sequência?
Não. Setup Time e Cleanup Time são tempos fixos em minutos por centro de trabalho, ou por produto na aba Product Capacities. O Odoo os adiciona a cada ordem de produção, independentemente da operação executada antes. A matriz de tempos de preparação do SkyPlanner armazena os tempos de troca por par de produtos e por sentido, e sequencia as operações para minimizar esses tempos.
Como o SkyPlanner APS se conecta ao Odoo?
O SkyPlanner se integra ao Odoo nos dois sentidos pela API externa JSON-2 ou, nas versões 16.0 a 18.0, por execute_kw via XML-RPC ou JSON-RPC. As datas planejadas e os centros de trabalho são gravados em cada mrp.workorder, e os tempos apontados se tornam registros do Time Logs do Odoo. A equipe do SkyPlanner configura a integração durante a implantação e oferece suporte após a entrada em operação. Veja os detalhes no guia de integração com o Odoo.
Posso testar o SkyPlanner antes de integrá-lo ao Odoo?
Sim. O teste de 30 dias funciona com exportações CSV ou XLSX das visualizações em lista do Odoo, com até 20 centros de trabalho e sem cartão de crédito. Você compara a programação do SkyPlanner com os resultados do botão Plan antes de conectar qualquer sistema. Inicie o teste grátis ou fale com vendas.