Conecta com sistemas ERP e MES como

Integrações / ERP / Epicor Kinetic

Guia de integração do Epicor Kinetic para programação da produção com SkyPlanner APS

Este guia mostra a parceiros Epicor, equipes de TI e compradores técnicos como usar o SkyPlanner APS para programação da produção em conjunto com o Epicor Kinetic, respeitando a capacidade real das máquinas e da equipe. O SkyPlanner se integra ao Epicor Kinetic nos dois sentidos, usando os próprios serviços REST do Kinetic:

  • Ordens de produção, operações, recursos e liberações de pedidos de compra são importados.
  • As datas planejadas das operações são gravadas de volta nas ordens de produção.
  • Os registros de tempo dos operadores retornam ao Kinetic como apontamentos de mão de obra.
  • Os webhooks do SkyPlanner enviam as alterações na programação assim que elas ocorrem.
Cronograma de Gantt do SkyPlanner APS com operações programadas nos centros de trabalho e uma lista de ordens abaixo.

A equipe do SkyPlanner configura a integração de acordo com o seu ambiente Kinetic durante a implantação e oferece suporte após a entrada em produção. Este guia é voltado a parceiros e desenvolvedores que querem participar desse trabalho ou desenvolver por conta própria usando a API REST documentada do SkyPlanner (referência da API).

Se você ainda não decidiu se o Scheduling and Resource Management do próprio Kinetic ou o módulo APS atende às suas necessidades, leia primeiro O Epicor Kinetic tem programação da produção?

Interfaces de integração do Kinetic

A Epicor afirma: “All Kinetic services, including business objects, processes, reports, BAQs, and Epicor Functions, are accessible through REST endpoints.” (Todos os serviços do Kinetic, incluindo objetos de negócio, processos, relatórios, BAQs e Epicor Functions, são acessíveis por endpoints REST.) Uma integração para programação da produção se baseia em quatro tecnologias da Epicor:

  1. Kinetic REST API v2 (OData v4). Os objetos de negócio são expostos como serviços com nomes no formato Erp.BO.<Name>Svc. O caminho usual é /api/v2/odata/{Company}/Erp.BO.{Svc}/{EntitySet}. A REST v1 ainda existe, mas é legada; por isso, desenvolva a integração na v2. Confirme os conjuntos de entidades e os métodos da sua versão no REST Help, em /api/help/v2/.
  2. Business Activity Queries (BAQ) via REST. Uma BAQ é exposta em /api/v2/odata/{Company}/BaqSvc/{BAQ}/Data. Essa é a forma prática de extrair dados para o planejamento, combinando JobHead, JobOper, JobMtl, PartWhse e PORel em uma única chamada (exemplo da comunidade).
  3. Epicor Functions (EFx). Funções executadas no servidor, que podem ser chamadas em /api/v2/efx/{Company}/{Library}/{Function}. A Epicor afirma que elas “can be triggered from multiple entry points, including BPMs, REST services, schedules, and application events.” (podem ser acionadas a partir de vários pontos de entrada, incluindo BPMs, serviços REST, agendamentos e eventos da aplicação).
  4. Diretivas BPM. As Method Directives e Data Directives são acionadas quando uma ordem de produção ou operação muda e podem chamar uma função que envia os dados para fora do Kinetic.

Para arquivos, o DMT cuida das importações, e as exportações de BAQs geram os dados de saída. A Epicor também oferece o Epicor Automation Studio, que descreve como “a low-code app for integration-led automations” (um aplicativo de baixo código para automações baseadas em integração). Evite o acesso direto ao banco de dados: REST, BAQs e funções operam da mesma forma no ambiente local e no Kinetic Cloud.

Autenticação e escopos de acesso

O Kinetic REST v2 controla o acesso por integração. Cada integração recebe uma chave de API vinculada a um escopo de acesso, que lista os serviços e métodos que ela pode chamar. A Epicor explica assim: “API keys, access scopes, and standard authentication methods control which services and methods are available to each integration.” (Chaves de API, escopos de acesso e métodos padrão de autenticação controlam quais serviços e métodos ficam disponíveis para cada integração.)

