Conecta com sistemas ERP e MES como

Integrações / ERP / Oracle NetSuite

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

Este guia mostra a parceiros NetSuite, administradores e compradores técnicos como o SkyPlanner APS se conecta ao Oracle NetSuite para programar a produção respeitando a capacidade real das máquinas e das equipes. A integração entre SkyPlanner e NetSuite é bidirecional e usa serviços web REST e SuiteQL:

  • Ordens de produção, roteiros de produção, centros de trabalho, itens e pedidos de compra são importados.
  • Os horários planejados de início e término são gravados nas tarefas das operações de manufatura.
  • As horas registradas e as quantidades produzidas retornam como Work Order Completions ou Assembly Builds.
  • 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.

O NetSuite é responsável por itens, BOMs, roteiros de produção, ordens de produção, estoque e custeio. O SkyPlanner gera a programação da produção usando o motor Arcturus, respeitando a capacidade real das máquinas e das equipes. A equipe do SkyPlanner configura a integração para sua conta durante a implantação e presta suporte após a entrada em produção. A integração usa registros padrão do NetSuite e não depende do Advanced Manufacturing SuiteApp.

O SkyPlanner já opera integrado ao NetSuite na UTU, fabricante de painéis de distribuição e conjuntos de manobra em Ulvila, na Finlândia. A UTU entrou em produção em setembro de 2025, com o SkyPlanner integrado ao Oracle NetSuite e ao seu sistema de folha de pagamento. Para avaliar os benefícios para o negócio, comece pela página de programação da produção com NetSuite e por O NetSuite tem programação da produção?.

A decisão que define o projeto: REST e OAuth 2.0

A Oracle já definiu o caminho. A partir da versão 2026.1, novas integrações devem ser desenvolvidas com os serviços web SuiteTalk REST e OAuth 2.0. A partir da versão 2027.1, não serão permitidas novas integrações com SOAP ou Token-Based Authentication (TBA). Os endpoints SOAP serão desativados na versão 2028.2. Qualquer integração de programação iniciada hoje deve usar REST.

Opção do NetSuiteO que éPapel na integração com um APS
API de registros SuiteTalk REST/services/rest/record/v1/<recordType>, com versionamento alinhado às versões do NetSuite; !transform para conclusões de ordens de produção, baixas de materiais e montagensGravação: datas de tarefas de operação e ordens de produção (PATCH), conclusões, baixas de materiais e montagens (transform)
SuiteQL via RESTPOST /services/rest/query/v1/suiteql com Prefer: transient, até 100.000 resultados por consulta, paginação por limit/offsetLeitura em massa: itens, roteiros de produção, centros de trabalho, ordens de produção em aberto e estoque
SuiteScript 2.1 RESTletsEndpoints get/post/put/delete personalizadosLacunas na cobertura REST e payloads combinados, como uma ordem de produção com todas as suas operações
SuiteScript User Event / Map-ReduceScripts executados no servidor dentro do NetSuiteEnvio de notificações de alteração
CSV Import AssistantMapeamentos de importação salvosCargas pontuais; não serve para sincronização contínua
SuiteTalk SOAPLegado, somente TBANão inicie novos projetos com esta opção

Autenticação

Para um sistema de programação da produção com comunicação entre servidores, use OAuth 2.0 Client Credentials (máquina a máquina). O caminho na administração é Setup > Integration > Manage Authentication > OAuth 2.0 Client Credentials (M2M) Setup. Você envia um certificado público e o associa a uma entidade, a uma função e ao registro de integração. Cada registro de integração comporta no máximo cinco certificados ativos.

Crie uma função exclusiva para a integração: permissão de visualização para itens, revisões de BOM, roteiros de produção e centros de trabalho; permissão de edição para ordens de produção, conclusões e baixas de materiais. A API REST do SkyPlanner (referência da API) usa JWT, portanto o middleware armazena as duas credenciais.

Eventos: não há webhook padrão

A documentação da Oracle não descreve nenhum webhook nativo de saída. O padrão usado é um script SuiteScript User Event em Work Order (afterSubmit) que coloca uma chamada de saída na fila por meio de N/task ou de um script Map/Reduce, usando N/https para fazer a chamada. Nunca faça chamadas de saída síncronas em afterSubmit: elas são executadas durante o salvamento feito pelo usuário, portanto um endpoint lento atrasa ou impede o salvamento.

