Integrações / ERP / Microsoft Dynamics 365 Business Central

Guia de integração do Business Central para programação da produção com SkyPlanner APS

Este guia mostra aos parceiros de Business Central e às equipas de TI como ligar o Microsoft Dynamics 365 Business Central ao SkyPlanner APS. O SkyPlanner integra-se com o Business Central nos dois sentidos, através dos serviços Web do próprio Business Central:

  • O SkyPlanner recebe ordens de produção, gamas operatórias, centros de trabalho, artigos e encomendas de compra.
  • As datas e horas de início e de fim programadas são gravadas nas Prod. Order Routing Lines.
  • Os registos de tempos dos operadores são devolvidos para o registo da produção realizada.
  • Os webhooks do SkyPlanner enviam as alterações à programação assim que ocorrem.
Cronograma de Gantt do SkyPlanner APS com tarefas programadas por centro de trabalho e uma lista de ordens em baixo.

A equipa SkyPlanner configura a integração de acordo com a sua configuração do Business Central durante a implementação e presta suporte após a entrada em produção. Este guia destina-se a parceiros e programadores que queiram participar ou desenvolver as suas próprias soluções com a REST API documentada do SkyPlanner (referência da API).

Duas interfaces padrão do Business Central, sem código do lado do Business Central

A integração utiliza duas interfaces já incluídas no Business Central:

  1. API v2.0 para dados comerciais e de inventário. Disponibiliza items, itemVariants, itemLedgerEntries, locations, unitsOfMeasure, salesOrders, salesOrderLines, purchaseOrders, purchaseOrderLines, vendors, customers e employees. Não inclui entidades de fabrico, pelo que os dados de produção são obtidos através da segunda interface.
  2. Serviços Web OData v4 para o fabrico. Qualquer página do Business Central pode ser publicada como serviço Web OData v4 na página Web Services. Escolha o tipo de objeto Page, o ID da página e um nome para o serviço e, em seguida, selecione Published. O endpoint fica disponível, sem código AL nem extensões para implementar. A integração publica as páginas padrão de ordens de produção lançadas, Prod. Order Routing Lines, centros de trabalho, centros de máquina e gamas operatórias, disponíveis em /ODataV4/Company('{name}')/{ServiceName}.

As páginas publicadas permitem leitura e escrita. Segundo a Microsoft: “If an editable page is exposed as a web service, the data in the underlying table can be accessed and modified by an OData call,” (Se uma página editável for exposta como serviço Web, é possível aceder aos dados da tabela subjacente e modificá-los através de uma chamada OData), utilizando PATCH para as atualizações. É assim que as datas programadas são devolvidas ao Business Central, através da mesma página e com a mesma validação que um planeador utiliza.

Não utilize SOAP. A Microsoft classificou os serviços Web SOAP como obsoletos, e a possibilidade de publicar páginas da interface da Microsoft como serviços SOAP é removida na vaga 2 de lançamentos de 2026 (v29).

Autenticação

Utilize OAuth 2.0 através do Microsoft Entra ID, com o fluxo service-to-service (client credentials):

  • Registe uma aplicação no Entra ID e conceda-lhe a permissão de aplicação API.ReadWrite.All do Dynamics 365 Business Central.
  • Peça tokens com o âmbito https://api.businesscentral.dynamics.com/.default.
  • No Business Central, abra a página Microsoft Entra Applications, adicione o ID de cliente, atribua conjuntos de permissões segundo o princípio do menor privilégio e conceda consentimento. Não é possível atribuir SUPER a uma aplicação S2S.

URLs base: https://api.businesscentral.dynamics.com/v2.0/{environment}/api/v2.0/companies({id})/{entity} para a API v2.0 e https://api.businesscentral.dynamics.com/v2.0/{environment}/ODataV4/Company('{name}')/{ServiceName} para as páginas publicadas. O mesmo token funciona em ambas as interfaces.

As chaves de acesso aos serviços Web (autenticação básica) foram descontinuadas e deixaram de ser suportadas no Business Central online em outubro de 2022. Exigem sempre um utilizador com licença. O OAuth não exige licença para integrações service-to-service. As instalações locais suportam S2S a partir das versões 18.11 e 19.5, desde que o servidor esteja configurado para autenticação Microsoft Entra.

