Integrações / ERP / Xero
Guia de integração do Xero para programação da produção com SkyPlanner APS
Este guia de integração mostra aos assessores e consultores Xero e às equipas de TI como ligar o Xero ao SkyPlanner APS. O SkyPlanner integra-se com o Xero nos dois sentidos através da Xero Accounting API e da Projects API:
- São importados os contactos, os artigos com controlo de stock e respetivas quantidades em stock, os orçamentos aceites e as encomendas a fornecedores com as respetivas datas de chegada.
- A data de conclusão prevista é enviada para o Xero como nota no histórico de cada orçamento.
- As encomendas concluídas são enviadas para o Xero como rascunhos de faturas de venda, com as linhas e a referência do orçamento, que passa ao estado Invoiced.
- As horas registadas em trabalhos de projeto são enviadas para o Xero Projects como registos de tempo.
- Os webhooks do Xero comunicam alterações nos contactos e nas faturas, e os webhooks do SkyPlanner enviam as alterações à programação assim que ocorrem.
O Xero é um software de contabilidade, pelo que não contém listas de materiais, gamas operatórias, máquinas ou ordens de produção. Os centros de trabalho, as etapas do processo, os turnos e os tempos de preparação são geridos no SkyPlanner. A equipa do SkyPlanner configura a integração com a sua organização Xero durante a implementação e presta suporte após a entrada em produção. Este guia destina-se a assessores e programadores que pretendam participar ou desenvolver a integração por conta própria com base na REST API documentada do SkyPlanner (referência da API).
A Xero Accounting API
O Xero é um único produto na nuvem com arquitetura multi-inquilino, e todas as organizações utilizam a mesma API. A Accounting API é uma REST API disponível em https://api.xero.com/api.xro/2.0/, com JSON ou XML. Cada chamada identifica a organização no cabeçalho Xero-tenant-id. (fonte)
Os endpoints necessários para programar a produção:
- Dados mestre:
/Contacts(clientes e fornecedores),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Procura:
/Quotes(Status ACCEPTED, LineItems) e, para oficinas que faturam primeiro,/Invoicescom Type ACCREC. - Aprovisionamento:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems com ItemCode). - Escrita no Xero:
/Quotes/{QuoteID}/History,/Invoices,/Quotese a Projects API emhttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Todos os endpoints de listagem aceitam o cabeçalho If-Modified-Since, pelo que cada sincronização lê apenas o que foi alterado. As criações e atualizações são enviadas em lote. Não existe nenhum endpoint para listas de materiais, gamas operatórias ou ordens de produção.
Autenticação, âmbitos e limites
O Xero utiliza OAuth 2.0. Um administrador do Xero inicia sessão uma vez, autoriza a aplicação e seleciona a organização. A aplicação solicita offline_access para manter a ligação através de tokens de atualização. (fonte)
O Xero está a substituir os âmbitos abrangentes por âmbitos granulares, que são atribuídos às novas aplicações. Uma integração para programação da produção precisa de:
accounting.invoicespara orçamentos, faturas, encomendas a fornecedores e artigosaccounting.contactspara clientes e fornecedoresaccounting.settings.readpara as definições dos artigosprojectspara registos de tempooffline_access
O Xero limita as chamadas por organização (simultâneas, por minuto e por dia) e por aplicação. Quando uma aplicação ultrapassa o limite, devolve HTTP 429 com um cabeçalho Retry-After. A quota diária e o número de organizações ligadas dependem do nível de parceria da aplicação. Ambos constam da página de limites da API do Xero. Os webhooks, as leituras com If-Modified-Since e as escritas em lote mantêm uma integração de programação da produção bem abaixo desses limites.
No SkyPlanner, a REST API utiliza um token de API no cabeçalho Authorization-Token para autenticar os pedidos (SkyPlanner Settings > API) e está documentada em Swagger/OpenAPI. O tutorial de integração explica as primeiras chamadas passo a passo.
Webhooks
“Webhooks allow you to subscribe to certain events that happen in Xero.” (Os webhooks permitem subscrever determinados eventos que ocorrem no Xero.) (fonte) Os eventos relevantes para a programação da produção são Contact e Invoice, ambos com CREATE e UPDATE.
Como funcionam:
- Um webhook por aplicação abrange todas as organizações ligadas.
- Cada envio contém um array de eventos com o ID do recurso e o tipo de evento. O recetor lê o recurso em seguida.
- Cada envio é assinado com um cabeçalho
x-xero-signature, gerado a partir da chave do webhook da aplicação. Antes de iniciar os envios, o Xero faz uma verificação “Intent to receive” (intenção de receber). - O Xero repete os envios que falham e desativa um webhook que falhe continuamente. Por isso, o recetor responde rapidamente e processa os dados depois.
Os orçamentos, os artigos e as encomendas a fornecedores não têm eventos de webhook. O SkyPlanner consulta-os a intervalos curtos com If-Modified-Since, o que consome uma chamada por entidade quando nada foi alterado.
Mapeamento de dados
| Objeto Xero (endpoint) | Objeto do SkyPlanner | Sentido | Frequência |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Cliente (external_identifier, delivery_priority) | Xero → SkyPlanner | Carregamento inicial, depois por webhook |
Item, com e sem controlo de stock, com QuantityOnHand (/Items) | Produtos e materiais, stock | Xero → SkyPlanner | Carregamento inicial, depois com If-Modified-Since |
Quote, Status ACCEPTED, com LineItems (/Quotes) | Encomenda (external_order_number, delivery_date), tarefas por linha | Xero → SkyPlanner | Consulta periódica com If-Modified-Since |
Invoice, Type ACCREC (oficinas que faturam primeiro) (/Invoices) | Encomenda e tarefas | Xero → SkyPlanner | Em tempo real, por webhook |
PurchaseOrder com ExpectedArrivalDate ou DeliveryDate (/PurchaseOrders) | Material a receber (estimated_delivery_date) | Xero → SkyPlanner | Consulta periódica com If-Modified-Since |
Nota no histórico do orçamento (PUT /Quotes/{QuoteID}/History) | Data de conclusão prevista | SkyPlanner → Xero | Quando a programação é alterada |
Invoice, Type ACCREC, Status DRAFT, Reference = número do orçamento (POST /Invoices) | Encomenda concluída | SkyPlanner → Xero | Quando a encomenda é concluída |
Quote com Status INVOICED (POST /Quotes) | Encomenda concluída | SkyPlanner → Xero | Quando a fatura é criada |
Registo de tempo no Projects (POST /projects/{projectId}/time) | Mobile Confirmations, registos de tempo | SkyPlanner → Xero | À medida que o trabalho é registado |
| Não existe no Xero | Centros de trabalho, etapas do processo, turnos, ausências, matriz de tempos de preparação, ferramentas, número de operadores, centros de trabalho alternativos | Geridos no SkyPlanner | Configurados durante a implementação |
Modelos de integração
1. Carregamento inicial dos dados mestre. Percorra as páginas de contactos e artigos e, depois, as de encomendas a fornecedores em aberto e orçamentos aceites. Crie os clientes no SkyPlanner com o ContactID do Xero como external_identifier, e os produtos e materiais com o código do artigo como chave. Em seguida, crie o que não existe no Xero: centros de trabalho, etapas do processo por produto, turnos, férias e tempos de preparação. A importação por CSV ou Excel é a forma mais rápida de carregar as etapas do processo.
2. Sincronização de encomendas. Consulte periodicamente os orçamentos com If-Modified-Since. Quando um orçamento passa a ACCEPTED, o SkyPlanner cria uma encomenda com o número do orçamento como external_order_number. O valor de delivery_date provém do campo que a sua oficina utiliza para a data acordada, mapeado durante a implementação. Cada linha de artigo dá origem a tarefas de acordo com as etapas do processo do produto. As linhas das encomendas a fornecedores dão origem a material a receber na data de chegada prevista, pelo que as tarefas aguardam a entrega. Uma leitura integral, todas as noites, dos orçamentos e das encomendas a fornecedores em aberto deteta tudo o que tenha escapado.
3. Atualização do Xero com a programação e a conclusão das encomendas. Três chamadas registam os resultados no Xero:
- PUT
/Quotes/{QuoteID}/Historyadiciona uma nota com a data de conclusão prevista. Um orçamento aceite só permite alterar o contacto e as notas, pelo que a data fica registada na nota do histórico. (fonte) - Quando a encomenda é concluída, POST
/Invoicescria uma fatura de venda com Type ACCREC, Status DRAFT, o contacto e as linhas do orçamento e o número do orçamento como Reference. O responsável pela contabilidade aprova-a e envia-a no Xero. - POST
/Quotescom o QuoteID e Status INVOICED fecha o orçamento. A passagem de Accepted para Invoiced é uma alteração de estado válida na Accounting API.
4. Confirmações na fábrica e tempo de projeto. Os operadores registam o trabalho com SkyPlanner Mobile Confirmations, Production Timer ou Quick Log Mode. O progresso atualiza imediatamente a programação, e o Autopilot reprograma o restante trabalho. No caso de trabalhos de projeto, o SkyPlanner envia as horas como registos de tempo na tarefa do projeto, com o utilizador Xero, a data e a duração. (fonte)
5. Responsabilidade pelos dados e regras de conflito. Documente-as antes da entrada em produção:
| Dados | Sistema responsável |
|---|---|
| Contactos, artigos, preços, orçamentos, encomendas a fornecedores, faturas, contabilidade | Xero |
| Centros de trabalho, etapas do processo, turnos, ausências, matriz de tempos de preparação, ferramentas, recursos alternativos | SkyPlanner |
| Sequência de tarefas, horas de início e de fim, centro de trabalho de cada tarefa | SkyPlanner |
| Nota no orçamento com a data de conclusão prevista | SkyPlanner, com escrita no Xero |
| Rascunho de fatura para encomendas concluídas, horas de projeto | O SkyPlanner cria; após aprovação, o Xero passa a gerir |
Etapas habituais do projeto
A implementação fica normalmente concluída num prazo de semanas após o início do processo de acolhimento e configuração. Antes disso, o período de avaliação gratuito de 30 dias utiliza os seus próprios dados, exportados do Xero em CSV: contactos, produtos e propostas em aberto.
O projeto inclui:
- Ligação. Um administrador do Xero autoriza o SkyPlanner e seleciona a organização.
- Origem da procura. Defina se a produção é iniciada por propostas aceites ou por faturas de venda.
- Mapeamento. Defina a tabela de correspondências, os códigos dos artigos, as contas de faturação, os valores predefinidos de impostos e as regras sobre qual dos sistemas gere cada dado.
- Importação inicial. Contactos, artigos, encomendas de compra em aberto e propostas aceites.
- Modelo de produção. Centros de trabalho, operações por produto, turnos, matriz de tempos de preparação, ferramentas e número de operadores no SkyPlanner.
- Sincronização. Webhooks para contactos e faturas, consultas periódicas com
If-Modified-Sincepara propostas, artigos e encomendas de compra, além de uma reconciliação noturna. - Escrita no Xero. Primeiro, notas nas propostas; depois, rascunhos de faturas e estado das propostas; por fim, horas de projeto, quando utilizadas.
- Testes em paralelo e entrada em produção. Compare as datas do SkyPlanner com o plano atual, peça ao responsável pela contabilidade que verifique os primeiros rascunhos de faturas e, em seguida, ative a escrita no Xero.
O que prever numa integração com o Xero
- O Xero não tem objetos de produção. Mantenha as operações de cada produto no SkyPlanner, associadas ao código do artigo no Xero. Não altere os códigos dos artigos.
- As propostas não têm webhook. Consulte-as a intervalos curtos com
If-Modified-Since, respeitando os limites por minuto e por dia. - As propostas aceites ficam bloqueadas. Após a aceitação, só é possível alterar os dados de contacto e as notas. Por isso, a data prometida é lida uma única vez, no momento da aceitação, e a data planeada é registada numa nota do histórico.
- As existências acompanham as faturas de venda e de compra. O Xero atualiza as quantidades em stock através das faturas de venda, faturas de compra e notas de crédito dos artigos com controlo de existências. Defina com o responsável pela contabilidade como serão contabilizados os produtos acabados e os materiais consumidos.
- As horas de projeto exigem utilizadores do Xero. Os registos de horas pertencem a um utilizador do Xero. Decida que operadores registam horas no Xero Projects e mantenha os restantes registos no SkyPlanner.
- Âmbitos de autorização granulares. Solicite âmbitos granulares desde o início, pois os âmbitos mais abrangentes estão a ser descontinuados.
- Escalão da aplicação. O escalão de parceiro define quantas organizações uma aplicação pode ligar e quantas chamadas pode efetuar por dia. Escolha o escalão em função do número de fábricas.
Integração com o Xero: quem configura e presta suporte
O trabalho abrange os seus artigos, propostas, encomendas de compra e a passagem do trabalho concluído para a faturação. Acrescenta o que o Xero não contém: centros de trabalho, operações, turnos, matriz de tempos de preparação, ferramentas, número de operadores e recursos alternativos.
- A equipa do SkyPlanner configura a integração durante a fase inicial e presta suporte após a entrada em produção. Cada unidade de produção configura os artigos, as propostas e as existências de forma diferente no Xero, e é nesta configuração que se aplica esse conhecimento.
- O seu consultor Xero ou parceiro de integração pode desenvolvê-la. O SkyPlanner disponibiliza a REST API, documentação Swagger/OpenAPI e webhooks.
- Os seus próprios programadores podem desenvolver a integração com um token de API. Basta um token de API para começar, e a equipa do SkyPlanner ajuda sempre que necessário. A documentação do produto, incluindo as encomendas de compra e a API de produtos e materiais, está disponível na documentação do SkyPlanner.
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 do seu processo e das suas necessidades, em conjunto com o plano, para que conheça o custo total antes de começar. Consulte os preços, as funcionalidades e o que o Xero oferece por si só em O Xero tem programação da produção? Encontra uma visão geral na página do Xero e os restantes sistemas em todas as integrações.
Opiniões de fabricantes sobre o SkyPlanner
2 hpoupadas por semana
“Com o SkyPlanner, o nosso planeamento da produção passou das folhas de cálculo 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 poupa 2 horas de trabalho por semana, e uma nova fila de trabalho chega à linha em segundos.
+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 a criação de um plano otimizado para três meses, abrangendo todos os centros de trabalho, demora menos de 30 minutos.
Menosparagens por falta de materiais
“O valor que o SkyPlanner nos traz é ser uma ferramenta que funciona no dia a dia, sobretudo para definir datas de entrega.”
Tommi Männistö, responsável pelo planeamento da produção
Eskomatic · Maquinação por subcontratação
A programação automática da carga permite definir datas de entrega mais precisas, e as paragens de produção por falta de materiais diminuíram acentuadamente.
Mais de 1.000 ordens de trabalho programadas automaticamente
“Temos um controlo diferente sobre a produção, e a nossa compreensão da capacidade está num patamar completamente diferente.”
Hannu Ryynänen, diretor executivo
Mamec · Misturadores industriais, bombas e fabrico de alta tecnologia por subcontratação
Milhares de ordens de trabalho são programadas automaticamente, com uma visão da produção em tempo real para toda a organização.
Perguntas frequentes
O Xero tem uma API para dados de produção?
O Xero disponibiliza a Accounting API e a Projects API, ambas REST com OAuth 2.0. Abrangem contactos, artigos, propostas, faturas, encomendas de compra e registos de horas. Os dados de produção, como centros de trabalho e operações, são mantidos no SkyPlanner.
O SkyPlanner pode escrever dados no Xero?
Sim. O SkyPlanner acrescenta a data de conclusão planeada ao histórico de cada proposta, cria um rascunho de fatura de venda com as linhas da proposta quando a encomenda fica concluída, altera o estado da proposta para Invoiced e envia os registos de horas de projeto.
O Xero envia alterações em tempo real?
Os webhooks do Xero abrangem contactos e faturas. O SkyPlanner lê as propostas, os artigos e as encomendas de compra alterados desde a última sincronização através de If-Modified-Since e faz uma reconciliação noturna. Assim, uma nova proposta aceite é rapidamente incluída na programação.
De onde vêm as listas de materiais, as gamas operatórias e as máquinas, se o Xero não as tem?
Do SkyPlanner. Configura os centros de trabalho, as operações por produto, os turnos e os tempos de preparação uma única vez, manualmente ou através de uma importação CSV ou Excel. Cada produto fica associado ao código do artigo no Xero, pelo que as novas propostas aceites são programadas automaticamente.
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 uma importação CSV do Xero, 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.