Além da chave de API, quem faz a chamada se autentica como um usuário do Kinetic. Use um usuário exclusivo para a integração, com apenas as permissões necessárias. No SkyPlanner, a API REST usa autenticação JWT e está documentada em Swagger/OpenAPI.

Para uma integração com o SkyPlanner, o escopo normalmente inclui:

  • Erp.BO.JobEntrySvc (JobEntries, JobOpers, GetDatasetForTree)
  • Erp.BO.ResourceGroupSvc e Erp.BO.ResourceSvc
  • Erp.BO.CapabilitySvc
  • Erp.BO.PartSvc (Parts, PartWhses)
  • Erp.BO.EmpBasicSvc
  • Erp.BO.ScheduleEngineSvc (GetNewParamsForJob, MoveJobItem, ChangeResource)
  • Erp.BO.LaborSvc (Labors, LaborDtls, StartActivity, EndActivityByEmp)
  • as BAQs e bibliotecas EFx que você publica para a integração

Se um método não estiver no escopo, a falha só aparece na execução, não na configuração. Liste todos os métodos chamados, monitore a validade da chave de API e configure alertas para erros HTTP, não apenas para resultados vazios.

Detecção de alterações: diretivas BPM, funções ou consultas periódicas

A Epicor não documenta uma API genérica de webhooks de saída. Por isso, as alterações do Kinetic chegam ao SkyPlanner de uma destas duas formas:

  • Por eventos. Uma BPM Data Directive em JobHead ou JobOper chama uma Epicor Function, que envia a ordem alterada para a API REST do SkyPlanner.
  • Consultas periódicas. Uma BAQ filtrada pela data de alteração é executada a cada poucos minutos ou a cada hora. Essa abordagem é mais simples de manter e de recuperar em caso de falha.

No sentido inverso, o SkyPlanner envia alterações de estado e de programação por seus webhooks. Seu middleware ou um endpoint EFx recebe essas alterações e as grava no Kinetic.

Mapeamento de dados

Entidade / serviço do KineticObjeto do SkyPlannerDireçãoFrequência
Part, PartRev (Erp.BO.PartSvc/Parts)ProdutoDo Kinetic para o SkyPlannerCarga inicial e, depois, em intervalos programados
PartMtl (método), JobMtl (ordem de produção)Materiais do produto e da ordemDo Kinetic para o SkyPlannerJunto com a ordem de produção
PartOpr (método), JobOper (ordem de produção)Etapas do processoDo Kinetic para o SkyPlannerJunto com a ordem de produção
ResourceGroup, Resource (ResourceGroupSvc, ResourceSvc)Grupos de centros de trabalho, centros de trabalhoDo Kinetic para o SkyPlannerCarga inicial e a cada alteração
Capability (CapabilitySvc)Centros de trabalho alternativosDo Kinetic para o SkyPlannerCarga inicial e a cada alteração
Calendários de recursos e de grupos de recursosTurnos e exceçõesDo Kinetic para o SkyPlannerCarga inicial e, depois, semanalmente ou a cada alteração
EmpBasic (EmpBasicSvc)PessoalDo Kinetic para o SkyPlannerCarga inicial e a cada alteração
JobHead (JobEntrySvc/JobEntries)OrdemDo Kinetic para o SkyPlannerEm tempo real via BPM + EFx ou por consultas periódicas via BAQ
PartWhse via BAQEstoqueDo Kinetic para o SkyPlannerEm intervalos programados
Pedidos de compra: POHeader, PODetail, PORel via BAQPedidos de compra / materiais a receber (data prevista de entrega)Do Kinetic para o SkyPlannerEm intervalos programados ou a cada alteração no pedido de compra via BPM + EFx
Início e término planejados por operaçãoDatas de JobOper via ScheduleEngineSvc (MoveJobItem, ChangeResource) em uma EFxDo SkyPlanner para o KineticA cada alteração na programação, via webhook
Apontamentos de tempo, quantidades, progresso das operações, motivosLabors / LaborDtls via LaborSvc; códigos de motivo via Erp.BO.ReasonSvcDo SkyPlanner para o KineticEm tempo real via webhook

