Integrazioni / ERP / Exact
Guida all’integrazione di Exact Online con SkyPlanner APS per la schedulazione della produzione
Questa guida all’integrazione di Exact Online illustra ai partner Exact e ai team IT come collegare Exact Online Manufacturing a SkyPlanner APS. SkyPlanner si integra con Exact Online in entrambe le direzioni:
- Ordini di produzione, fasi dei cicli di lavorazione, piani dei materiali, centri di lavoro, operazioni e distinte base vengono importati tramite la REST API di Exact Online.
- Vengono importati articoli, giacenze, ordini di acquisto e ordini di vendita, con i webhook di Exact Online per le modifiche.
- Le date di inizio e fine pianificate vengono riportate in ogni fase del ciclo di lavorazione e nell’ordine di produzione.
- I tempi registrati dagli operatori vengono inviati come registrazioni orarie e le quantità completate come versamenti di produzione.
Durante l’avviamento, il team SkyPlanner configura l’integrazione in base alla configurazione di Exact Online e ne assicura il supporto dopo la messa in esercizio. Questa guida è rivolta ai partner e agli sviluppatori che desiderano partecipare o sviluppare autonomamente soluzioni basate sulla REST API documentata di SkyPlanner (documentazione API). In fondo è presente una breve sezione su Exact Globe+.
La REST API di Exact Online per la produzione
Exact Online espone i propri dati tramite un’unica REST API, con risorse raggruppate per servizio. Il percorso di base è /api/v1/{division}/<service>/<resource>, dove la divisione corrisponde all’azienda in Exact Online. La documentazione della REST API elenca le seguenti risorse del servizio manufacturing per la schedulazione:
| Risorsa | Contenuto | Metodi |
|---|---|---|
manufacturing/ShopOrders | Numero dell’ordine di produzione, articolo, PlannedQuantity, PlannedStartDate, PlannedDate, stato, indicatore di rilascio | GET, POST, PUT, DELETE |
manufacturing/ShopOrderRoutingStepPlans | Fase del ciclo di lavorazione per ordine di produzione: operazione, Workcenter, LineNumber, PlannedStartDate, PlannedEndDate, PlannedSetupHours, PlannedRunHours | GET, POST, PUT, DELETE |
manufacturing/ShopOrderMaterialPlans | Righe dei materiali per ordine di produzione | GET, POST, PUT, DELETE |
manufacturing/Workcenters | Codice, tipo, area produttiva, valore della capacità, tariffe | GET, POST, PUT, DELETE |
manufacturing/Operations, OperationResources | Operazioni e rispettivi centri di lavoro, tempi di attrezzaggio e lavorazione | GET, POST, PUT, DELETE |
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutings | Versioni della distinta base, componenti e ciclo di lavorazione | GET, POST, PUT, DELETE |
manufacturing/TimeTransactions | Ore registrate per ordine di produzione e fase del ciclo di lavorazione | GET, POST, PUT, DELETE |
manufacturing/ShopOrderReceipts | Quantità completate versate da un ordine di produzione | GET, POST |
manufacturing/MaterialIssues | Materiale prelevato per un ordine di produzione | GET, POST |
manufacturing/ShopOrderPriorities | Modalità di priorità per ordine di produzione | GET, PUT |
Dagli altri servizi:
| Risorsa | Contenuto |
|---|---|
logistics/Items | Anagrafica articoli |
inventory/ItemWarehouses | Giacenze per articolo e magazzino |
purchaseorder/PurchaseOrders, PurchaseOrderLines | Ordini di acquisto aperti e date di ricevimento |
salesorder/SalesOrders, SalesOrderLines | Domanda dei clienti e date di consegna |
Autenticazione e accesso
Exact Online utilizza OAuth 2.0 con il flusso authorization code e i refresh token. Exact: “Before you can start integration with Exact Online, you must first register your app in the App Store.” (Prima di avviare l’integrazione con Exact Online, occorre registrare l’app nell’App Store.) (Guida di Exact Online) Per registrare le app serve un abbonamento Exact Online Developer (Exact App Store).
- L’integrazione viene registrata come app con un URI di reindirizzamento.
- Un utente di Exact Online con accesso a produzione, magazzino e acquisti concede il consenso una sola volta.
- Ogni richiesta invia
Authorization: Bearer <access_token>e include la divisione nel percorso. - Gli access token vengono rinnovati tramite il refresh token. Exact limita la frequenza con cui è possibile richiedere un nuovo token: conserva quindi il token nella cache fino alla scadenza.
Exact impone anche limiti alle chiamate al minuto e al giorno per ogni app e azienda e richiede chiamate sequenziali anziché parallele. I limiti attuali sono riportati nell’articolo di Exact sui limiti API. L’integrazione è progettata per rispettarli: letture filtrate con $filter e $select e Sync API per le modifiche massive.
Sul lato SkyPlanner, la REST API si autentica tramite un token API nell’header Authorization-Token (SkyPlanner Settings > API) ed è documentata in Swagger/OpenAPI. Il tutorial di integrazione illustra passo dopo passo le prime chiamate.
Webhook e polling
Quando cambia un topic sottoscritto, i webhook di Exact Online inviano all’URL di callback una richiesta POST firmata con un hash HMAC SHA256 (webhook). I topic includono Items, StockPosition, PurchaseOrders, PurchaseOrderLines, SalesOrders e SalesOrderLines. In questo modo, le modifiche a giacenze, acquisti e domanda vengono trasmesse a SkyPlanner nel momento in cui avvengono.
Gli ordini di produzione e le fasi dei cicli di lavorazione vengono letti a intervalli programmati. Filtra ShopOrders e ShopOrderRoutingStepPlans in base a Modified e usa la Sync API per le letture massive (restrizioni API).
SkyPlanner invia i propri webhook quando cambia la schedulazione: l’aggiornamento dei dati in Exact Online è quindi attivato dagli eventi.
Mappatura dei dati
| Risorsa di Exact Online | Oggetto di SkyPlanner | Direzione | Frequenza |
|---|---|---|---|
Items | Prodotti e materiali | Exact Online → SkyPlanner | Caricamento iniziale, poi webhook |
BillOfMaterialVersions, BillOfMaterialMaterials | Struttura del prodotto, sottoassiemi, materiali per prodotto | Exact Online → SkyPlanner | A ogni modifica |
Workcenters, OperationResources | Centri di lavoro e gruppi di centri di lavoro | Exact Online → SkyPlanner | Caricamento iniziale |
Operations, BillOfMaterialRoutings | Fasi di lavorazione con tempi di attrezzaggio e lavorazione | Exact Online → SkyPlanner | A ogni modifica |
ShopOrders | Ordini con quantità e data di scadenza | Exact Online → SkyPlanner | Ogni pochi minuti |
ShopOrderRoutingStepPlans | Operazioni con sequenza, centro di lavoro, ore di attrezzaggio e lavorazione | Exact Online → SkyPlanner | Ogni pochi minuti |
ShopOrderMaterialPlans | Materiali per operazione | Exact Online → SkyPlanner | Ogni pochi minuti |
ItemWarehouses, StockPosition | Giacenze di magazzino | Exact Online → SkyPlanner | Webhook |
PurchaseOrderLines | Ordini di acquisto con data di consegna prevista | Exact Online → SkyPlanner | Webhook |
SalesOrderLines | Date di consegna ai clienti e priorità | Exact Online → SkyPlanner | Webhook |
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT) | Inizio, fine e centro di lavoro pianificati per ogni operazione | SkyPlanner → Exact Online | A ogni modifica, tramite webhook |
ShopOrders: PlannedStartDate, PlannedDate (PUT) | Inizio e fine dell’ordine | SkyPlanner → Exact Online | A ogni modifica, tramite webhook |
TimeTransactions (POST) | Registrazioni dei tempi e conferme degli operatori | SkyPlanner → Exact Online | A ogni conferma o per turno |
ShopOrderReceipts (POST) | Quantità completata all’ultima operazione | SkyPlanner → Exact Online | A ogni conferma |
| Non presenti in Exact Online | Matrice dei tempi di attrezzaggio, utensili come risorse a capacità finita, operatori per operazione, centri di lavoro alternativi, turni | Gestiti in SkyPlanner | Avviamento |
Modalità di integrazione
1. Caricamento iniziale delle anagrafiche. Leggi Workcenters, Operations e OperationResources, poi gli articoli e le versioni delle distinte base con i relativi cicli di lavorazione. Un centro di lavoro con tre macchine diventa tre centri di lavoro oppure un gruppo di centri di lavoro. Turni, assenze e straordinari si configurano in SkyPlanner, perché il centro di lavoro di Exact ha un solo valore di capacità.
2. Sincronizzazione degli ordini. Leggi gli ShopOrders aperti con i relativi ShopOrderRoutingStepPlans e ShopOrderMaterialPlans, insieme alle giacenze e alle righe degli ordini di acquisto. La schedulazione verifica sia le giacenze sia gli acquisti in arrivo. L’MRP continua a generare proposte d’ordine in Exact Online, mentre SkyPlanner schedula gli ordini di produzione che crei.
3. Scrittura della schedulazione in Exact Online. Per ogni operazione del ciclo di lavorazione inserita o spostata dal motore, SkyPlanner invia una richiesta PUT a ShopOrderRoutingStepPlans con PlannedStartDate, PlannedEndDate e Workcenter. I campi PlannedStartDate e PlannedDate dell’ordine di produzione seguono rispettivamente la prima e l’ultima operazione. Quantità, piani dei materiali e calcolo dei costi restano in Exact Online.
4. Conferme dal reparto produttivo. Gli operatori registrano il lavoro con SkyPlanner Mobile Confirmations o Production Timer e le registrazioni dei tempi mantengono aggiornata la schedulazione. Le ore registrate vengono inviate come TimeTransactions, associate all’ordine di produzione e all’operazione del ciclo, distinguendo attrezzaggio e lavorazione. La conferma finale genera un record ShopOrderReceipts per la quantità completata. Se lo stabilimento registra già i tempi in Shop Floor Control, scegli un solo canale di registrazione.
5. Responsabilità sui dati e regole per i conflitti. Definiscile per iscritto prima della messa in produzione:
| Dati | Sistema responsabile |
|---|---|
| Articoli, distinte base, quantità degli ordini di produzione, piani dei materiali, costi | Exact Online |
| Sequenza delle operazioni del ciclo, orari di inizio e fine, assegnazione al centro di lavoro | SkyPlanner |
| Matrice dei tempi di attrezzaggio, utensili, operatori per operazione, risorse produttive alternative, turni | SkyPlanner |
| Registrazioni dei tempi e versamenti di produzione | Exact Online, alimentato da SkyPlanner |
La principale fonte di conflitti è la modifica manuale delle date. Se i pianificatori continuano a cambiare le date degli ordini di produzione in Exact Online, le date vengono gestite da due sistemi. Affida a SkyPlanner la gestione delle date delle operazioni del ciclo. Con Autopilot, SkyPlanner aggiorna automaticamente la schedulazione quando la produzione cambia.
Fasi tipiche del progetto
L’implementazione viene normalmente completata entro alcune settimane dall’inizio dell’avviamento. Prima di questa fase, verifica la schedulazione durante la prova gratuita di 30 giorni, utilizzando un’esportazione CSV o Excel degli ordini di produzione aperti e delle operazioni dei cicli. Il progetto prosegue poi così:
- Definizione del perimetro. Conferma l’edizione, le divisioni, le frequenze di sincronizzazione, il canale di registrazione dei tempi e la modalità di registrazione dei versamenti di produzione.
- App e consenso. Registra l’app; poi un utente di Exact Online concede il consenso OAuth per ogni divisione.
- Caricamento iniziale. Centri di lavoro, operazioni, articoli, versioni delle distinte base e cicli di lavorazione.
- Sincronizzazione degli ordini. Ordini di produzione, piani delle operazioni del ciclo e piani dei materiali a intervalli programmati; giacenze e acquisti tramite webhook.
- Configurazione dei vincoli in SkyPlanner. Turni, matrice dei tempi di attrezzaggio, utensili, numero di operatori per operazione e macchine o personale alternativi.
- Scrittura della schedulazione in Exact Online. Invio delle date pianificate per le operazioni del ciclo, poi delle registrazioni dei tempi e dei versamenti di produzione.
- Test in parallelo e messa in produzione. Confronta le date con il piano attuale, correggi le anagrafiche e poi attiva la scrittura dei dati in Exact Online.
Cosa prevedere per l’integrazione con Exact Online
- Tempi delle operazioni del ciclo.
PlannedSetupHoursePlannedRunHoursprovengono dal ciclo di lavorazione della distinta base. Prima di procedere, confrontali con i tempi effettivi. - Raggruppamento dei centri di lavoro. Exact memorizza un solo valore di capacità per centro di lavoro. Decidi per ciascuno se rappresentarlo in SkyPlanner come un singolo centro di lavoro, più centri o un gruppo.
- Calendari. Turni, festività e assenze sono gestiti in SkyPlanner. Configurali prima della prima schedulazione.
- Limiti delle chiamate. Exact limita le chiamate per app e azienda e richiede che siano sequenziali. Usa i webhook per i topic disponibili,
$filtersuModifiede la Sync API per le letture massive. - Più divisioni. Ogni divisione di Exact Online è un’azienda con un proprio percorso e un consenso dedicato. Associa ogni stabilimento alla sua divisione.
- Ordini di produzione rilasciati. Concorda per quali stati SkyPlanner può modificare le date: ordini aperti e rilasciati, oppure solo ordini aperti.
- Un solo sistema responsabile delle date. Interrompi le modifiche manuali delle date in Exact Online quando la gestione delle date delle operazioni del ciclo passa a SkyPlanner.
Exact Globe+
Exact Globe+ è l’ERP di Exact venduto e implementato tramite i partner Exact Globe+. Exact dichiara che “koppelt eenvoudig en snel met andere systemen” (si collega facilmente e rapidamente ad altri sistemi) (Exact Globe+). SkyPlanner schedula gli ordini di produzione di Exact Globe+ nello stesso modo: riceve ordini di produzione, cicli di lavorazione, risorse produttive e giacenze, e restituisce date pianificate e ore registrate. Il tuo partner Exact Globe+ e il team SkyPlanner concordano l’interfaccia e gli oggetti su cui scrivere i dati durante la definizione del perimetro.
Integrazione con Exact Online: chi la configura e chi fornisce assistenza
- Il team SkyPlanner la configura durante l’avviamento e fornisce assistenza dopo la messa in produzione.
- Il tuo partner Exact può partecipare. Conosce le tue edizioni, le divisioni e la configurazione della produzione.
- I tuoi sviluppatori possono estendere l’integrazione utilizzando la REST API documentata di SkyPlanner. Per iniziare basta un token API e il team SkyPlanner fornisce assistenza quando serve.
Una volta attivato il collegamento, il motore Arcturus schedula gli ordini di produzione aggiornati di Exact Online e riporta le date pianificate su ogni operazione del ciclo. SkyPlanner parte da 199 € al mese con 5 centri di lavoro inclusi e fatturazione mensile. Il costo dell’integrazione viene preventivato in anticipo in base al tuo processo e alle tue esigenze, insieme al piano scelto, così conosci il costo complessivo prima di iniziare. Consulta prezzi e funzionalità; per un confronto con la pianificazione nativa di Exact Online, leggi Schedulazione della produzione a capacità finita con Exact Online. Trovi una panoramica nella pagina Exact Online e gli altri ERP nella sezione dedicata alle integrazioni ERP.
Le opinioni delle aziende manifatturiere su SkyPlanner
Menofermi per carenza di materiali
“Il valore di SkyPlanner per noi sta nell’avere uno strumento che funziona nell’uso quotidiano, soprattutto per definire le date di consegna.”
Tommi Männistö, responsabile della pianificazione della produzione
Eskomatic · Lavorazioni meccaniche conto terzi
La schedulazione automatica dei carichi consente di definire date di consegna più precise e i fermi di produzione dovuti alla carenza di materiali sono diminuiti nettamente.
1.000 e piùordini di lavoro schedulati automaticamente
“Abbiamo un controllo diverso sulla produzione e la nostra comprensione della capacità è a un livello completamente diverso.”
Hannu Ryynänen, amministratore delegato
Mamec · Miscelatori industriali, pompe e produzione conto terzi ad alta tecnologia
Migliaia di ordini di lavoro vengono schedulati automaticamente, con una visione della produzione in tempo reale per tutta l’organizzazione.
Domande frequenti
L’API di Exact Online include gli ordini di produzione e le operazioni dei cicli di lavorazione?
Sì. Il servizio di produzione mette a disposizione ShopOrders, ShopOrderRoutingStepPlans, ShopOrderMaterialPlans, Workcenters, Operations e le risorse BOM, tutti accessibili in lettura e scrittura. I tempi vengono registrati tramite TimeTransactions e le quantità completate tramite ShopOrderReceipts.
Come vengono riportate in Exact Online le date pianificate?
Per ogni operazione che inserisce o sposta, SkyPlanner invia una richiesta PUT a ShopOrderRoutingStepPlans con PlannedStartDate, PlannedEndDate e Workcenter. I campi PlannedStartDate e PlannedDate dell’ordine di produzione vengono aggiornati di conseguenza.
Chi realizza l’integrazione con Exact Online?
Durante l’avviamento, il team SkyPlanner configura l’integrazione bidirezionale in base alla vostra configurazione di Exact Online e fornisce assistenza anche dopo la messa in esercizio. Il vostro partner Exact può partecipare. Anche i vostri sviluppatori possono realizzare l’integrazione utilizzando la REST API documentata di SkyPlanner: per iniziare basta un token API.
Exact Online può inviare le modifiche in tempo reale?
I webhook di Exact Online inviano le modifiche ad articoli, giacenze, ordini di acquisto e ordini di vendita. Gli ordini di produzione e le operazioni del ciclo di lavorazione vengono letti a intervalli brevi tramite richieste filtrate. Nella direzione opposta, i webhook di SkyPlanner inviano le modifiche alla schedulazione non appena avvengono.
Possiamo provare SkyPlanner prima di realizzare l’integrazione?
Sì. La prova gratuita di 30 giorni supporta fino a 20 centri di lavoro e consente di importare i vostri ordini di produzione da file CSV o Excel, senza carta di credito. Avviate la prova oppure contattate il team commerciale per definire il perimetro dell’integrazione.