Os eventos de usuário não cobrem todas as formas de alteração. Atualizações em massa e importações CSV podem ocorrer sem acioná-los. Combine o script de evento com consultas periódicas de reconciliação via SuiteQL usando lastmodifieddate, para que nenhuma alteração passe despercebida. No sentido inverso, os próprios webhooks do SkyPlanner acionam a gravação dos dados no NetSuite, que recebe as novas datas assim que o plano muda.

Mapeamento de dados: do NetSuite para o SkyPlanner

Registro do NetSuite (ID REST)Objeto do SkyPlannerDireçãoFrequência
Assembly Item (assemblyItem), Inventory Item (inventoryItem)Produto / materialNetSuite → SkyPlannerCarga inicial; depois, diariamente ou a cada alteração
BOM Revision (bomRevision), componentes da BOMEstrutura de produto multinível, necessidades de materiaisNetSuite → SkyPlannerA cada alteração
Manufacturing Routing (manufacturingRouting, sublistas routingStep, routingComponent)Etapas do processo: sequência, centro de trabalho, tempo de setup, tempo de execuçãoNetSuite → SkyPlannerA cada alteração
Manufacturing Work Center (Group marcado como centro de trabalho): Machine Resources, Labor Resources, Work CalendarCentros de trabalho, grupos de centros de trabalho, turnosNetSuite → SkyPlanner; depois, manutenção dos dados no SkyPlannerCarga inicial
Work Order (workOrder): item, quantidade, local, Production Start/End Date, status; Sales Order vinculado para obter a data de entregaOrdem / operação com data de entrega e prioridadeNetSuite → SkyPlannerQuase em tempo real via User Event, com consultas periódicas de reconciliação
Manufacturing Operation Task (manufacturingOperationTask)Operação programadaNetSuite → SkyPlanner; datas: SkyPlanner → NetSuiteQuase em tempo real
Estoque físico por local (SuiteQL), Item Receipts (itemReceipt)Saldos de estoque para programação com base na disponibilidade de materiaisNetSuite → SkyPlannerA cada 15 a 60 minutos ou a cada recebimento
Linhas de Purchase Order (purchaseOrder): item, quantidade, data prevista de recebimento, statusPedidos de compra / materiais a receber (data prevista de entrega). Considerados disponíveis na data de entrega; o estoque é atualizado quando o pedido de compra é marcado como DeliveredNetSuite → SkyPlannerA cada 15 a 60 minutos ou a cada alteração
Início e término planejados por operaçãoPATCH manufacturingOperationTask/{id} (startDate, endDate) e PATCH workOrder/{id} (Production Start/End Date)SkyPlanner → NetSuiteA cada alteração na programação, via webhook do SkyPlanner
Mobile Confirmations, registros de tempo, Production TimerPOST workOrder/{id}/!transform/workOrderCompletion: intervalo de startOperation/endOperation, quantidade concluída, tempo de mão de obra nas linhas de operation, ID do registro de tempo do SkyPlanner como ID externoSkyPlanner → NetSuiteA cada confirmação ou em lotes
Consumo de materiaisPOST workOrder/{id}/!transform/workOrderIssue, ou isBackflush na conclusãoSkyPlanner → NetSuiteA cada confirmação
Ordem concluída (contas sem WIP)POST workOrder/{id}/!transform/assemblyBuildSkyPlanner → NetSuiteNa conclusão da ordem
Ordem encerradaWork Order Close (workOrderClose)No NetSuite, pela equipe financeiraNão automatizado por padrão

Padrões de integração

1. Carga inicial de dados mestres. Leia primeiro os centros de trabalho e, depois, os itens, as revisões de BOM e os roteiros de produção com SuiteQL. Os roteiros fazem referência aos centros de trabalho, por isso a ordem importa. Durante o teste, exporte os mesmos dados para CSV e importe-os no SkyPlanner. A programação é validada antes de qualquer código ser desenvolvido.

2. Sincronização de ordens. Importe as ordens de produção com status Released e In Process. Decida desde o início se as ordens com status Planned também serão incluídas. Se forem, trate-as como demanda provisória. Sincronize os pedidos de compra em aberto no mesmo ciclo para que a programação verifique cada operação considerando o estoque e os materiais a receber, não apenas o estoque.