A Epicor chama a ordem de produção de Job. Mapeie cada JobHead para uma ordem do SkyPlanner e cada JobOper para uma etapa do processo. Use o número da ordem, a sequência de montagem e a sequência da operação como chave externa.

Padrões de integração

1. Carga inicial de dados mestres. Leia itens, grupos de recursos, recursos, capacidades, calendários e funcionários. Crie os centros de trabalho do SkyPlanner a partir dos recursos do Kinetic e os grupos de centros de trabalho a partir dos grupos de recursos. Para grandes volumes, pagine as leituras com $top e $skip ou extraia os dados em lote por uma BAQ.

2. Sincronização de ordens. Envie as ordens liberadas e firmes com suas operações e materiais. Extraia a árvore da ordem com GetDatasetForTree ou uma BAQ, e não entidade por entidade. Mantenha no Kinetic as ordens não firmes do MRP até que sejam firmadas. Junto com a leitura do estoque, sincronize as liberações de pedidos de compra em aberto e suas datas de entrega. O SkyPlanner considera o material comprado disponível na data de entrega e atualiza o estoque quando o pedido de compra é marcado como Delivered. Assim, a programação verifica tanto o estoque quanto as compras a receber.

3. Gravação da programação no Kinetic. O webhook do SkyPlanner envia o início, o término e o centro de trabalho planejados para cada operação a um endpoint EFx (/api/v2/efx/{Company}/{Library}/{Function}). A função grava os dados pelo motor de programação do Kinetic, o mesmo objeto de negócio usado na programação do Job Entry e nos quadros de programação (exemplo da comunidade):

  1. ScheduleEngine.GetNewParamsForJob monta o conjunto de dados da ordem para o motor de programação.
  2. A função define o número da ordem, as sequências de montagem e de operação e a data e a hora de início planejadas. Em seguida, chama ScheduleEngine.MoveJobItem.
  3. Quando o SkyPlanner aloca a operação em outro recurso do grupo, ScheduleEngine.ChangeResource a transfere para esse recurso. Usado sozinho, MoveJobItem mantém o recurso padrão do grupo.
  4. A função ativa o bloqueio da programação da ordem (JobHead.SchedLocked, a opção Lock no Job Entry), para que o Global Scheduling mantenha as datas do SkyPlanner.

Encapsular essas chamadas em uma única Epicor Function mantém a gravação atômica por ordem e permite adicionar suas próprias validações. Se a unidade preferir não usar uma função personalizada, a mesma sequência pode ser executada por chamadas REST diretas a Erp.BO.ScheduleEngineSvc. Nunca grave diretamente em ResourceTimeUsed nem nos campos de data de JobOper: isso contorna o motor e deixa as alocações dos quadros fora de sincronia.

4. Apontamentos de chão de fábrica. Os operadores registram o trabalho no SkyPlanner com Mobile Confirmations, Production Timer ou Quick Log Mode. Cada apontamento de tempo encerrado se torna um apontamento de mão de obra no Kinetic por meio de Erp.BO.LaborSvc: StartActivity e EndActivityByEmp para atividades em tempo real, ou Labors com Update para registros feitos após a execução. Se a sua unidade exigir aprovação, inclua submitForApproval no fluxo e no escopo de acesso.

5. Responsabilidade pelos dados e regras de conflito. Documente essas definições antes da entrada em produção:

DadosSistema responsável
Itens, métodos de fabricação, recursos, calendários, ordens de produção, MRP, estoque, custeioKinetic
Quantidades e status das ordens de produçãoKinetic
Sequência das operações, datas planejadas, recurso dentro do grupoSkyPlanner

As ordens programadas pelo SkyPlanner ficam com a programação bloqueada, para que o Global Scheduling não altere suas datas. Mantenha a programação do Kinetic para os recursos que não são planejados pelo SkyPlanner.

