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 do Business Central e às equipes de TI como conectar o Microsoft Dynamics 365 Business Central ao SkyPlanner APS. A integração entre SkyPlanner e Business Central é bidirecional e usa os próprios serviços web do Business Central:
- O SkyPlanner recebe ordens de produção, roteiros de produção, centros de trabalho, itens e pedidos de compra.
- As datas e os horários planejados de início e término são gravados em Prod. Order Routing Lines.
- Os registros de tempo dos operadores retornam ao Business Central para o apontamento da produção.
- Os webhooks do SkyPlanner enviam as alterações na programação assim que elas ocorrem.
A equipe do SkyPlanner configura a integração de acordo com o seu ambiente Business Central durante a implantação inicial e presta 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).
Duas interfaces padrão do Business Central, sem código no lado do Business Central
A integração usa duas interfaces já disponíveis no Business Central:
- API v2.0 para dados comerciais e de estoque. Ela expõe
items,itemVariants,itemLedgerEntries,locations,unitsOfMeasure,salesOrders,salesOrderLines,purchaseOrders,purchaseOrderLines,vendors,customerseemployees. Como não inclui entidades de manufatura, os dados de produção vêm pela segunda interface. - Serviços Web OData v4 para manufatura. Qualquer página do Business Central pode ser publicada como um 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. Em seguida, selecione Published. O endpoint fica disponível sem código AL e sem a necessidade de implantar uma extensão. A integração publica as páginas padrão de ordens de produção liberadas, Prod. Order Routing Lines, centros de trabalho, centros de máquina e roteiros de produção, disponíveis em
/ODataV4/Company('{name}')/{ServiceName}.
As páginas publicadas permitem leitura e gravação. 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, os dados da tabela subjacente poderão ser acessados e modificados por uma chamada OData), com PATCH para atualizações. É assim que as datas planejadas retornam ao Business Central, pela mesma página e com a mesma validação usadas pelo planejador.
Não use SOAP. A Microsoft declarou os serviços web SOAP obsoletos, e a publicação de páginas da interface da Microsoft como SOAP será removida na onda 2 de lançamentos de 2026 (v29).
Autenticação
Use OAuth 2.0 pelo Microsoft Entra ID com o fluxo de serviço a serviço (client credentials):
- Registre um aplicativo no Entra ID e conceda a permissão de aplicativo
API.ReadWrite.Alldo Dynamics 365 Business Central. - Solicite tokens com o escopo
https://api.businesscentral.dynamics.com/.default. - No Business Central, abra a página Microsoft Entra Applications, adicione o ID do cliente, atribua conjuntos de permissões com os privilégios mínimos necessários e conceda o consentimento. Não é possível atribuir SUPER a um aplicativo 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 nas duas interfaces.
As chaves de acesso a serviços web (autenticação básica) foram descontinuadas e não têm suporte no Business Central online desde outubro de 2022. Além disso, sempre exigem um usuário licenciado. O OAuth não exige licença para integrações de serviço a serviço. As instalações locais oferecem suporte a S2S a partir das versões 18.11 e 19.5, desde que o servidor esteja configurado para autenticação pelo Microsoft Entra.
No lado do SkyPlanner, a API REST usa autenticação JWT e está documentada em Swagger/OpenAPI. O tutorial de integração orienta as primeiras chamadas.
Eventos, webhooks e consultas periódicas
O Business Central permite criar assinaturas de webhook por meio de POST /api/v2.0/subscriptions para entidades da API v2.0, como items e salesOrders. As regras são:
- A criação de uma assinatura exige um handshake: seu endpoint deve retornar o
validationTokencom 200 OK. - As assinaturas expiram após três dias. Renove com PATCH; o handshake será executado novamente.
- As notificações contêm o caminho do recurso,
changeTypee seuclientState, não o registro completo. O registro é consultado depois. - As notificações não são imediatas: o Business Central online aguarda 30 segundos após a primeira alteração. Se houver mais de 1.000 registros alterados nesse intervalo, eles chegam em uma única notificação
collection. - O limite é de 200 assinaturas de webhook por ambiente online.
As ordens de produção, as linhas dos roteiros de produção e os pedidos de compra são consultados a cada poucos minutos nas páginas publicadas e em purchaseOrders. Filtrar apenas as ordens e os pedidos em aberto e usar paginação mantém o número de requisições bem abaixo dos limites do Business Central.
O SkyPlanner envia webhooks quando há mudanças de estado ou na programação. Assim, a gravação de dados de volta no Business Central é orientada a eventos.
Mapeamento de dados
| Objeto do Business Central (interface) | Objeto do SkyPlanner | Direção | Frequência |
|---|---|---|---|
Item, Item Variant, Unit of Measure (items, itemVariants, unitsOfMeasure, API v2.0) | Produtos e materiais | BC → SkyPlanner | Carga inicial; depois, webhook ou consulta periódica das alterações |
| Production BOM Header/Line, versões Certified (página publicada) | Estrutura do produto, subprodutos, materiais por produto | BC → SkyPlanner | Carga inicial; depois, a cada alteração |
| Routing Header/Line, versões Certified (página Routing publicada): Operation No., Setup, Run, Wait and Move Time, Concurrent Capacities, Send-Ahead Quantity | Etapas do processo com duração, tempo de setup e tempo de desmontagem | BC → SkyPlanner | Carga inicial; depois, a cada alteração |
| 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, eficiências | BC → SkyPlanner | Carga inicial; raramente depois |
| Shop Calendar, Work Shift, Calendar Entry, Absence (páginas publicadas) | Turnos, ausências | BC → SkyPlanner | Diariamente, 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 operações com prazos e necessidades de materiais | BC → SkyPlanner | Consulta periódica a cada poucos minutos |
salesOrders, salesOrderLines (API v2.0) | Prazos dos clientes e informações de prioridade | BC → SkyPlanner | Webhook ou consulta periódica |
itemLedgerEntries (API v2.0) | Saldos de estoque | BC → SkyPlanner | Consulta a cada hora ou a cada execução da programação |
purchaseOrders, purchaseOrderLines (API v2.0), Expected Receipt Date na linha | Pedidos de compra / materiais a receber, com data prevista de entrega; o estoque é atualizado quando o pedido de compra é marcado como Delivered | BC → SkyPlanner | Consulta a cada hora ou a 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 e término planejados e centro de trabalho de cada operação | SkyPlanner → BC | A cada alteração na programação, via webhook do SkyPlanner |
| Output Journal (Item Journal Line, Entry Type Output) | Apontamentos de tempo, quantidades e confirmações dos operadores | SkyPlanner → BC | Por confirmação ou por turno, se o lançamento automático estiver ativado |
| Routing Tool, Routing Personnel (páginas publicadas, carga inicial opcional) | Ferramentas necessárias, número de operadores por operação | BC → SkyPlanner | Carga inicial; depois, manutenção no SkyPlanner |
| Não disponível no Business Central | Matriz de tempos de preparação, ferramentas como recursos de capacidade finita, máquinas e pessoal alternativos | Manutenção no SkyPlanner | Configuração durante a implantação |
| Consumption Journal (se não houver baixa automática) | Consumo de materiais | SkyPlanner → BC | Por confirmação ou por turno, se o lançamento automático estiver ativado |
Padrões de integração
1. Carga inicial de dados mestres. Obtenha nas páginas publicadas os roteiros de produção e as BOMs de produção com status Certified, além dos centros de trabalho e de máquina. Obtenha os itens e as unidades de medida pela API v2.0. Defina com cuidado o mapeamento de cada centro de trabalho ou de máquina para um centro de trabalho do SkyPlanner: decida se um centro de trabalho com três centros de máquina será representado por um grupo de centros de trabalho ou por três centros de trabalho.
2. Sincronização de ordens. Leia nas páginas publicadas as ordens de produção com status Released (e Firm Planned, caso você as programe), com suas linhas de roteiro e componentes. Leia também as linhas de pedidos de compra em aberto pela API v2.0. O SkyPlanner considera o material encomendado disponível na data de entrega do pedido de compra e atualiza o estoque quando o pedido é marcado como Delivered. Assim, a programação verifica tanto o estoque quanto as compras a receber.
Nunca programe ordens de produção com status Planned. Segundo a Microsoft, o Business Central “deletes them the next time you run planning.” (as exclui na próxima vez que você executar o planejamento). A Planning Worksheet continua propondo suprimentos, e o SkyPlanner programa as ordens firmes de acordo com a capacidade real.
3. Gravação da programação no Business Central. A página padrão Prod. Order Routing é publicada como um serviço Web OData v4. Para cada operação que o mecanismo programou ou moveu, o SkyPlanner envia um PATCH à linha correspondente do roteiro de produção com o ETag em If-Match. Ele define Starting Date-Time e Ending Date-Time, além de Type e No. quando a operação é transferida para uma máquina alternativa.
O PATCH executa os gatilhos da página e da tabela. Com isso, o Business Central valida os campos com sua própria lógica, exatamente como quando um planejador 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 seguida. As quantidades, o status e os custos continuam sob responsabilidade do Business Central.
4. Apontamentos do chão de fábrica. Os operadores registram o trabalho pelo SkyPlanner Mobile Confirmations ou pelo Production Timer, e os registros de tempo mantêm a programação atualizada. O apontamento da produção pode continuar sendo feito no Business Central, pelo Production Journal ou pelo Output Journal.
Se você quiser contabilizar a produção e o consumo de forma totalmente automática, será adicionada uma página de API padrão do Business Central para contabilização no diário de produção. O SkyPlanner passa então a contabilizar o tempo de setup, o tempo de execução e a quantidade produzida por operação. A contabilização atualiza Capacity Ledger Entries, e a produção apontada na última operação do roteiro adiciona o item ao estoque.
Escolha um único canal para contabilizar a produção. Contabilizar tanto pelo SkyPlanner quanto pelo Production Journal do Business Central duplica os lançamentos.
5. Responsabilidade pelos dados e regras de conflito. Documente essas regras antes da entrada em produção:
| Dados | Responsável |
|---|---|
| Itens, BOMs, roteiros de produção, quantidades, status das ordens | Business Central |
| Sequência das operações, datas e horários de início e término, alocação aos centros de trabalho | SkyPlanner |
| Matriz de tempos de preparação e transição, requisitos de ferramentas e operadores, recursos alternativos | SkyPlanner |
| Turnos e ausências | Um único sistema, escolhido na definição de escopo |
| Produção e consumo | Business Central, com contabilização manual ou automática a partir dos registros de tempo 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 você usar a ação Refresh para recalcular as linhas da ordem de produção, o Business Central excluirá as linhas existentes e calculará novas linhas.) A ação Replan também pode alterar a necessidade de capacidade, e o recálculo de componentes “deletes previous changes in the components.” (exclui as alterações anteriores nos componentes).
Trate uma ordem atualizada por Refresh como uma nova versão, sincronize-a novamente e deixe o SkyPlanner reprogramar. Com o Autopilot, o SkyPlanner reprograma automaticamente quando há mudanças na produção.
Etapas típicas do projeto
A implementação normalmente é concluída em poucas semanas após o início da implantação. Antes disso, o teste gratuito de 30 dias usa seus próprios dados. Exporte centros de trabalho, roteiros de produção e ordens de produção em aberto do Business Central usando Open in Excel ou Edit in Excel nas páginas de lista. Importe esses dados como CSV ou Excel e valide a programação antes de iniciar qualquer trabalho de integração.
O projeto em si inclui:
- Mapeamento de dados mestres. Defina a tabela de mapeamento, as regras de responsabilidade pelos dados, as frequências de sincronização e o canal de contabilização da produção.
- Configuração dos serviços web. Publique as páginas de ordens de produção, linhas de roteiro, componentes, centros de trabalho, centros de máquina, roteiros de produção, BOMs e calendários na página Web Services e registre o aplicativo Entra. O trabalho exige apenas configuração, primeiro no ambiente sandbox e depois no de produção.
- Carga inicial. Itens, unidades de medida, BOMs e roteiros de produção com status Certified, centros de trabalho e de máquina, calendários.
- Sincronização de ordens e pedidos de compra. Ordens de produção com status Released e pedidos de compra em aberto por consultas periódicas; pedidos de venda por webhook. Esta etapa inclui o gerenciamento de tokens, a renovação de assinaturas e as novas tentativas em caso de resposta 429.
- Configuração de restrições no SkyPlanner. Matriz de tempos de preparação e transição, ferramentas, número de operadores por operação e máquinas ou pessoas alternativas. O Business Central não mantém essas informações como dados utilizáveis na programação.
- Gravação da programação no Business Central. PATCH na página publicada Prod. Order Routing. A contabilização automática da produção é adicionada nesta etapa, caso tenha sido escolhida.
- Testes em paralelo. Execute o SkyPlanner em paralelo ao plano atual, compare as datas e corrija os dados mestres.
- Entrada em produção. Ative a gravação de volta no Business Central quando os dados coincidirem.
Pontos de atenção no Business Central
- Unidades nos roteiros de produção. Setup Time é definido por ordem de produção, Run Time por item produzido, e cada um tem 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. A capacidade só existe depois de executar Calculate Work Center Calendar para o horizonte de planejamento. Verifique o campo Calendar Entries Available Until antes da carga inicial.
- Capacidade dos centros de máquina oculta. Com Consolidated Calendar desativado, apenas a capacidade própria do centro de trabalho é planejada: “The machine center capacity is excluded.” (A capacidade do centro de máquina é excluída.) Leia a capacidade dos centros de máquina diretamente, 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 registros calculados do calendário já incluem os dois fatores. Mapeie Efficiency para a eficiência do centro de trabalho no SkyPlanner uma única vez, não duas.
- Alternate Work Center é apenas informativo. Segundo a Microsoft, esse campo “isn’t automatically included in planning processes.” (não é incluído automaticamente nos processos de planejamento). Modele as alternativas explicitamente como centros de trabalho alternativos no SkyPlanner.
- Limites de requisições. Os limites online são aplicados por usuário, e uma entidade de serviço conta como um usuário: 6.000 requisições OData em uma janela móvel de 5 minutos e 5 requisições simultâneas. O tamanho da página é limitado a 20.000 registros, cada
$batcha 100 operações, e uma operação atinge o tempo limite após 8 minutos. Exceder a taxa retorna 429. Use lotes, paginação e consultas periódicas apenas das alterações, em vez de recarregar todos os dados. - Licenciamento. Os recursos de manufatura estão disponíveis apenas na experiência Premium. Usuários do Essentials não podem acessar uma empresa configurada como Premium.
Integração com o Business Central: quem configura e presta suporte
O trabalho inclui o mapeamento conforme seus roteiros de produção, centros de trabalho e configurações do Business Central, além das restrições que o Business Central não mantém: matriz de tempos de preparação e transição, ferramentas, número de operadores e recursos alternativos.
- A equipe do SkyPlanner configura a integração durante a implantação e presta suporte após a entrada em produção, abrangendo o lado do SkyPlanner e os serviços web do Business Central acordados. Cada fábrica usa o Business Central de uma forma, e é nesse trabalho que esse conhecimento é aplicado. A integração usa a API v2.0 padrão do Business Central e os serviços web publicados, que acompanham as atualizações do Business Central.
- Seu parceiro do Business Central pode participar. O parceiro conhece suas configurações e extensões e pode revisar as páginas publicadas, os conjuntos de permissões e o aplicativo Entra junto com a equipe do SkyPlanner. O SkyPlanner fornece a API REST, a documentação Swagger/OpenAPI e os webhooks.
- Seus próprios desenvolvedores podem criar a integração usando a mesma API REST documentada com autenticação JWT. Uma chave de API basta para começar, e a equipe do SkyPlanner ajuda quando necessário. A documentação pública do produto, incluindo pedidos de compra e a API de produtos e materiais, está na documentação do SkyPlanner. A Laboratory & Allied seguiu esse caminho com o SAP Business One: sua equipe interna de TI desenvolveu a integração em grande parte por conta própria, com a ajuda do SkyPlanner. No NetSuite, a UTU usa o SkyPlanner em conjunto com seu ERP.
Primeiro, valide a programação durante o teste grátis de 30 dias. Assim, a integração parte de uma programação que já atende à realidade da fábrica.
Após a conexão, o mecanismo Arcturus programa a produção com base nas ordens atualizadas do Business Central, e as datas planejadas são registradas no roteiro da ordem de produção. O SkyPlanner custa a partir de 199 € por mês, com 5 centros de trabalho incluídos e cobrança mensal. O orçamento da integração é apresentado antecipadamente, de acordo com seus processos e necessidades, junto com o plano, para que você conheça o custo total antes de começar. Confira os preços, os recursos e veja como o planejamento nativo do Business Central se compara na página sobre programação da produção no Business Central. Nesse contexto, programação da produção significa elaborar uma programação que respeite a capacidade realmente disponível tanto das máquinas quanto da equipe. A visão geral está na página do Business Central, e você encontra outros ERPs na central de integrações com ERP.
Depoimentos de fabricantes sobre o SkyPlanner
2 heconomizadas por semana
“Com o SkyPlanner, nosso planejamento da produção saiu das planilhas do Excel para a 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, responsável pela área de TI
Laboratory & Allied · Fabricação de produtos farmacêuticos
A eficiência na produção aumentou 90%, e gerar um plano otimizado de três meses para todos os centros de trabalho leva menos de 30 minutos.
98%de pontualidade de entrega, antes em cerca de 50%
“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 manufatura 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.
1,000sde ordens de produção programadas automaticamente
“Hoje temos outro controle sobre a produção, e nossa compreensão da capacidade está em um patamar completamente diferente.”
Hannu Ryynänen, diretor-presidente
Mamec · Misturadores industriais, bombas e manufatura 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.
Perguntas frequentes
A API do Business Central inclui ordens de produção?
A API v2.0 padrão não tem entidades de ordens de produção, roteiros de produção, BOM ou centros de trabalho. O Business Central disponibiliza esses dados por meio de 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 a leitura e a gravação dos dados são feitas via OData.
Quem desenvolve a integração com o Business Central?
A equipe do SkyPlanner configura a integração bidirecional de acordo com o seu ambiente Business Central durante a implantação e oferece suporte após a entrada em produção. No lado do Business Central, a integração usa a API v2.0 e os serviços web OData v4 publicados. Seu parceiro Business Central ou seus próprios desenvolvedores também podem desenvolver a integração usando a API REST documentada do SkyPlanner. Uma chave de API é suficiente para começar.
Precisamos instalar uma extensão no Business Central?
Não. A API v2.0 é padrão, e as páginas de manufatura são publicadas como serviços web por meio de configuração na página Web Services. Uma página de API padrão só é adicionada se você quiser que os apontamentos de produção e consumo sejam lançados de forma totalmente automática.
Qual autenticação a integração deve usar?
OAuth 2.0 com credenciais de cliente via Microsoft Entra ID, com registro na página Microsoft Entra Applications do Business Central. As chaves de acesso a serviços web estão obsoletas. As instalações locais oferecem 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 pelo Microsoft Entra. Confirmamos a opção adequada à sua versão durante a definição de escopo.
O Business Central pode enviar alterações em tempo real?
Em tempo quase real. As notificações de assinaturas de webhook para entidades da API v2.0, como itens e pedidos de venda, chegam cerca de 30 segundos após a primeira alteração, agrupadas em lotes pelo Business Central online. As ordens de produção são obtidas por consultas periódicas a cada poucos minutos. No sentido inverso, os webhooks do próprio SkyPlanner enviam as alterações na programação assim que elas ocorrem.
Como as datas das operações são gravadas de volta no Business Central?
Por meio de uma requisição PATCH na página padrão Prod. Order Routing, publicada como serviço web OData v4. A requisição define Starting Date-Time, Ending Date-Time e o centro de trabalho ou de máquina. O Business Central valida esses dados com sua própria lógica, exatamente como quando um planejador edita a página.
Podemos testar o SkyPlanner antes de desenvolver a integração?
Sim. O teste grátis de 30 dias permite usar até 20 centros de trabalho com importações de arquivos CSV ou Excel do Business Central, sem necessidade de cartão de crédito. Inicie o teste ou fale com a equipe comercial para definir o escopo da integração.