Do lado do SkyPlanner, a REST API utiliza autenticação JWT e está documentada em Swagger/OpenAPI. O tutorial de integração explica passo a passo as primeiras chamadas.

Eventos, webhooks e consultas periódicas

O Business Central permite subscrições de webhooks através de POST /api/v2.0/subscriptions em entidades da API v2.0 como items e salesOrders. Aplicam-se as seguintes regras:

  • A criação de uma subscrição exige um handshake: o seu endpoint tem de devolver o validationToken com 200 OK.
  • As subscrições expiram ao fim de três dias. Renove-as com PATCH; o processo de handshake volta a ser executado.
  • As notificações contêm o caminho do recurso, changeType e o seu clientState, não o registo completo. O registo é lido posteriormente.
  • As notificações não são imediatas: o Business Central online espera 30 segundos após a primeira alteração. Se forem alterados mais de 1.000 registos nesse intervalo, as alterações chegam numa única notificação collection.
  • Máximo de 200 subscrições de webhooks por ambiente online.

As ordens de produção, as linhas de gama operatória e as encomendas de compra são consultadas a cada poucos minutos nas páginas publicadas e em purchaseOrders. A filtragem por ordens e encomendas em aberto, juntamente com a paginação, mantém o número de pedidos bem abaixo dos limites do Business Central.

O SkyPlanner envia webhooks quando o estado ou a programação mudam, pelo que a gravação dos dados no Business Central é acionada por eventos.

Mapeamento de dados

Objeto do Business Central (interface)Objeto do SkyPlannerSentidoFrequência
Item, Item Variant, Unit of Measure (items, itemVariants, unitsOfMeasure, API v2.0)Produtos e materiaisBC → SkyPlannerCarregamento inicial, seguido de webhook ou consulta incremental
Production BOM Header/Line, versões Certified (página publicada)Estrutura do produto, subprodutos e materiais por produtoBC → SkyPlannerCarregamento inicial e, depois, sempre que houver alterações
Routing Header/Line, versões Certified (página Routing publicada): Operation No., Setup, Run, Wait and Move Time, Concurrent Capacities, Send-Ahead QuantityEtapas do processo com durações e tempos de preparação e desmontagemBC → SkyPlannerCarregamento inicial e, depois, sempre que houver alterações
Work Center, Machine Center: Capacity, Efficiency, Shop Calendar Code (páginas Work Center e Machine Center publicadas)Centros de trabalho, grupos de centros de trabalho e eficiênciasBC → SkyPlannerCarregamento inicial; raramente depois disso
Shop Calendar, Work Shift, Calendar Entry, Absence (páginas publicadas)Turnos e ausênciasBC → SkyPlannerDiariamente, ou gestão dos turnos no SkyPlanner
Released Production Order, Prod. Order Line, Prod. Order Routing Line, Prod. Order Component (páginas publicadas; Firm Planned opcional)Ordens e tarefas com prazos e necessidades de materiaisBC → SkyPlannerConsulta a cada poucos minutos
salesOrders, salesOrderLines (API v2.0)Prazos de entrega aos clientes e informação sobre prioridadesBC → SkyPlannerWebhook ou consulta periódica
itemLedgerEntries (API v2.0)Saldos de existênciasBC → SkyPlannerConsulta de hora a hora ou em cada execução da programação
purchaseOrders, purchaseOrderLines (API v2.0), Expected Receipt Date na linhaEncomendas de compra / materiais a receber, com data de entrega prevista; atualização das existências quando a encomenda de compra é marcada como DeliveredBC → SkyPlannerConsulta de hora a hora ou em cada execução da programação
Prod. Order Routing Line: Starting Date-Time, Ending Date-Time, Type, No. (PATCH na página Prod. Order Routing publicada)Início, fim e centro de trabalho planeados por operaçãoSkyPlanner → BCSempre que a programação muda, através de um webhook do SkyPlanner
Output Journal (Item Journal Line, Entry Type Output)Registos de tempo, quantidades e confirmações dos operadoresSkyPlanner → BCPor confirmação ou por turno, se o registo automático estiver ativo
Routing Tool, Routing Personnel (páginas publicadas, importação inicial opcional)Necessidades de ferramentas e número de operadores por tarefaBC → SkyPlannerCarregamento inicial; depois, manutenção no SkyPlanner
Não existe no Business CentralMatriz de tempos de preparação, ferramentas como recursos de capacidade finita, máquinas e pessoal alternativosManutenção no SkyPlannerConfiguração durante a implementação inicial
Consumption Journal (se o consumo não for registado automaticamente)Consumo de materiaisSkyPlanner → BCPor confirmação ou por turno, se o registo automático estiver ativo

