Integrasjoner / ERP / Xero
Veiledning til Xero-integrasjon for produksjonsplanlegging med SkyPlanner APS
Denne veiledningen viser Xero-rådgivere, konsulenter og IT-team hvordan de kobler Xero til SkyPlanner APS. SkyPlanner utveksler data med Xero i begge retninger via Xero Accounting API og Projects API:
- Kontakter, lagerførte varer med lagerbeholdning, aksepterte tilbud og innkjøpsordrer med ankomstdatoer hentes inn.
- Planlagt sluttdato skrives tilbake som et notat i historikken til hvert tilbud.
- Fullførte ordrer skrives tilbake som utkast til salgsfakturaer med tilbudets linjer og referanse, og tilbudet får status Invoiced.
- Registrerte timer på prosjektarbeid skrives tilbake som timeføringer i Xero Projects.
- Xero-webhooks varsler om endringer i kontakter og fakturaer, mens SkyPlanner-webhooks sender endringer i produksjonsplanen fortløpende.
Xero er et regnskapsprogram og inneholder derfor ikke stykklister, produksjonsruter, maskiner eller produksjonsordrer. Arbeidsstasjoner, prosesstrinn, skift og omstillingstider håndteres i SkyPlanner. SkyPlanner-teamet setter opp integrasjonen mot din Xero-organisasjon under innføringen og gir støtte etter at løsningen er satt i drift. Denne veiledningen er for rådgivere og utviklere som vil delta i arbeidet eller bygge videre selv med SkyPlanners dokumenterte REST API (API-referanse).
Xero Accounting API
Xero er én skybasert løsning med flere leietakere, og alle organisasjoner bruker samme API. Accounting API er et REST API på https://api.xero.com/api.xro/2.0/, med JSON eller XML. Hvert kall angir organisasjonen i Xero-tenant-id-headeren. (kilde)
Endepunktene som trengs for produksjonsplanlegging:
- Grunndata:
/Contacts(kunder og leverandører),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Behov:
/Quotes(Status ACCEPTED, LineItems), og for verksteder som fakturerer først,/Invoicesmed Type ACCREC. - Forsyning:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems med ItemCode). - Tilbakeskriving:
/Quotes/{QuoteID}/History,/Invoices,/Quotesog Projects API påhttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Alle listeendepunkter godtar en If-Modified-Since-header, slik at hver synkronisering bare leser det som er endret. Opprettelser og oppdateringer sendes i grupper. Det finnes ikke endepunkter for stykklister, produksjonsruter eller produksjonsordrer.
Autentisering, tilgangsomfang og grenser
Xero bruker OAuth 2.0. En Xero-administrator logger inn én gang, godkjenner appen og velger organisasjonen. Appen ber om offline_access for å opprettholde forbindelsen med oppdateringstokener. (kilde)
Xero erstatter brede tilgangsomfang med mer detaljerte, og nye apper får detaljerte tilgangsomfang. En integrasjon for produksjonsplanlegging trenger:
accounting.invoicesfor tilbud, fakturaer, innkjøpsordrer og vareraccounting.contactsfor kunder og leverandøreraccounting.settings.readfor vareinnstillingerprojectsfor timeføringeroffline_access
Xero begrenser antall kall per organisasjon (samtidige, per minutt og per dag) og per app. Når en app overskrider grensen, returneres HTTP 429 med en Retry-After-header. Dagskvoten og antall tilkoblede organisasjoner avhenger av appens partnernivå. Begge er oppgitt på Xeros side om API-grenser. Webhooks, lesing med If-Modified-Since og skriving i grupper holder en integrasjon for produksjonsplanlegging godt innenfor grensene.
På SkyPlanner-siden autentiseres REST API med et API-token i Authorization-Token-headeren (SkyPlanner Settings > API), og dokumentasjonen er tilgjengelig i Swagger/OpenAPI. Integrasjonsveiledningen tar deg gjennom de første kallene.
Webhooks
«Webhooks allow you to subscribe to certain events that happen in Xero.» (Med webhooks kan du abonnere på bestemte hendelser i Xero.) (kilde) Hendelsene som er relevante for produksjonsplanlegging, er Contact og Invoice, begge med CREATE og UPDATE.
Slik fungerer de:
- Én webhook per app dekker alle tilkoblede organisasjoner.
- Hver melding inneholder en hendelsesliste med ressurs-ID og hendelsestype. Mottakeren leser deretter ressursen.
- Hver melding signeres med en
x-xero-signature-header som genereres fra appens webhook-nøkkel. Xero sender en «Intent to receive»-kontroll før meldingene begynner å komme. - Xero prøver å sende mislykkede meldinger på nytt og deaktiverer en webhook ved vedvarende feil. Mottakeren svarer derfor raskt og utfører arbeidet etterpå.
Tilbud, varer og innkjøpsordrer har ingen webhook-hendelser. SkyPlanner leser dem med korte intervaller ved hjelp av If-Modified-Since. Når ingenting er endret, krever dette ett kall per entitet.
Datakobling
| Xero-objekt (endepunkt) | Objekt i SkyPlanner | Retning | Hyppighet |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Førstegangsinnlasting, deretter ved webhook |
Item, med og uten lagerføring, med QuantityOnHand (/Items) | Produkter og materialer, lagerbeholdning | Xero → SkyPlanner | Førstegangsinnlasting, deretter med If-Modified-Since |
Quote, Status ACCEPTED, med LineItems (/Quotes) | Order (external_order_number, delivery_date), jobber per linje | Xero → SkyPlanner | Periodisk avlesning med If-Modified-Since |
Invoice, Type ACCREC (verksteder som fakturerer først) (/Invoices) | Ordre og jobber | Xero → SkyPlanner | I sanntid via webhook |
PurchaseOrder med ExpectedArrivalDate eller DeliveryDate (/PurchaseOrders) | Innkommende materiale (estimated_delivery_date) | Xero → SkyPlanner | Periodisk avlesning med If-Modified-Since |
Notat i tilbudshistorikken (PUT /Quotes/{QuoteID}/History) | Planlagt sluttdato | SkyPlanner → Xero | Når produksjonsplanen endres |
Invoice, Type ACCREC, Status DRAFT, Reference = tilbudsnummer (POST /Invoices) | Fullført ordre | SkyPlanner → Xero | Når ordren er fullført |
Quote med Status INVOICED (POST /Quotes) | Fullført ordre | SkyPlanner → Xero | Når fakturaen opprettes |
Timeføring i Projects (POST /projects/{projectId}/time) | Mobile Confirmations, tidsregistreringer | SkyPlanner → Xero | Etter hvert som arbeid registreres |
| Finnes ikke i Xero | Arbeidsstasjoner, prosesstrinn, skift, fravær, omstillingstidsmatrise, verktøy, antall operatører, alternative arbeidsstasjoner | Vedlikeholdes i SkyPlanner | Settes opp under innføringen |
Integrasjonsmønstre
1. Førstegangsinnlasting av grunndata. Hent kontakter og varer side for side, deretter åpne innkjøpsordrer og aksepterte tilbud. Opprett kunder i SkyPlanner med Xeros ContactID som external_identifier, og produkter og materialer med varekoden som nøkkel. Sett deretter opp det Xero ikke inneholder: arbeidsstasjoner, prosesstrinn per produkt, skift, ferie og permisjoner og omstillingstider. Import fra CSV eller Excel er den raskeste måten å legge inn prosesstrinn på.
2. Ordresynkronisering. Les tilbud med jevne mellomrom med If-Modified-Since. Når et tilbud får status ACCEPTED, oppretter SkyPlanner en ordre med tilbudsnummeret som external_order_number. Verdien i delivery_date hentes fra feltet verkstedet bruker for lovet leveringsdato. Denne koblingen settes opp under innføringen. For hver tilbudslinje opprettes jobber som følger produktets prosesstrinn. Innkjøpsordrelinjer registreres som innkommende materialer med forventet ankomstdato, slik at jobbene venter på leveransen. En full avlesning av åpne tilbud og innkjøpsordrer hver natt fanger opp det som eventuelt er oversett.
3. Skriv tilbake produksjonsplanen og opplysninger om fullførte ordrer. Tre kall overfører resultatene til Xero:
- PUT
/Quotes/{QuoteID}/Historylegger til et notat med planlagt sluttdato. På et akseptert tilbud kan bare kontakt og notater endres, så datoen lagres i historikknotatet. (kilde) - Når ordren er fullført, oppretter POST
/Invoicesen salgsfaktura med Type ACCREC, Status DRAFT, tilbudets kontakt og varelinjer, og tilbudsnummeret som Reference. Regnskapsføreren din godkjenner og sender fakturaen i Xero. - POST
/Quotesmed QuoteID og Status INVOICED lukker tilbudet. Endring fra Accepted til Invoiced er en gyldig statusendring i Accounting API.
4. Registreringer fra produksjonsgulvet og prosjekttimer. Operatørene registrerer arbeid med SkyPlanner Mobile Confirmations, Production Timer eller Quick Log Mode. Fremdriften oppdaterer produksjonsplanen umiddelbart, og Autopilot planlegger resten på nytt. For prosjektarbeid sender SkyPlanner timene som timeføringer på prosjektoppgaven, med Xero-bruker, dato og varighet. (kilde)
5. Regler for dataeierskap og konflikter. Dokumenter dem før løsningen settes i drift:
| Data | Eier |
|---|---|
| Kontakter, varer, priser, tilbud, innkjøpsordrer, fakturaer, regnskap | Xero |
| Arbeidsstasjoner, prosesstrinn, skift, fravær, omstillingstidsmatrise, verktøy, alternative ressurser | SkyPlanner |
| Jobbrekkefølge, start- og sluttider, arbeidsstasjon per jobb | SkyPlanner |
| Notat om planlagt sluttdato på tilbudet | SkyPlanner, skrives til Xero |
| Fakturautkast for ferdige ordrer, prosjekttimer | SkyPlanner oppretter, Xero eier etter godkjenning |
Typiske prosjekttrinn
Implementeringen er normalt ferdig i løpet av noen uker etter at innføringen starter. Før det kan du bruke den gratis prøveperioden på 30 dager med egne data fra en CSV-eksport av kontakter, produkter og åpne tilbud fra Xero.
Selve prosjektet omfatter:
- Tilkobling. En Xero-administrator godkjenner SkyPlanner og velger organisasjon.
- Produksjonsgrunnlag. Avklar om aksepterte tilbud eller salgsfakturaer skal starte produksjonen.
- Feltkobling. Fastsett koblingstabellen, varekodene, fakturakontoene, standardverdiene for avgifter og reglene for dataeierskap.
- Første innlasting. Kontakter, varer, åpne innkjøpsordrer og aksepterte tilbud.
- Produksjonsmodell. Arbeidsstasjoner, prosesstrinn per produkt, skift, omstillingstidsmatrise, verktøy og antall operatører i SkyPlanner.
- Synkronisering. Webhooks for kontakter og fakturaer, polling med
If-Modified-Sincefor tilbud, varer og innkjøpsordrer, samt nattlig avstemming. - Tilbakeskriving. Først tilbudsnotater, deretter fakturautkast og tilbudsstatus, og til slutt prosjekttimer der dette brukes.
- Parallell testing og produksjonssetting. Sammenlign datoene i SkyPlanner med gjeldende plan, la regnskapsføreren kontrollere de første fakturautkastene, og aktiver deretter tilbakeskriving.
Dette må du ta høyde for i en Xero-integrasjon
- Ingen produksjonsobjekter i Xero. Legg prosesstrinnene for hvert produkt i SkyPlanner, knyttet til varekoden i Xero. Hold varekodene uendret.
- Tilbud har ingen webhook. Poll dem med
If-Modified-Sincemed korte intervaller, innenfor grensene per minutt og per dag. - Aksepterte tilbud er låst. Etter aksept kan bare kontaktopplysninger og notater endres. Derfor leses lovet dato én gang ved aksept, mens planlagt dato skrives som et historikknotat.
- Lagerbeholdningen følger salgs- og leverandørfakturaene. Xero oppdaterer beholdningen for lagerførte varer gjennom salgsfakturaer, leverandørfakturaer og kreditnotaer. Avklar med regnskapsføreren hvordan ferdigvarer og forbrukte materialer skal bokføres.
- Prosjekttimer krever Xero-brukere. Hver timeføring tilhører en Xero-bruker. Bestem hvilke operatører som skal føre timer i Xero Projects, og behold resten i SkyPlanner.
- Detaljerte tilgangsrettigheter. Be om detaljerte tilgangsrettigheter fra starten, siden brede tilgangsrettigheter er under utfasing.
- Appnivå. Partnernivået avgjør hvor mange organisasjoner en app kan koble til, og hvor mange kall den får per dag. Velg nivå ut fra antall fabrikker.
Xero-integrasjonen: Hvem setter den opp og gir brukerstøtte?
Arbeidet omfatter varene, tilbudene og innkjøpsordrene dine, og hvordan ferdig arbeid overføres til fakturering. Det tilfører det Xero ikke har: arbeidsstasjoner, prosesstrinn, skift, omstillingstidsmatrise, verktøy, antall operatører og alternative ressurser.
- SkyPlanner-teamet setter opp integrasjonen under innføringen og gir brukerstøtte etter produksjonssetting. Hvert verksted har sitt eget oppsett for varer, tilbud og lager i Xero. Denne kunnskapen brukes i oppsettet.
- Xero-rådgiveren eller integrasjonspartneren din kan bygge den. SkyPlanner tilbyr REST API, Swagger/OpenAPI-dokumentasjon og webhooks.
- Egne utviklere kan bygge videre på det med et API-token. Et API-token er nok for å komme i gang, og SkyPlanner-teamet hjelper til ved behov. Produktdokumentasjon, inkludert innkjøpsordrer og API-et for produkter og materialer, finnes i SkyPlanner-dokumentasjonen.
SkyPlanner koster fra 199 € per måned med 5 arbeidsstasjoner inkludert og faktureres månedlig. Du får et pristilbud på integrasjonen tilpasset prosessen og behovene dine, sammen med abonnementet, slik at du ser totalkostnaden før du starter. Se priser, funksjoner og hva Xero dekker alene i Har Xero produksjonsplanlegging? Du finner oversikten på Xero-siden og andre systemer under alle integrasjoner.
Produsentenes erfaringer med SkyPlanner
2 hspart hver uke
«SkyPlanner har tatt produksjonsplanleggingen vår fra Excel-regneark til produksjonsoptimalisering i sanntid.»
Kalle Kalliomäki, spesialist på forsyningskjeder
UTU · Elektriske tavler og koblingsanlegg
Produksjonsplanleggingen sparer 2 timers arbeidstid hver uke, og en ny jobbkø når produksjonslinjen på sekunder.
+90%produksjonseffektivitet
«Effektiviteten i produksjonen har økt med 90 %.»
Abdul Rucyinga, IT-sjef
Laboratory & Allied · Legemiddelproduksjon
Produksjonseffektiviteten har økt med 90 %, og det tar under 30 minutter å lage en optimalisert plan for tre måneder på tvers av alle arbeidsstasjoner.
Færrestans på grunn av materialmangel
«Verdien SkyPlanner gir oss, er et verktøy som fungerer i det daglige, særlig når vi skal fastsette leveringsdatoer.»
Tommi Männistö, produksjonsplanleggingssjef
Eskomatic · Maskinering på oppdrag
Automatisk planlegging av belastningen gir mer presise leveringsdatoer, og produksjonsstans som skyldes materialmangel, har gått kraftig ned.
Flere 1 000arbeidsordrer planlegges automatisk
«Vi har kontroll på produksjonen på en annen måte, og forståelsen vår av kapasiteten er på et helt annet nivå.»
Hannu Ryynänen, administrerende direktør
Mamec · Industrielle blandere, pumper og høyteknologisk kontraktsproduksjon
Tusenvis av arbeidsordrer planlegges automatisk, og hele organisasjonen har oversikt over produksjonen i sanntid.
Ofte stilte spørsmål
Har Xero et API for produksjonsdata?
Xero har Accounting API og Projects API, begge REST med OAuth 2.0. De dekker kontakter, varer, tilbud, fakturaer, innkjøpsordrer og timeføringer. Produksjonsdata som arbeidsstasjoner og prosesstrinn ligger i SkyPlanner.
Kan SkyPlanner skrive tilbake til Xero?
Ja. SkyPlanner legger planlagt ferdigdato til i historikken for hvert tilbud, oppretter et utkast til salgsfaktura med tilbudslinjene når ordren er ferdig, setter tilbudets status til Invoiced og overfører prosjekttimer.
Sender Xero endringer i sanntid?
Webhooks i Xero dekker kontakter og fakturaer. SkyPlanner bruker If-Modified-Since til å lese tilbud, varer og innkjøpsordrer som er endret siden forrige synkronisering, og avstemmer hver natt. Dermed kommer et nytt akseptert tilbud raskt inn i produksjonsplanen.
Hvor kommer stykklister, produksjonsruter og maskiner fra når Xero ikke har dem?
Fra SkyPlanner. Du setter opp arbeidsstasjoner, prosesstrinn per produkt, skift og omstillingstider én gang, manuelt eller ved import fra CSV eller Excel. Hvert produkt knyttes til varekoden i Xero, slik at nye aksepterte tilbud planlegges automatisk.
Kan vi teste SkyPlanner før vi bygger integrasjonen?
Ja. Den gratis prøveperioden på 30 dager støtter opptil 20 arbeidsstasjoner med CSV-import fra Xero, uten at du trenger kredittkort. Start prøveperioden, eller snakk med salg for å avklare omfanget av integrasjonen.