Chaves, novas tentativas e reconciliação

  • Chaves estáveis. Cada registro mantém sua chave do Kinetic: número da ordem de produção, sequência de montagem e sequência da operação para as operações; cabeçalho e detalhe de mão de obra para os apontamentos. As gravações usam essa chave para inserir ou atualizar registros. Assim, uma mensagem repetida atualiza o registro em vez de duplicá-lo.
  • Novas tentativas. Quando uma gravação falha em qualquer um dos sistemas, ela é tentada novamente. A mão de obra é lançada uma única vez por ID de registro de tempo do SkyPlanner, impedindo que uma nova tentativa contabilize as horas em duplicidade.
  • Reconciliação. Uma BAQ executada periodicamente compara as ordens de produção em aberto, o status das operações e as quantidades com os dados do SkyPlanner e corrige divergências. Isso cobre, por exemplo, uma ordem encerrada no Kinetic enquanto uma mensagem estava em trânsito.
  • Alterações de quantidade e cancelamentos. Uma alteração de quantidade no Kinetic atualiza a ordem e suas etapas de processo no SkyPlanner. Uma conclusão parcial reduz o tempo de execução restante. Uma ordem de produção encerrada ou excluída no Kinetic sai da programação na próxima sincronização.

O que o projeto inclui

A implementação normalmente é concluída em poucas semanas após o início da implantação. Um projeto com Kinetic abrange:

  1. Um teste de 30 dias com dados de ordens de produção, operações e recursos exportados em CSV ou Excel, antes de qualquer desenvolvimento.
  2. Chave de API, escopo de acesso, um usuário exclusivo para a integração e as BAQs que ela consulta.
  3. Mapeamento dos dados mestres: capacidades, grupos de recursos, recursos, calendários e funcionários para os postos de trabalho, grupos, turnos e pessoal do SkyPlanner.
  4. Carga inicial de itens, métodos de fabricação (BOM e operações) e recursos.
  5. Sincronização de ordens de produção e de pedidos de compra (datas de entrega de PORel), além do estoque de PartWhse.
  6. Gravação das datas planejadas das operações no Kinetic por meio de ScheduleEngineSvc (MoveJobItem, ChangeResource) em uma Epicor Function, com o bloqueio da ordem ativado.
  7. Envio dos apontamentos de chão de fábrica como apontamentos de mão de obra por meio de LaborSvc.
  8. Testes em paralelo com a programação atual do Kinetic, seguidos da entrada em produção.

Pontos de atenção no Kinetic

  • O respeito à capacidade é configurado em vários lugares. A caixa de seleção Finite fica no recurso. O horizonte em que a programação respeita a capacidade é definido no recurso, no grupo de recursos e na aba Planning de Site Maintenance. Cada ferramenta de programação também tem sua própria caixa de seleção Finite. Antes de importar as datas do Kinetic como referência, confira se elas realmente foram programadas respeitando a capacidade disponível.
  • Capability ou Resource Group e Resource. Quando uma operação especifica uma capacidade, seu grupo de recursos e seu recurso ficam em branco. Caso contrário, ela especifica um grupo de recursos, às vezes com um recurso específico. Sua integração precisa ler esses mesmos campos e identificar por conta própria quais recursos são elegíveis para cada capacidade.
  • Os calendários carregam ajustes do passado. Os calendários dos recursos e o número de funcionários muitas vezes são ajustados para fazer o programador nativo funcionar como esperado. Mapeie os turnos reais e as pessoas de fato disponíveis no SkyPlanner e deixe que ele atribua vários operadores a uma operação quando ela exigir uma equipe.
  • As datas passam pelo motor, não por CRUD. Uma simples atualização das datas das operações por JobEntrySvc não reprograma a ordem. Um relato no fórum mostra uma chamada a JobScheduling que retornou 200 OK sem alterar a ordem. Use a sequência de ScheduleEngine descrita acima.
  • O rigor com os dados determina o resultado. Tempos de operação otimistas, prazos de compra ausentes, ordens de produção deixadas em aberto e paradas não registradas nos calendários prejudicam qualquer programação, nativa ou externa (Bluesky ERP).

Quem configura a integração com o Kinetic