Modelos de integração

1. Carregamento inicial de dados mestre. Obtenha as gamas operatórias e as BOM de produção no estado Certified, bem como os centros de trabalho e de máquina, a partir das páginas publicadas. Obtenha os artigos e as unidades de medida através da API v2.0. Defina cuidadosamente a correspondência entre cada centro de trabalho ou de máquina e um centro de trabalho do SkyPlanner: decida se um centro de trabalho com três centros de máquina passa a ser um grupo de centros de trabalho ou três centros de trabalho.

2. Sincronização de ordens e encomendas. Leia nas páginas publicadas as ordens de produção no estado Released (e Firm Planned, se as programar), com as respetivas linhas de gama operatória e componentes. Leia também as linhas de encomendas de compra em aberto através da API v2.0. O SkyPlanner considera o material encomendado disponível na data de entrega da encomenda de compra e atualiza as existências quando esta é marcada como Delivered. Assim, a programação verifica tanto as existências como as compras por receber.

Nunca programe ordens de produção no estado Planned: segundo a Microsoft, o Business Central “deletes them the next time you run planning.” (elimina-as da próxima vez que executar o planeamento). A Planning Worksheet continua a propor aprovisionamento e o SkyPlanner programa as ordens firmes com base na capacidade real.

3. Escrita da programação no Business Central. A página padrão Prod. Order Routing é publicada como serviço Web OData v4. Para cada operação que o motor tenha programado ou reagendado, o SkyPlanner envia um PATCH para a respetiva linha de gama operatória com o ETag If-Match. Define Starting Date-Time e Ending Date-Time, bem como Type e No. quando a operação é transferida para uma máquina alternativa.

O PATCH executa os triggers da página e da tabela, pelo que o Business Central valida os campos com a sua própria lógica, exatamente como quando um planeador edita a página Prod. Order Routing. Os campos Starting e Ending Date-Time da linha da ordem de produção são atualizados em conformidade. As quantidades, o estado e os custos continuam sob o controlo do Business Central.

4. Confirmações na fábrica. Os operadores registam o trabalho com SkyPlanner Mobile Confirmations ou Production Timer, e os registos de tempos mantêm a programação atualizada. A produção realizada pode continuar a ser registada no Business Central como antes, através do Production Journal ou do Output Journal.

Se pretender registar a produção realizada e os consumos de forma totalmente automática, é adicionada uma página API padrão do Business Central para efetuar lançamentos no diário de produção realizada. O SkyPlanner passa então a registar o tempo de preparação, o tempo de execução e a quantidade produzida por operação. Os lançamentos atualizam os Capacity Ledger Entries, e o registo da produção realizada na última operação da gama operatória adiciona o artigo às existências.

Escolha um único canal para registar a produção realizada. Os lançamentos ficam duplicados se forem efetuados tanto pelo SkyPlanner como pelo Production Journal do Business Central.

5. Responsabilidade pelos dados e regras de conflito. Documente-as antes da entrada em produção:

DadosSistema responsável
Artigos, BOM, gamas operatórias, quantidades, estado das ordensBusiness Central
Sequência das operações, datas e horas de início e de fim, atribuição de centros de trabalhoSkyPlanner
Matriz de tempos de preparação e transição, requisitos de ferramentas e operadores, recursos alternativosSkyPlanner
Turnos e ausênciasUm único sistema, escolhido na definição do âmbito
Produção realizada e consumosBusiness Central, com lançamentos manuais ou automáticos a partir dos registos de tempos do SkyPlanner

