Integrationer / ERP / Xero
Guide till Xero-integration för produktionsplanering med SkyPlanner APS
Den här guiden visar Xero-rådgivare, konsulter och IT-team hur Xero ansluts till SkyPlanner APS. SkyPlanner integreras med Xero i båda riktningarna via Xero Accounting API och Projects API:
- Kontakter, lagerförda artiklar med aktuellt lagersaldo, accepterade offerter och inköpsorder med ankomstdatum hämtas in.
- Planerat slutdatum återförs som en anteckning i varje offerts historik.
- Färdiga order återförs som utkast till kundfakturor med offertens rader och referens, och offerten får status Invoiced.
- Registrerade timmar för projektarbete återförs som tidposter i Xero Projects.
- Webhooks från Xero meddelar ändringar i kontakter och fakturor, och webhooks från SkyPlanner skickar ändringar i produktionsplanen så snart de sker.
Xero är ett bokföringsprogram och innehåller därför inga stycklistor, operationsföljder, maskiner eller tillverkningsorder. Produktionsgrupper, processteg, skift och ställtider hanteras i SkyPlanner. SkyPlanner-teamet konfigurerar integrationen för din Xero-organisation under införandet och ger support efter driftsättningen. Guiden är till för rådgivare och utvecklare som vill delta eller själva bygga vidare på SkyPlanners dokumenterade REST API (API-referens).
Xero Accounting API
Xero är en gemensam molnprodukt för flera organisationer, och alla organisationer använder samma API. Accounting API är ett REST API på https://api.xero.com/api.xro/2.0/ med stöd för JSON och XML. I varje anrop anges organisationen i headern Xero-tenant-id. (källa)
Endpoints som behövs för produktionsplanering:
- Grunddata:
/Contacts(kunder och leverantörer),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Efterfrågan:
/Quotes(Status ACCEPTED, LineItems) och, för verkstäder som fakturerar först,/Invoicesmed Type ACCREC. - Materialförsörjning:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems med ItemCode). - Återföring:
/Quotes/{QuoteID}/History,/Invoices,/Quotesoch Projects API påhttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Alla endpoints för listor accepterar headern If-Modified-Since, så att bara ändrade uppgifter läses vid varje synkronisering. Poster skapas och uppdateras i batcher. Det finns inga endpoints för stycklistor, operationsföljder eller tillverkningsorder.
Autentisering, behörighetsomfång och gränser
Xero använder OAuth 2.0. En Xero-administratör loggar in en gång, godkänner appen och väljer organisation. Appen begär offline_access för att hålla anslutningen aktiv med uppdateringstoken. (källa)
Xero ersätter breda behörighetsomfång med mer detaljerade, och nya appar får de detaljerade behörigheterna. En integration för produktionsplanering behöver:
accounting.invoicesför offerter, fakturor, inköpsorder och artiklaraccounting.contactsför kunder och leverantöreraccounting.settings.readför artikelinställningarprojectsför tidposteroffline_access
Xero begränsar antalet anrop per organisation (samtidiga anrop, per minut och per dag) och per app. När en app överskrider gränsen returneras HTTP 429 med headern Retry-After. Den dagliga anropskvoten och antalet anslutna organisationer beror på appens partnernivå. Båda anges på Xeros sida om API-gränser. Med webhooks, läsningar med If-Modified-Since och skrivningar i batcher håller sig en integration för produktionsplanering väl inom gränserna.
SkyPlanners REST API använder en API-token i headern Authorization-Token för autentisering (SkyPlanner Settings > API) och är dokumenterat i Swagger/OpenAPI. Integrationsguiden går igenom de första anropen.
Webhooks
”Webhooks allow you to subscribe to certain events that happen in Xero.” (Med webhooks kan du prenumerera på vissa händelser i Xero.) (källa) De händelser som är relevanta för produktionsplaneringen är Contact och Invoice, båda med CREATE och UPDATE.
Så fungerar de:
- En webhook per app täcker alla anslutna organisationer.
- Varje leverans innehåller en array med händelser som anger resurs-ID och händelsetyp. Mottagaren läser sedan in resursen.
- Varje leverans signeras med headern
x-xero-signature, som skapas med appens webhook-nyckel. Xero skickar en kontroll av typen ”Intent to receive” innan leveranserna börjar. - Xero försöker på nytt om en leverans misslyckas och inaktiverar en webhook som fortsätter att misslyckas. Därför svarar mottagaren snabbt och utför arbetet efteråt.
Offerter, artiklar och inköpsorder har inga webhook-händelser. SkyPlanner läser dem med korta pollingintervall och If-Modified-Since. När inget har ändrats krävs ett anrop per entitet.
Datamappning
| Xero-objekt (endpoint) | Objekt i SkyPlanner | Riktning | Frekvens |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Första inläsning, därefter via webhook |
Item, med och utan lageruppföljning, med QuantityOnHand (/Items) | Produkter och material, lagersaldo | Xero → SkyPlanner | Första inläsning, därefter med If-Modified-Since |
Quote med Status ACCEPTED och LineItems (/Quotes) | Order (external_order_number, delivery_date), operationer per rad | Xero → SkyPlanner | Polling med If-Modified-Since |
Invoice med Type ACCREC (verkstäder som fakturerar först) (/Invoices) | Order och operationer | Xero → SkyPlanner | I realtid via webhook |
PurchaseOrder med ExpectedArrivalDate eller DeliveryDate (/PurchaseOrders) | Inkommande material (estimated_delivery_date) | Xero → SkyPlanner | Polling med If-Modified-Since |
Anteckning i offertens historik (PUT /Quotes/{QuoteID}/History) | Planerat slutdatum | SkyPlanner → Xero | När produktionsplanen ändras |
Invoice med Type ACCREC, Status DRAFT, Reference = offertnummer (POST /Invoices) | Färdig order | SkyPlanner → Xero | När ordern är färdig |
Quote med Status INVOICED (POST /Quotes) | Färdig order | SkyPlanner → Xero | När fakturan skapas |
Tidpost i Projects (POST /projects/{projectId}/time) | Mobile Confirmations, tidsregistreringar | SkyPlanner → Xero | När arbete registreras |
| Finns inte i Xero | Produktionsgrupper, processteg, skift, frånvaro, ställtidsmatris, verktyg, antal operatörer, alternativa produktionsgrupper | Underhålls i SkyPlanner | Konfigureras under införandet |
Integrationsmönster
1. Första inläsning av grunddata. Läs in kontakter och artiklar sida för sida, därefter öppna inköpsorder och accepterade offerter. Skapa kunder i SkyPlanner med Xeros ContactID som external_identifier och produkter och material med artikelkoden som nyckel. Lägg sedan upp det som saknas i Xero: produktionsgrupper, processteg per produkt, skift, ledighet och ställtider. Import från CSV eller Excel är det snabbaste sättet att lägga upp processteg.
2. Ordersynkronisering. Hämta offerter genom polling med If-Modified-Since. När en offert får status ACCEPTED skapar SkyPlanner en order med offertnumret som external_order_number. Värdet för delivery_date hämtas från det fält som verkstaden använder för utlovat leveransdatum. Mappningen görs under införandet. Varje offertrad blir operationer utifrån produktens processteg. Inköpsorderrader blir inkommande material på förväntat ankomstdatum, så att operationerna väntar på leveransen. En fullständig nattlig inläsning av öppna offerter och inköpsorder fångar upp sådant som kan ha missats.
3. Återföring av planering och färdiga order. Tre anrop för över resultaten till Xero:
- PUT
/Quotes/{QuoteID}/Historylägger till en anteckning med planerat slutdatum. I en accepterad offert får endast kontaktuppgifter och anteckningar ändras, så datumet sparas i historikanteckningen. (källa) - När ordern är färdig skapar POST
/Invoicesen kundfaktura med Type ACCREC, Status DRAFT, offertens kontakt och rader samt offertnumret som Reference. Din redovisningsansvariga godkänner och skickar fakturan i Xero. - POST
/Quotesmed QuoteID och Status INVOICED avslutar offerten. Ändringen från Accepted till Invoiced är en giltig statusändring i Accounting API.
4. Återrapportering från produktionen och projekttid. Operatörerna registrerar arbete med SkyPlanner Mobile Confirmations, Production Timer eller Quick Log Mode. Produktionsplanen uppdateras direkt när arbetet går framåt, och Autopilot planerar om resten. För projektarbete skickar SkyPlanner timmarna som tidposter på projektuppgiften med Xero-användare, datum och tidsåtgång. (källa)
5. Dataägarskap och regler vid konflikter. Dokumentera dem före driftsättning:
| Data | Ägare |
|---|---|
| Kontakter, artiklar, priser, offerter, inköpsorder, fakturor, bokföring | Xero |
| Produktionsgrupper, processteg, skift, frånvaro, ställtidsmatris, verktyg, alternativa resurser | SkyPlanner |
| Operationernas ordningsföljd, start- och sluttider, produktionsgrupp per operation | SkyPlanner |
| Anteckning om planerat slutdatum i offerten | SkyPlanner, skrivs till Xero |
| Fakturautkast för färdiga order, projekttid | SkyPlanner skapar, Xero äger efter godkännande |
Vanliga projektsteg
Implementeringen är normalt klar inom några veckor efter att introduktionen har börjat. Innan dess kan du använda dina egna data under den kostnadsfria provperioden på 30 dagar, med kontakter, produkter och öppna offerter från en CSV-export ur Xero.
Själva projektet omfattar:
- Anslutning. En Xero-administratör godkänner SkyPlanner och väljer organisation.
- Underlag för produktion. Kom överens om huruvida accepterade offerter eller kundfakturor ska starta produktionen.
- Mappning. Fastställ mappningstabellen, artikelkoderna, fakturakontona, standardinställningarna för skatt och reglerna för dataägarskap.
- Första inläsningen. Kontakter, artiklar, öppna inköpsorder och accepterade offerter.
- Produktionsmodell. Produktionsgrupper, processteg per produkt, skift, ställtidsmatris, verktyg och antal operatörer i SkyPlanner.
- Synkronisering. Webhooks för kontakter och fakturor, regelbunden hämtning av offerter, artiklar och inköpsorder med
If-Modified-Sincesamt avstämning varje natt. - Återskrivning. Först offertanteckningar, sedan fakturautkast och offertstatus och därefter projekttid där det används.
- Parallelltestning och driftsättning. Jämför datumen i SkyPlanner med din nuvarande plan, låt din redovisningsansvariga kontrollera de första fakturautkasten och aktivera sedan återskrivningen.
Att planera för vid en Xero-integration
- Xero saknar produktionsobjekt. Lagra processtegen för varje produkt i SkyPlanner, kopplade till artikelkoden i Xero. Håll artikelkoderna oförändrade.
- Offerter saknar webhook. Hämta dem med korta intervall med
If-Modified-Since, utan att överskrida gränserna per minut och dygn. - Accepterade offerter är låsta. Efter accept kan bara kontaktuppgifter och anteckningar ändras. Därför läses det utlovade datumet in en gång vid accept, medan det planerade datumet skrivs som en anteckning i historiken.
- Lagersaldot följer kund- och leverantörsfakturorna. Xero ändrar lagersaldot för lagerförda artiklar genom kundfakturor, leverantörsfakturor och kreditnotor. Kom överens med din redovisningsansvariga om hur färdiga varor och förbrukat material ska bokföras.
- Projekttid kräver Xero-användare. Tidposter tillhör en användare i Xero. Bestäm vilka operatörer som ska rapportera tid till Xero Projects och behåll övrig tid i SkyPlanner.
- Detaljerade behörighetsomfång. Begär detaljerade behörighetsomfång från början, eftersom de breda omfången håller på att avvecklas.
- Appnivå. Partnernivån avgör hur många organisationer en app kan ansluta och hur många anrop den får göra per dag. Välj nivå utifrån antalet fabriker.
Xero-integrationen: vem konfigurerar den och ger support?
Arbetet omfattar dina artiklar, offerter och inköpsorder samt hur färdigt arbete går vidare till fakturering. Det kompletterar med det som saknas i Xero: produktionsgrupper, processteg, skift, ställtidsmatris, verktyg, antal operatörer och alternativa resurser.
- SkyPlanner-teamet konfigurerar integrationen under introduktionen och ger support efter driftsättningen. Varje verkstad har sitt eget sätt att hantera artiklar, offerter och lager i Xero. Den kunskapen tas till vara här.
- Din Xero-rådgivare eller integrationspartner kan bygga den. SkyPlanner tillhandahåller REST API, API-dokumentation i Swagger/OpenAPI och webhooks.
- Dina egna utvecklare kan bygga vidare på den med en API-token. En API-token räcker för att komma igång, och SkyPlanner-teamet hjälper till vid behov. Produktdokumentation, bland annat om inköpsorder och API:et för produkter och material, finns i SkyPlanners dokumentation.
SkyPlanner kostar från 199 € per månad med 5 produktionsgrupper inkluderade och faktureras månadsvis. Du får en offert på integrationen i förväg, anpassad till din process och dina behov, tillsammans med ditt abonnemang. Då ser du hela kostnaden innan du börjar. Se priser, funktioner och vad Xero klarar på egen hand i Har Xero produktionsplanering? Översikten finns på Xero-sidan, och andra system hittar du under alla integrationer.
Tillverkares omdömen om SkyPlanner
2 hsparade varje vecka
”SkyPlanner har tagit vår produktionsplanering från Excel-kalkylblad till produktionsoptimering i realtid.”
Kalle Kalliomäki, specialist inom försörjningskedjan
UTU · Elcentraler och ställverk
Produktionsplaneringen sparar 2 timmars arbetstid varje vecka, och en ny arbetskö når produktionslinjen på några sekunder.
+90%effektivitet i produktionen
”Effektiviteten i produktionen har ökat med 90%.”
Abdul Rucyinga, IT-chef
Laboratory & Allied · Läkemedelstillverkning
Effektiviteten i produktionen har ökat med 90%, och det tar mindre än 30 minuter att skapa en optimerad tremånadersplan för alla produktionsgrupper.
Färrestopp på grund av materialbrist
”Värdet med SkyPlanner för oss är att det är ett verktyg som fungerar i vardagen, särskilt när vi ska fastställa leveransdatum.”
Tommi Männistö, produktionsplaneringschef
Eskomatic · Legobearbetning
Automatisk beläggningsplanering ger mer tillförlitliga leveransdatum, och produktionsstoppen på grund av materialbrist har minskat kraftigt.
1 000-talsarbetsorder planeras automatiskt
”Vi har kontroll över produktionen på ett helt annat sätt, och vår förståelse för kapaciteten är på en helt annan nivå.”
Hannu Ryynänen, vd
Mamec · Industriella blandare, pumpar och högteknologisk legotillverkning
Tusentals arbetsorder planeras automatiskt, och hela organisationen får en realtidsbild av produktionen.
Vanliga frågor
Har Xero ett API för produktionsdata?
Xero har Accounting API och Projects API, båda REST-baserade med OAuth 2.0. De omfattar kontakter, artiklar, offerter, fakturor, inköpsorder och tidposter. Produktionsdata som produktionsgrupper och processteg finns i SkyPlanner.
Kan SkyPlanner skriva tillbaka till Xero?
Ja. SkyPlanner lägger till det planerade slutdatumet i varje offerts historik, skapar ett kundfakturautkast med offertens rader när ordern är färdig, ändrar offertens status till Invoiced och registrerar projekttid.
Skickar Xero ändringar i realtid?
Xeros webhooks omfattar kontakter och fakturor. SkyPlanner använder If-Modified-Since för att läsa in offerter, artiklar och inköpsorder som ändrats sedan den senaste synkroniseringen och gör en avstämning varje natt. Därför kommer en ny accepterad offert snabbt in i produktionsplanen.
Varifrån kommer stycklistor, operationsföljder och maskiner om de inte finns i Xero?
Från SkyPlanner. Du lägger upp produktionsgrupper, processteg per produkt, skift och ställtider en gång, manuellt eller genom en CSV- eller Excel-import. Varje produkt kopplas till artikelkoden i Xero, så att nya accepterade offerter planeras automatiskt.
Kan vi testa SkyPlanner innan vi bygger integrationen?
Ja. Under den kostnadsfria provperioden på 30 dagar kan du använda upp till 20 produktionsgrupper med en CSV-import från Xero. Inget kreditkort behövs. Starta provperioden eller kontakta säljteamet för att avgränsa integrationens omfattning.