Cada fábrica usa o Kinetic de um jeito. Roteiros de produção baseados em capacidades, calendários dos grupos de recursos, estrutura das BAQs, diretivas BPM e métodos de gravação de retorno específicos de cada versão variam entre unidades. Configurar tudo isso corretamente faz a diferença entre uma programação em que os planejadores confiam e outra que precisam refazer.

  1. A equipe do SkyPlanner configura a integração durante a implantação e oferece suporte após a entrada em produção. A equipe mapeia seus recursos, ordens de produção e liberações de pedidos de compra e configura a leitura das BAQs, os gatilhos BPM e a função de gravação de retorno. Ela conecta a API REST e os webhooks do SkyPlanner ao Kinetic REST v2. O suporte continua quando suas BAQs, seus BPMs ou a versão do Kinetic mudam.
  2. Seu parceiro Epicor. Parceiros que já desenvolvem BAQs, BPMs e Epicor Functions podem trabalhar com a mesma API REST documentada do SkyPlanner, que lê e grava ordens, produtos, materiais, etapas de processo e registros de tempo.
  3. Seus próprios desenvolvedores. Equipes internas com experiência em Kinetic REST podem desenvolver a integração diretamente ou usar o Automation Studio, se ele fizer parte do seu ambiente. Uma chave de API do SkyPlanner basta para começar (tutorial de integração), e a equipe do SkyPlanner ajuda quando necessário. A documentação do produto é pública e está disponível na documentação do SkyPlanner.

O mesmo padrão de API e webhooks já opera em produção com outros ERPs, como na UTU. Na Laboratory & Allied, a equipe interna de TI desenvolveu a maior parte da integração com o SAP Business One por conta própria, com ajuda do SkyPlanner.

Todos os caminhos começam da mesma forma: faça primeiro o teste grátis de 30 dias com importações CSV, valide a programação e só então desenvolva a integração. Os preços começam a partir de 199 € por mês, com 5 postos de trabalho, cobrança mensal e cancelamento a qualquer momento. O orçamento da integração é apresentado antecipadamente, junto com seu plano, de acordo com seu processo e suas necessidades. Assim, você conhece o custo total antes de começar.

Por que escolher esta integração em vez de licenciar o Kinetic APS

Para o comprador técnico, a comparação está no escopo e no tempo até obter resultados. Escolha o SkyPlanner quando:

  • A integração precisa ter escopo enxuto. Ordens de produção, operações, recursos e materiais saem do Kinetic. Datas planejadas e apontamentos de mão de obra retornam. O mapeamento de dados acima cobre todo o escopo.
  • A programação precisa reagir entre execuções. O Arcturus gera a programação da produção em segundos, respeitando a capacidade real das máquinas e da equipe, e o Autopilot reprograma automaticamente quando a produção muda. Os webhooks do SkyPlanner enviam cada alteração, para que o Kinetic receba novas datas sem executar o Global Scheduling.
  • Os apontamentos de chão de fábrica devem alimentar os registros de mão de obra do Kinetic. Os operadores registram o trabalho pelo celular ou tablet com Mobile Confirmations, Production Timer e Quick Log Mode. O envio por LaborSvc faz parte da mesma integração.
  • O material comprado condiciona o início das ordens. Tanto o estoque quanto as liberações de pedidos de compra em aberto alimentam a programação, para que as operações comecem quando o material estiver de fato previsto para chegar.
  • Suas restrições vão além de duas. Vários operadores na mesma operação, ferramentas bloqueadas enquanto estão em uso em outro lugar e postos de trabalho e pessoal alternativos fazem parte de uma única programação. Uma matriz de tempos de preparação define a sequência das trocas, e a integração grava o resultado de volta no Kinetic.
  • Você quer validar antes de começar e ter um projeto curto. O teste mostra sua própria programação a partir de uma exportação BAQ, com até 20 postos de trabalho e sem cartão de crédito. A implementação normalmente é concluída em poucas semanas após o início da implantação.

Conheça as funcionalidades, veja as avaliações dos clientes ou agende uma demonstração.

Avaliações do SkyPlanner por fabricantes

Kalle Kalliomäki, especialista em cadeia de suprimentos da UTU, no chão de fábrica de painéis elétricos em Ulvila

2 heconomizadas por semana

“Com o SkyPlanner, nosso planejamento da produção passou das planilhas de Excel para a otimização da produção em tempo real.”