A principal fonte de conflitos são as ações Refresh e Replan nas ordens de produção. Segundo a Microsoft: “If you use the Refresh action to recalculate production order lines, Business Central deletes the existing production order lines and calculates new lines.” (Se utilizar a ação Refresh para recalcular as linhas da ordem de produção, o Business Central elimina as linhas existentes e calcula novas linhas.) A ação Replan também pode alterar as necessidades de capacidade, e o recálculo dos componentes “deletes previous changes in the components.” (elimina as alterações anteriores aos componentes).

Trate uma ordem atualizada com Refresh como uma nova versão, volte a sincronizá-la e deixe o SkyPlanner reprogramá-la. Com Autopilot, o SkyPlanner reprograma automaticamente quando há alterações na produção.

Etapas habituais do projeto

A implementação fica normalmente concluída em poucas semanas após o início do acompanhamento inicial. Antes disso, pode utilizar os seus próprios dados no período de avaliação gratuita de 30 dias. Exporte centros de trabalho, gamas operatórias e ordens de produção em aberto do Business Central através de Open in Excel ou Edit in Excel nas páginas de listas. Importe-os em formato CSV ou Excel e valide a programação antes de iniciar qualquer trabalho de integração.

O projeto propriamente dito inclui:

  1. Mapeamento de dados mestre. Defina a tabela de correspondências, as regras de responsabilidade pelos dados, as frequências de sincronização e o canal de registo da produção realizada.
  2. Configuração dos serviços Web. Publique as páginas de ordens de produção, linhas de gama operatória, componentes, centros de trabalho, centros de máquina, gamas operatórias, BOM e calendários na página Web Services e registe a aplicação Entra. Trata-se apenas de configuração, primeiro num ambiente de testes e depois no ambiente de produção.
  3. Carregamento inicial. Artigos, unidades de medida, BOM e gamas operatórias no estado Certified, centros de trabalho e de máquina, calendários.
  4. Sincronização de ordens de produção e encomendas de compra. Ordens de produção no estado Released e encomendas de compra em aberto por consultas periódicas; encomendas de venda por webhook. Esta etapa inclui a gestão de tokens, a renovação de subscrições e a repetição de pedidos após respostas 429.
  5. Configuração de restrições no SkyPlanner. Matriz de tempos de preparação e transição, ferramentas, número de operadores por tarefa e máquinas ou pessoal alternativos: dados que o Business Central não disponibiliza para programação.
  6. Escrita da programação no Business Central. PATCH na página publicada Prod. Order Routing; o registo automático da produção realizada é adicionado nesta etapa, se essa opção tiver sido escolhida.
  7. Testes em paralelo. Utilize o SkyPlanner em paralelo com o plano atual, compare datas e corrija os dados mestre.
  8. Entrada em produção. Ative a gravação dos dados no Business Central quando os dados coincidirem.

Erros a evitar no Business Central

  • Unidades nas gamas operatórias. Setup Time aplica-se por ordem de produção e Run Time por artigo produzido, cada um com o seu próprio Unit of Measure Code. Wait Time e Move Time não consomem capacidade do centro de trabalho. Se a unidade do centro de trabalho for Days, um dia corresponde a 24 horas, não a um turno de oito horas. Faça a conversão na importação; caso contrário, todas as durações estarão erradas.
  • Calendários desatualizados. Só existe capacidade depois de executar Calculate Work Center Calendar para o horizonte em causa. Verifique o campo Calendar Entries Available Until antes do carregamento inicial.
  • Capacidade dos centros de máquina oculta. Com Consolidated Calendar desativado, só é planeada a capacidade do próprio centro de trabalho: “The machine center capacity is excluded.” (A capacidade do centro de máquina é excluída.) Leia diretamente a capacidade dos centros de máquina em vez de confiar nos totais dos centros de trabalho.
  • Capacity e Efficiency. O Business Central calcula a duração como Run Time / Efficiency / Capacity, e os movimentos de calendário calculados já incluem ambos os fatores. Aplique Efficiency à eficiência do centro de trabalho do SkyPlanner uma única vez, não duas.
  • Alternate Work Center é apenas informativo. Segundo a Microsoft, “isn’t automatically included in planning processes.” (não é incluído automaticamente nos processos de planeamento). Modele explicitamente as alternativas como centros de trabalho alternativos no SkyPlanner.
  • Limitação de pedidos. Os limites online aplicam-se por utilizador, e uma entidade de serviço conta como um utilizador: 6.000 pedidos OData numa janela deslizante de 5 minutos e 5 pedidos em simultâneo. O tamanho de página está limitado a 20.000 registos, um $batch a 100 operações e o tempo limite de uma operação é de 8 minutos. Se a taxa de pedidos for excedida, é devolvido o código 429. Agrupe os pedidos em lotes, use paginação e consulte apenas as alterações, em vez de recarregar todos os dados.
  • Licenciamento. O módulo Manufacturing só está disponível na experiência Premium. Os utilizadores com Essentials não podem iniciar sessão numa empresa configurada como Premium.