3. Gravação da programação no NetSuite. Quando a programação muda, um webhook do SkyPlanner envia as novas datas das operações ao middleware. O middleware envia PATCH /services/rest/record/v1/manufacturingOperationTask/{id} (referência de registros da Oracle) com startDate e endDate para cada operação alterada. Um PATCH adicional no cabeçalho de workOrder define os campos Production Start e End Date. Grave apenas datas e, caso utilize um campo de sequência personalizado, esse campo. Nunca grave de volta quantidades ou dados de BOM. Para atualizar várias operações em uma única transação, um pequeno RESTlet salva toda a lista de operações em uma chamada. A API de registros continua sendo a opção padrão.

4. Confirmações do chão de fábrica. Os operadores registram o trabalho no SkyPlanner Mobile Confirmations. O middleware lança cada confirmação por meio das transformações de Work Order com POST /services/rest/record/v1/workOrder/{id}/!transform/workOrderCompletion, enviando startOperation, endOperation, a quantidade concluída e o tempo registrado nas linhas de operação. Já as ordens de produção sem WIP são encerradas com !transform/assemblyBuild. O uso de Work Order Completion via REST exige o recurso Manufacturing Work In Process. Os lançamentos de estoque e custos continuam no NetSuite.

5. Idempotência e novas tentativas. Cada conclusão leva o ID do registro de horas do SkyPlanner como ID externo no NetSuite. Os IDs externos são únicos por tipo de registro, portanto um webhook reenviado é rejeitado como duplicado, em vez de lançar quantidades e custos duas vezes. As gravações passam por uma fila. Quando uma chamada falha (limite de simultaneidade, registro bloqueado, certificado expirado), ela é repetida e registrada em log. Qualquer falha que persista fica visível para a equipe do SkyPlanner responsável pelo suporte à integração.

6. Regras de responsabilidade pelos dados. O NetSuite define o que é produzido: item, quantidade, BOM, roteiro de produção e local. O SkyPlanner define quando e onde: sequência de operações, centro de trabalho, início e término. As datas editadas no NetSuite são sobrescritas na próxima gravação de retorno. Por isso, bloqueie Production Start/End Date com uma personalização de formulário ou um workflow.

Etapas típicas do projeto

A implementação normalmente é concluída em poucas semanas após o início da implantação, mesmo em grandes empresas. Um projeto NetSuite inclui:

  • Teste com seus próprios dados: exportação de centros de trabalho, roteiros de produção e ordens de produção em aberto para CSV a partir de pesquisas salvas, com importação no SkyPlanner durante o teste de 30 dias.
  • Mapeamento de dados mestres: correspondência entre registros do NetSuite e objetos do SkyPlanner, campos personalizados, unidades e modelo com ou sem WIP por item.
  • Carga inicial: itens, revisões de BOM, roteiros de produção e centros de trabalho via SuiteQL, seguidos da configuração de turnos, operadores e centros de trabalho alternativos no SkyPlanner.
  • Sincronização de ordens de produção e pedidos de compra: ordens com status Released e In Process e pedidos de compra em aberto com datas previstas de recebimento, por meio de scripts User Event e consultas periódicas de reconciliação.
  • Gravação da programação no NetSuite: datas planejadas das operações nas ordens de produção e nas tarefas das operações, com OAuth 2.0 M2M configurado em sandbox e produção.
  • Apontamentos do chão de fábrica: Work Order Completions, baixas de materiais ou Assembly Builds a partir de Mobile Confirmations e registros de horas.
  • Teste em paralelo com o plano atual: execute a programação do SkyPlanner em paralelo com o processo atual de liberação e compare os resultados.
  • Entrada em produção: transfira o planejamento para o SkyPlanner e bloqueie os campos de data no NetSuite.

Roteiros de produção bem cadastrados e uma única subsidiária mantêm o escopo reduzido. Múltiplas subsidiárias, baixa automática de materiais com WIP e formulários personalizados exigem mais trabalho de mapeamento.

