Integrazioni / ERP / Xero
Guida all’integrazione di Xero per la schedulazione della produzione con SkyPlanner APS
Questa guida spiega ad advisor Xero, consulenti e team IT come collegare Xero a SkyPlanner APS. SkyPlanner si integra con Xero in entrambe le direzioni tramite Xero Accounting API e Projects API:
- SkyPlanner riceve contatti, articoli gestiti a magazzino con le relative giacenze, preventivi accettati e ordini di acquisto con le date di arrivo.
- La data di fine pianificata viene inviata a Xero come nota nella cronologia di ciascun preventivo.
- Gli ordini completati vengono inviati a Xero come fatture di vendita in bozza, con le righe e il riferimento del preventivo, che passa allo stato Invoiced.
- Le ore registrate per le attività di progetto vengono inviate a Xero Projects come registrazioni delle ore.
- I webhook di Xero segnalano le modifiche a contatti e fatture, mentre quelli di SkyPlanner inviano le modifiche al programma di produzione non appena avvengono.
Xero è un software di contabilità e non contiene quindi distinte base, cicli di lavorazione, macchine o ordini di produzione. Centri di lavoro, fasi di lavorazione, turni e tempi di attrezzaggio sono gestiti in SkyPlanner. Durante l’avviamento, il team SkyPlanner configura l’integrazione con la tua organizzazione Xero e ne cura l’assistenza dopo la messa in produzione. Questa guida è rivolta ai consulenti e agli sviluppatori che vogliono partecipare al progetto o realizzare autonomamente soluzioni basate sulla REST API documentata di SkyPlanner (documentazione API).
La Xero Accounting API
Xero è un unico prodotto cloud multi-tenant: tutte le organizzazioni utilizzano la stessa API. Accounting API è una REST API disponibile all’indirizzo https://api.xero.com/api.xro/2.0/, con dati in JSON o XML. Ogni chiamata identifica l’organizzazione nell’header Xero-tenant-id. (fonte)
Gli endpoint necessari per la schedulazione:
- Anagrafiche:
/Contacts(clienti e fornitori),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Domanda:
/Quotes(Status ACCEPTED, LineItems) e, per le officine che fatturano prima della produzione,/Invoicescon Type ACCREC. - Approvvigionamenti:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems con ItemCode). - Scrittura dei dati in Xero:
/Quotes/{QuoteID}/History,/Invoices,/Quotese Projects API all’indirizzohttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Ogni endpoint che restituisce un elenco accetta l’header If-Modified-Since: a ogni sincronizzazione vengono quindi letti solo i dati modificati. Creazioni e aggiornamenti vengono inviati in batch. Non esistono endpoint per distinte base, cicli di lavorazione o ordini di produzione.
Autenticazione, scope e limiti
Xero utilizza OAuth 2.0. Un amministratore Xero accede una sola volta, autorizza l’app e seleziona l’organizzazione. L’app richiede offline_access per mantenere la connessione tramite refresh token. (fonte)
Xero sta sostituendo gli scope generali con scope granulari, già assegnati alle nuove app. Un’integrazione per la schedulazione richiede:
accounting.invoicesper preventivi, fatture, ordini di acquisto e articoliaccounting.contactsper clienti e fornitoriaccounting.settings.readper le impostazioni degli articoliprojectsper le registrazioni delle oreoffline_access
Xero limita le chiamate per organizzazione (simultanee, al minuto e al giorno) e per app. Quando un’app supera i limiti, restituisce HTTP 429 con l’header Retry-After. Il numero di chiamate giornaliere consentite e quello delle organizzazioni collegate dipendono dal livello partner dell’app. Entrambi sono riportati nella pagina dei limiti API di Xero. Grazie ai webhook, alle letture con If-Modified-Since e alle scritture in batch, un’integrazione per la schedulazione rimane ampiamente entro questi limiti.
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 sull’integrazione guida passo passo nelle prime chiamate.
Webhook
“Webhooks allow you to subscribe to certain events that happen in Xero.” (I webhook permettono di ricevere notifiche su determinati eventi che si verificano in Xero.) (fonte) Gli eventi rilevanti per la schedulazione sono Contact e Invoice, entrambi con CREATE e UPDATE.
Come funzionano:
- Un solo webhook per app copre tutte le organizzazioni collegate.
- Ogni notifica contiene un array di eventi con l’ID della risorsa e il tipo di evento. Il destinatario legge poi la risorsa.
- Ogni notifica è firmata tramite l’header
x-xero-signature, generato a partire dalla chiave webhook dell’app. Prima di iniziare l’invio delle notifiche, Xero esegue una verifica “Intent to receive”. - Xero ritenta l’invio delle notifiche non recapitate e disabilita i webhook che continuano a fallire. Il destinatario risponde quindi subito ed esegue l’elaborazione in un secondo momento.
Preventivi, articoli e ordini di acquisto non dispongono di eventi webhook. SkyPlanner li legge tramite polling a intervalli brevi con If-Modified-Since: quando non ci sono modifiche, è sufficiente una chiamata per entità.
Mappatura dei dati
| Oggetto Xero (endpoint) | Oggetto SkyPlanner | Direzione | Frequenza |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Caricamento iniziale, poi tramite webhook |
Item, con o senza gestione delle giacenze, con QuantityOnHand (/Items) | Prodotti e materiali, giacenze | Xero → SkyPlanner | Caricamento iniziale, poi tramite If-Modified-Since |
Quote, con Status ACCEPTED e LineItems (/Quotes) | Order (external_order_number, delivery_date), operazioni per ogni riga | Xero → SkyPlanner | Polling con If-Modified-Since |
Invoice, con Type ACCREC (officine che fatturano prima della produzione) (/Invoices) | Ordine e operazioni | Xero → SkyPlanner | In tempo reale tramite webhook |
PurchaseOrder con ExpectedArrivalDate o DeliveryDate (/PurchaseOrders) | Materiale in arrivo (estimated_delivery_date) | Xero → SkyPlanner | Polling con If-Modified-Since |
Nota nella cronologia del preventivo (PUT /Quotes/{QuoteID}/History) | Data di fine pianificata | SkyPlanner → Xero | A ogni modifica del programma di produzione |
Invoice, Type ACCREC, Status DRAFT, Reference = numero del preventivo (POST /Invoices) | Ordine completato | SkyPlanner → Xero | Al completamento dell’ordine |
Quote con Status INVOICED (POST /Quotes) | Ordine completato | SkyPlanner → Xero | Alla creazione della fattura |
Registrazione delle ore in Projects (POST /projects/{projectId}/time) | Mobile Confirmations, registrazioni dei tempi | SkyPlanner → Xero | Alla registrazione del lavoro svolto |
| Non presenti in Xero | Centri di lavoro, fasi di lavorazione, turni, assenze, matrice dei tempi di attrezzaggio, utensili, numero di operatori, centri di lavoro alternativi | Gestiti in SkyPlanner | Configurati durante l’avviamento |
Modalità di integrazione
1. Caricamento iniziale delle anagrafiche. Leggi contatti e articoli pagina per pagina, quindi gli ordini di acquisto aperti e i preventivi accettati. Crea i clienti in SkyPlanner usando il ContactID di Xero come external_identifier, e i prodotti e materiali usando il codice articolo come chiave. Configura poi ciò che Xero non contiene: centri di lavoro, fasi di lavorazione per ciascun prodotto, turni, ferie e permessi e tempi di attrezzaggio. Per le fasi di lavorazione, l’importazione da CSV o Excel è la via più rapida.
2. Sincronizzazione degli ordini. Interroga periodicamente i preventivi con If-Modified-Since. Quando un preventivo passa ad ACCEPTED, SkyPlanner crea un ordine usando il numero del preventivo come external_order_number. La delivery_date viene ricavata dal campo che la tua officina usa per la data di consegna promessa, mappato durante l’avviamento. Da ogni riga vengono generate le operazioni previste dalle fasi di lavorazione del prodotto. Le righe degli ordini di acquisto diventano materiale in arrivo alla data prevista, così le operazioni attendono la consegna. Una lettura completa ogni notte dei preventivi e degli ordini di acquisto aperti recupera eventuali dati sfuggiti alla sincronizzazione.
3. Invio a Xero del programma di produzione e dei dati di completamento. Tre chiamate trasferiscono i risultati in Xero:
- PUT
/Quotes/{QuoteID}/Historyaggiunge una nota con la data di fine pianificata. Un preventivo accettato consente di modificare solo il contatto e le note: la data viene quindi inserita nella nota della cronologia. (fonte) - Al completamento dell’ordine, POST
/Invoicescrea una fattura di vendita con Type ACCREC, Status DRAFT, il contatto e le righe del preventivo e il numero del preventivo come Reference. Il tuo addetto alla contabilità la approva e la invia in Xero. - POST
/Quotescon QuoteID e Status INVOICED chiude il preventivo. Il passaggio da Accepted a Invoiced è un cambio di stato valido in Accounting API.
4. Conferme dal reparto e ore di progetto. Gli operatori registrano il lavoro con SkyPlanner Mobile Confirmations, Production Timer o Quick Log Mode. L’avanzamento aggiorna immediatamente il programma di produzione e Autopilot ripianifica il lavoro restante. Per le attività di progetto, SkyPlanner invia le ore come registrazioni sull’attività del progetto, indicando utente Xero, data e durata. (fonte)
5. Responsabilità sui dati e regole per i conflitti. Mettile per iscritto prima della messa in produzione:
| Dati | Sistema responsabile |
|---|---|
| Contatti, articoli, prezzi, preventivi, ordini di acquisto, fatture, contabilità | Xero |
| Centri di lavoro, fasi di lavorazione, turni, assenze, matrice dei tempi di attrezzaggio, utensili, risorse produttive alternative | SkyPlanner |
| Sequenza delle operazioni, orari di inizio e fine, centro di lavoro per ciascuna operazione | SkyPlanner |
| Nota sul preventivo con la data di fine pianificata | SkyPlanner, con scrittura in Xero |
| Bozza di fattura per ordini completati, ore di progetto | SkyPlanner crea i dati; Xero ne assume la gestione dopo l’approvazione |
Le fasi tipiche del progetto
L’implementazione si completa normalmente nell’arco di alcune settimane dall’inizio dell’onboarding. Prima di questa fase, la prova gratuita di 30 giorni permette di lavorare con i propri dati, esportando da Xero contatti, prodotti e preventivi aperti in formato CSV.
Il progetto prevede queste fasi:
- Collegamento. Un amministratore Xero autorizza SkyPlanner e seleziona l’organizzazione.
- Documento che genera la domanda. Si concorda se ad avviare la produzione siano i preventivi accettati o le fatture di vendita.
- Mappatura. Si definiscono la tabella di mappatura, i codici articolo, i conti contabili per le fatture, le impostazioni fiscali predefinite e le regole che stabiliscono quale sistema gestisce ciascun dato.
- Caricamento iniziale. Contatti, articoli, ordini di acquisto aperti e preventivi accettati.
- Modello produttivo. Si configurano in SkyPlanner centri di lavoro, fasi di lavorazione per prodotto, turni, matrice dei tempi di attrezzaggio, utensili e numero di operatori.
- Sincronizzazione. Webhook per contatti e fatture, polling con
If-Modified-Sinceper preventivi, articoli e ordini di acquisto, oltre alla riconciliazione notturna. - Scrittura su Xero. Prima le note dei preventivi, poi le bozze di fattura e lo stato dei preventivi, infine le ore di progetto, dove utilizzate.
- Test in parallelo e avvio operativo. Confronta le date di SkyPlanner con il piano attuale, fai verificare le prime bozze di fattura a chi segue la contabilità, poi attiva la scrittura su Xero.
Cosa prevedere per l’integrazione con Xero
- Xero non prevede oggetti per la produzione. Gestisci le fasi di lavorazione di ogni prodotto in SkyPlanner, collegandole al codice articolo Xero. Mantieni stabili i codici articolo.
- I preventivi non hanno webhook. Interrogali con
If-Modified-Sincea intervalli brevi, rispettando i limiti al minuto e giornalieri. - I preventivi accettati sono bloccati. Dopo l’accettazione si possono modificare solo i dati di contatto e le note. La data promessa viene quindi letta una sola volta, al momento dell’accettazione, mentre la data pianificata viene scritta come nota nella cronologia.
- Le giacenze seguono le fatture di vendita e di acquisto. Xero aggiorna le quantità a magazzino tramite fatture di vendita, fatture di acquisto e note di credito relative agli articoli con gestione delle giacenze. Concorda con chi segue la contabilità come contabilizzare i prodotti finiti e i materiali utilizzati.
- Le ore di progetto richiedono utenti Xero. Ogni registrazione delle ore è associata a un utente Xero. Decidi quali operatori registrano le ore in Xero Projects e mantieni le altre registrazioni in SkyPlanner.
- Ambiti di autorizzazione granulari. Richiedi ambiti granulari fin dall’inizio, perché quelli più ampi sono in fase di dismissione.
- Livello dell’app. Il livello partner determina quante organizzazioni può collegare un’app e quante chiamate può effettuare al giorno. Scegli il livello in base al numero di stabilimenti.
Integrazione con Xero: chi la configura e fornisce assistenza
Il lavoro riguarda gli articoli, i preventivi, gli ordini di acquisto e il passaggio delle lavorazioni completate alla fatturazione. Si aggiungono i dati che Xero non gestisce: centri di lavoro, fasi di lavorazione, turni, matrice dei tempi di attrezzaggio, utensili, numero di operatori e risorse produttive alternative.
- Il team SkyPlanner configura l’integrazione durante l’onboarding e fornisce assistenza dopo l’avvio operativo. Ogni officina configura articoli, preventivi e magazzino in Xero in modo diverso: è qui che entra in gioco questa esperienza.
- Il tuo consulente Xero o partner di integrazione può realizzarla. SkyPlanner mette a disposizione la REST API, la documentazione Swagger/OpenAPI e i webhook.
- Anche i tuoi sviluppatori possono realizzare l’integrazione con un token API. Per iniziare basta un token API e il team SkyPlanner offre assistenza quando serve. La documentazione del prodotto, che include gli ordini di acquisto e l’API per prodotti e materiali, è disponibile nella documentazione SkyPlanner.
SkyPlanner parte da 199 € al mese con 5 centri di lavoro inclusi e fatturazione mensile. Il preventivo per l’integrazione viene definito in anticipo in base al processo e alle esigenze, insieme al piano scelto, così conosci il costo complessivo prima di iniziare. Consulta i prezzi, le funzionalità e scopri cosa offre Xero da solo in Xero dispone di funzioni per la schedulazione della produzione? Trovi una panoramica nella pagina dedicata a Xero e gli altri sistemi nella sezione tutte le integrazioni.
Recensioni su SkyPlanner delle aziende manifatturiere
2 hrisparmiate ogni settimana
“Con SkyPlanner siamo passati dai fogli Excel per la pianificazione della produzione all’ottimizzazione della produzione in tempo reale.”
Kalle Kalliomäki, specialista della supply chain
UTU · Quadri elettrici e apparecchiature di manovra
La pianificazione della produzione fa risparmiare 2 ore di lavoro ogni settimana e una nuova coda di lavoro arriva in linea in pochi secondi.
+90%di efficienza produttiva
“L’efficienza in produzione è aumentata del 90%.”
Abdul Rucyinga, responsabile IT
Laboratory & Allied · Produzione farmaceutica
L’efficienza produttiva è aumentata del 90% e bastano meno di 30 minuti per elaborare un piano ottimizzato di tre mesi per tutti i centri di lavoro.
Menofermi per mancanza di materiali
“Il valore di SkyPlanner per noi è avere uno strumento che funziona nel lavoro 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 mancanza di materiali sono diminuiti nettamente.
1.000 e piùordini di lavoro schedulati automaticamente
“Ora abbiamo un controllo diverso sulla produzione e conosciamo la capacità produttiva a un livello del tutto 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 e tutta l’organizzazione ha una visione della produzione in tempo reale.
Domande frequenti
Xero dispone di un’API per i dati di produzione?
Xero mette a disposizione Accounting API e Projects API, entrambe REST con OAuth 2.0. Gestiscono contatti, articoli, preventivi, fatture, ordini di acquisto e registrazioni delle ore. I dati di produzione, come centri di lavoro e fasi di lavorazione, risiedono in SkyPlanner.
SkyPlanner può scrivere dati su Xero?
Sì. SkyPlanner aggiunge la data di completamento pianificata alla cronologia di ogni preventivo, crea una bozza di fattura di vendita con le righe del preventivo quando l’ordine è completato, porta il preventivo allo stato Invoiced e invia le registrazioni delle ore di progetto.
Xero invia le modifiche in tempo reale?
I webhook di Xero coprono contatti e fatture. SkyPlanner legge preventivi, articoli e ordini di acquisto modificati dall’ultima sincronizzazione tramite If-Modified-Since ed esegue una riconciliazione notturna. In questo modo, un nuovo preventivo accettato viene inserito rapidamente nella schedulazione.
Da dove provengono distinte base, cicli di lavorazione e macchine, se Xero non li gestisce?
Da SkyPlanner. Configuri una sola volta centri di lavoro, fasi di lavorazione per prodotto, turni e tempi di attrezzaggio, manualmente oppure importandoli da CSV o Excel. Ogni prodotto è collegato al codice articolo Xero, così i nuovi preventivi accettati vengono schedulati automaticamente.
Possiamo provare SkyPlanner prima di realizzare l’integrazione?
Sì. La prova gratuita di 30 giorni supporta fino a 20 centri di lavoro con importazione CSV da Xero, senza carta di credito. Inizia la prova oppure contatta il team commerciale per definire l’ambito dell’integrazione.