Integração com o Business Central: quem a configura e presta suporte

O trabalho abrange o mapeamento das suas gamas operatórias, dos centros de trabalho e da configuração do Business Central, além das restrições que o Business Central não armazena: matriz de tempos de preparação e transição, ferramentas, número de operadores e recursos alternativos.

  1. A equipa SkyPlanner configura a integração durante a implementação e presta suporte após a entrada em produção, tanto do lado do SkyPlanner como nos serviços Web do Business Central acordados. Cada fábrica utiliza o Business Central de forma diferente, e é aqui que esse conhecimento é aplicado. A integração utiliza a API v2.0 padrão do Business Central e os serviços Web publicados, que acompanham as atualizações do Business Central.
  2. O seu parceiro de Business Central pode participar. O parceiro conhece a sua configuração e as suas extensões e pode analisar as páginas publicadas, os conjuntos de permissões e a aplicação Entra em conjunto com a equipa SkyPlanner. O SkyPlanner disponibiliza a REST API, a documentação Swagger/OpenAPI e os webhooks.
  3. Os seus próprios programadores podem desenvolver soluções sobre esta integração, utilizando a mesma REST API documentada com autenticação JWT. Basta uma chave de API para começar, e a equipa SkyPlanner ajuda quando necessário. A documentação pública do produto, incluindo encomendas de compra e a API de produtos e materiais, está disponível na documentação do SkyPlanner. A Laboratory & Allied seguiu esta via com o SAP Business One: a sua equipa interna de TI desenvolveu a integração em grande parte de forma autónoma, com a ajuda do SkyPlanner. A UTU utiliza o SkyPlanner em paralelo com o seu ERP NetSuite.

Valide primeiro a programação durante o período de avaliação gratuita de 30 dias, para que a integração parta de uma programação já ajustada à fábrica.

Depois de estabelecida a ligação, o motor Arcturus programa a produção com base nas ordens atualizadas do Business Central e as datas planeadas são registadas na gama operatória da ordem de produção. O SkyPlanner está disponível a partir de 199 € por mês, com 5 centros de trabalho incluídos e faturação mensal. O orçamento da integração é apresentado antecipadamente, em função dos seus processos e necessidades, juntamente com o plano escolhido, para que conheça o custo total antes de começar. Consulte os preços, as funcionalidades e veja como se compara o planeamento do próprio Business Central no artigo sobre programação da produção no Business Central. O conceito abordado nesse artigo consiste em programar a produção respeitando a capacidade efetivamente disponível das máquinas e do pessoal. Encontra uma visão geral na página do Business Central e outros ERP na área de integrações com ERP.

O que dizem os fabricantes sobre o SkyPlanner

Kalle Kalliomäki, especialista em cadeia de abastecimento na UTU, na área de produção de quadros elétricos em Ulvila

2 hpoupadas por semana

“Com o SkyPlanner, o nosso planeamento da produção passou das folhas de cálculo do Excel para a otimização da produção em tempo real.”

Kalle Kalliomäki, especialista em cadeia de abastecimento
UTU · Quadros elétricos e aparelhagem de manobra

O planeamento da produção permite poupar 2 horas de trabalho por semana, e uma nova fila de tarefas chega à linha em segundos.

Ler o testemunho da UTU

Operadores com vestuário de sala limpa numa linha de enchimento de frascos na fábrica farmacêutica da Laboratory & Allied, em Nairobi