Pontos de atenção no NetSuite

  • Ordens de produção sem roteiro. Uma ordem de produção sem Manufacturing Routing não tem operações para programar. A Oracle faz a mesma observação sobre seu próprio sistema de programação da produção: “Work orders not associated with a NetSuite routing should not be scheduled.” (Ordens de produção não associadas a um roteiro do NetSuite não devem ser programadas.) Identifique essas ordens com SuiteQL antes da entrada em produção.
  • Os centros de trabalho têm poucos dados. Um centro de trabalho do NetSuite é um Group com duas contagens, Machine Resources e Labor Resources (ambas com valor padrão 0), e um Work Calendar, geralmente “Default Work Calendar”. Carregue os centros de trabalho uma vez e depois mantenha no SkyPlanner os centros de trabalho individuais, os turnos por pessoa, as ferramentas, a matriz de tempos de preparação e os centros de trabalho alternativos.
  • Qualidade dos dados de Setup Time e Run Rate. A programação com capacidade infinita do NetSuite usa esses campos, mas, como desconsidera a capacidade, os valores incorretos passam despercebidos. Uma programação da produção que respeita a capacidade real das máquinas e das equipes expõe esses erros já no primeiro dia.
  • Com ou sem WIP. Com Manufacturing WIP, a produção é lançada por meio de Work Order Issue, Work Order Completion e Work Order Close. Sem WIP, usa-se um Assembly Build. A integração lança conclusões para itens com WIP e montagens para os demais, por isso o modelo de cada item faz parte do mapeamento.
  • Advanced Manufacturing na mesma conta. Se a conta também usa o Advanced Manufacturing SuiteApp, seus registros Manufacturing Work Bench devem corresponder exatamente ao roteiro de produção: sequência da operação, nome da operação e centro de trabalho. Defina qual sistema determina as datas das operações. Dois sistemas de programação atuando sobre as mesmas ordens de produção significam dois planos concorrentes.
  • Limites de simultaneidade. As chamadas de serviços web e RESTlet compartilham um único limite de simultaneidade da conta, definido pelo nível de serviço mais 10 por licença SuiteCloud Plus. Consultas periódicas em paralelo, registro a registro, atingem esse limite rapidamente. Use SuiteQL com paginação para leituras e coloque as gravações em fila.
  • A atualização do sandbox apaga a configuração M2M. Os mapeamentos de credenciais de cliente OAuth 2.0 são apagados na atualização do sandbox e não são copiados entre contas. Um certificado expirado ou revogado interrompe a sincronização até que um novo mapeamento seja criado. Configure alertas para falhas de autenticação.

Integração com NetSuite: quem configura e presta suporte

O trabalho inclui o mapeamento dos seus registros, roteiros de produção e centros de trabalho, além das restrições que o NetSuite não armazena como dados utilizáveis na programação: matriz de tempos de preparação, ferramentas, quantidades de operadores e recursos alternativos. Os webhooks do SkyPlanner enviam as alterações da programação de volta assim que elas ocorrem, inclusive as feitas pelo Autopilot.

  1. A equipe do SkyPlanner configura a integração durante a implantação e presta suporte após a entrada em produção. Cada fábrica usa o NetSuite de uma forma: com ou sem WIP, formulários personalizados, scripts e convenções para roteiros de produção. A equipe mapeia seus registros e conecta a API REST e os webhooks do SkyPlanner ao NetSuite REST, SuiteQL e RESTlets. O suporte abrange o script User Event e o middleware e acompanha as mudanças na configuração do seu NetSuite.
  2. Seu parceiro NetSuite pode participar. Os parceiros conhecem seus formulários personalizados, scripts e funções de acesso. Eles trabalham com a API REST do SkyPlanner, que abrange ordens, produtos, materiais, pedidos de compra, etapas de processo e registros de horas. A API conta com documentação Swagger/OpenAPI e autenticação JWT. Documentação pública: documentação do SkyPlanner.
  3. Seus próprios desenvolvedores podem criar a integração. Uma divisão comum é manter o script User Event dentro do NetSuite e um pequeno serviço de middleware fora dele. Uma chave de API basta para começar (tutorial de integração), e a equipe do SkyPlanner auxilia quando necessário.

Primeiro, valide a programação no teste grátis de 30 dias, usando dados em CSV, com até 20 centros de trabalho e sem cartão de crédito. Assim, a integração parte de uma programação que já atende à realidade da fábrica.