Kalle Kalliomäki, Especialista em Cadeia de Suprimentos
UTU · Painéis 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.

Leia o depoimento da UTU

Operadores com vestimentas para sala limpa em uma linha de envase de frascos na fábrica farmacêutica da Laboratory & Allied em Nairóbi

+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 criação de um plano otimizado para três meses, abrangendo todos os postos de trabalho, leva menos de 30 minutos.

Leia o depoimento da Laboratory & Allied

Hannu Ryynänen, CEO da Mamec, no galpão de produção da empresa em Lohja

1.000 ou mais ordens de produção programadas automaticamente

“Agora temos um novo nível de controle sobre a produção, e nossa compreensão da capacidade está em um patamar completamente diferente.”

Hannu Ryynänen, CEO
Mamec · Misturadores industriais, bombas e fabricação de alta tecnologia sob contrato

Milhares de ordens de produção são programadas automaticamente, e toda a organização tem uma visão da produção em tempo real.

Leia o depoimento da Mamec

Vista aérea da fábrica de equipamentos de segurança para telhados da Piristeel em Kauhava

99,2%de pontualidade de entrega

“O SkyPlanner trouxe visibilidade para identificar gargalos e tornou a gestão da produção mais clara.”

Toni Tuori, Gerente de Produção
Piristeel · Sistemas de segurança para telhados e de drenagem de águas pluviais

A pontualidade de entrega chegou a 99,2% neste ano, e a programação economiza até quatro horas de trabalho por dia.

Leia o depoimento da Piristeel

Perguntas frequentes

Como o SkyPlanner APS se integra ao Epicor Kinetic?

A integração é bidirecional e usa Kinetic REST v2, BAQs e Epicor Functions. Ordens de produção, operações, recursos e liberações de pedidos de compra são enviados ao SkyPlanner. As datas planejadas das operações e os dados de mão de obra retornam ao Kinetic, e os webhooks enviam as alterações na programação assim que elas ocorrem. Durante a implantação, a equipe do SkyPlanner configura a integração de acordo com o seu ambiente Kinetic. Seu parceiro Epicor ou seus desenvolvedores também podem usar a mesma API REST.

Qual API do Kinetic deve ser usada em uma integração para programação da produção?

REST v2. Use JobEntrySvc para ordens e operações; ResourceGroupSvc, ResourceSvc e CapabilitySvc para capacidade; BAQs para leituras em lote; e LaborSvc para enviar os apontamentos de trabalho ao Kinetic.

O Epicor Kinetic oferece suporte a webhooks?

Não na forma de uma API genérica para envio de webhooks. O envio acionado por eventos é feito por diretivas BPM que chamam Epicor Functions. Outra opção é consultar uma BAQ em intervalos programados.

O SkyPlanner pode gravar as datas programadas nas ordens de produção do Kinetic?

Sim. Uma Epicor Function chama ScheduleEngine.GetNewParamsForJob, MoveJobItem para cada operação e ChangeResource quando o recurso foi alterado. Em seguida, bloqueia a ordem para que o Global Scheduling mantenha as datas. As mesmas chamadas também podem ser executadas diretamente por REST em Erp.BO.ScheduleEngineSvc.

Quem faz a manutenção da integração?

A equipe do SkyPlanner configura a integração durante a implantação e oferece suporte após a entrada em produção, inclusive quando há mudanças nas suas BAQs, nos seus BPMs ou na versão do Kinetic.

A integração funciona com o Epicor Kinetic instalado localmente?

Sim. A API REST, as BAQs, os BPMs e as Epicor Functions funcionam da mesma forma na instalação local e na nuvem do Kinetic. Por isso, um único projeto de integração atende aos dois ambientes.

Quanto tempo leva a integração entre o SkyPlanner APS e o Epicor Kinetic?

A implementação normalmente é concluída em questão de semanas após o início da implantação. O escopo inclui os itens descritos acima: mapeamento, carga inicial, sincronização de ordens de produção e pedidos de compra, gravação da programação no Kinetic e apontamentos de mão de obra. Tudo é testado em paralelo com a sua programação atual.