+90%de eficiência na produção

“A eficiência na produção aumentou 90%.”

Abdul Rucyinga, responsável de TI
Laboratory & Allied · Produção farmacêutica

A eficiência na produção aumentou 90%, e criar um plano otimizado para três meses, abrangendo todos os centros de trabalho, demora menos de 30 minutos.

Ler o testemunho da Laboratory & Allied

Um soldador da KJH-Comp a rebarbar uma estrutura de aço soldada na fábrica de Alahärmä

98%de fiabilidade das entregas, face a cerca de 50% anteriormente

“O SkyPlanner tem um papel decisivo na manutenção da fiabilidade das nossas entregas.”

Hannu Lahtinen, diretor-geral
KJH-Comp · Metalomecânica de chapa e fabrico por contrato

A fiabilidade das entregas passou de cerca de 50% para valores que chegam aos 98%, e a programação exige agora apenas um supervisor em vez de dois.

Ler o testemunho da KJH-Comp

Hannu Ryynänen, diretor executivo da Mamec, no pavilhão de produção da empresa em Lohja

1,000sde ordens de fabrico programadas automaticamente

“Temos um controlo diferente sobre a produção e o nosso conhecimento da capacidade está num patamar completamente diferente.”

Hannu Ryynänen, diretor executivo
Mamec · Misturadores industriais, bombas e fabrico de alta tecnologia por contrato

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

Ler o testemunho da Mamec

Perguntas frequentes

A API do Business Central inclui ordens de produção?

A API v2.0 padrão não inclui entidades para ordens de produção, gamas operatórias, BOM ou centros de trabalho. O Business Central disponibiliza-as através dos seus serviços Web OData v4. As páginas padrão de produção são publicadas na página Web Services, sem necessidade de código, e os respetivos dados são lidos e escritos através de OData.

Quem desenvolve a integração com o Business Central?

A equipa do SkyPlanner configura a integração bidirecional de acordo com a sua configuração do Business Central durante a implementação inicial e presta assistência após a entrada em produção. Do lado do Business Central, utiliza a API v2.0 e os serviços Web OData v4 publicados. O seu parceiro Business Central ou os seus próprios programadores também podem desenvolver a integração com base na API REST documentada do SkyPlanner. Basta uma chave de API para começar.

É necessário instalar uma extensão no Business Central?

Não. A API v2.0 está incluída de origem, e as páginas de produção são publicadas como serviços Web através da configuração na página Web Services. Só é adicionada uma página de API padrão se pretender que os registos de produção e de consumo sejam lançados de forma totalmente automática.

Que autenticação deve ser utilizada na integração?

OAuth 2.0 com credenciais de cliente através do Microsoft Entra ID, com registo na página Microsoft Entra Applications do Business Central. As chaves de acesso a serviços Web são consideradas obsoletas. A instalação local suporta o mesmo acesso entre serviços a partir das versões 18.11 e 19.5, desde que o servidor esteja configurado para autenticação Microsoft Entra. Confirmamos a abordagem adequada à sua versão durante a definição do âmbito.

O Business Central pode enviar alterações em tempo real?

Quase em tempo real. As notificações das subscrições de webhooks de entidades da API v2.0, como artigos e encomendas de venda, chegam cerca de 30 segundos após a primeira alteração, agrupadas pelo Business Central online. As ordens de produção são recolhidas através de consultas periódicas a intervalos de poucos minutos. No sentido inverso, os webhooks do próprio SkyPlanner enviam as alterações à programação à medida que ocorrem.

Como são gravadas as datas das operações no Business Central?

Através de um pedido PATCH à página padrão Prod. Order Routing, publicada como serviço Web OData v4. O pedido define os campos Starting Date-Time e Ending Date-Time e o centro de trabalho ou de máquina. O Business Central valida estes dados com a sua própria lógica, exatamente como quando um planeador edita a página.

Podemos testar o SkyPlanner antes de desenvolver a integração?

Sim. A avaliação gratuita de 30 dias permite utilizar até 20 centros de trabalho, com importações de ficheiros CSV ou Excel do Business Central, sem necessidade de cartão de crédito. Inicie a avaliação ou fale com a equipa comercial para definir o âmbito da integração.