Após a conexão, o motor Arcturus programa a produção com base nas ordens atualizadas do NetSuite e verifica os materiais em estoque e os previstos nos pedidos de compra a receber. Os operadores registram o trabalho com Mobile Confirmations, Production Timer e Quick Log Mode, e o NetSuite reflete o chão de fábrica sem digitação manual. O SkyPlanner custa a partir 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, de acordo com seu processo e suas necessidades, junto com o plano, para que você saiba o custo total antes de começar. Fale com a equipe de vendas para definir o escopo da sua integração com o NetSuite ou conheça os recursos e os clientes.

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 de distribuição em Ulvila

2 heconomizadas por semana

“Com o SkyPlanner, nosso planejamento da produção passou das planilhas do 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 trajes 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, Responsável por 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.

Leia o depoimento da Laboratory & Allied

Vista aérea da fábrica de sistemas 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 drenagem pluvial

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

Anu Järvinen, Gerente de Produção da Fredman Operations, ao lado de uma célula robotizada de paletização em Rauma

6 mesesde capacidade disponível visível para a equipe de vendas

“O SkyPlanner dá base e confiabilidade a todo o planejamento da produção.”

Anu Järvinen, Gerente de Produção
Fredman Operations · Papéis para embalagens próprios para contato com alimentos

A equipe de vendas visualiza 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.

Leia o depoimento da Fredman Operations

Perguntas frequentes

Como o SkyPlanner APS se conecta ao NetSuite?

Nos dois sentidos, por meio da API de registros REST do NetSuite, do SuiteQL e, quando necessário, de RESTlets. As datas das operações são gravadas com PATCH em manufacturingOperationTask. Os apontamentos de mão de obra e produção são lançados por meio da transformação workOrderCompletion ou assemblyBuild. A equipe do SkyPlanner configura a integração durante a implantação e oferece suporte após a entrada em produção. Seu parceiro NetSuite ou seus próprios desenvolvedores também podem desenvolver soluções usando a API REST documentada.

Precisamos do Advanced Manufacturing SuiteApp para usar o SkyPlanner?

Não. O próprio SkyPlanner faz a programação da produção respeitando a capacidade real das máquinas e das equipes, a partir dos registros padrão Work Orders, Manufacturing Routings e Work Centers. Se a conta também usa Advanced Manufacturing, a definição de escopo determina qual sistema define as datas das operações.

Como evitar lançamentos duplicados se um evento for enviado duas vezes?

Cada Work Order Completion usa o ID do apontamento de tempo do SkyPlanner como ID externo. O NetSuite mantém os IDs externos únicos por tipo de registro, por isso um evento reenviado é rejeitado em vez de lançar novamente a quantidade e o custo. As gravações que falham entram em uma fila, passam por novas tentativas e são registradas em log.

Podemos usar TBA ou SOAP em vez de REST e OAuth 2.0?

Para novas integrações, planeje usar REST com OAuth 2.0. A Oracle deixa de permitir novas integrações TBA e SOAP a partir da versão 2027.1 e desativa todos os endpoints SOAP na versão 2028.2. Uma integração do SkyPlanner desenvolvida com REST e OAuth 2.0 continua funcionando após ambos os marcos.

Como o SkyPlanner recebe informações sobre novas ordens de produção do NetSuite?

O NetSuite não tem um webhook padrão de saída documentado. Um script User Event no Work Order coloca uma notificação na fila ao salvar o registro. Uma consulta periódica agendada com SuiteQL detecta alterações que o script não captura, como importações CSV e atualizações em massa.

Podemos testar o SkyPlanner com dados do NetSuite antes de desenvolver a integração?

Sim. Exporte centros de trabalho, roteiros de produção e ordens de produção em aberto em formato CSV, importe-os no SkyPlanner durante o teste de 30 dias e compare a programação da produção, que respeita a capacidade real das máquinas e das equipes, com seu plano atual. Inicie o teste gratuito ou agende uma demonstração.

Quanto tempo leva um projeto de integração com o NetSuite?

A implementação normalmente é concluída em poucas semanas após o início da implantação, mesmo em grandes empresas. A programação já funciona com dados CSV durante o teste, e a UTU já usa o SkyPlanner com o NetSuite (depoimento da UTU).