Łączy się z systemami ERP i MES takimi jak

Integracje / ERP / Xero

Przewodnik po integracji Xero ze SkyPlanner APS do planowania produkcji

Ten przewodnik pokazuje doradcom Xero, konsultantom i zespołom IT, jak połączyć Xero ze SkyPlanner APS. SkyPlanner integruje się z Xero dwukierunkowo przez Xero Accounting API i Projects API:

  • Do SkyPlanner trafiają kontakty, pozycje objęte ewidencją magazynową wraz ze stanami magazynowymi, zaakceptowane oferty oraz zamówienia zakupu z terminami dostaw.
  • Planowany termin zakończenia wraca do Xero jako notatka w historii każdej oferty.
  • Zakończone zlecenia wracają jako wersje robocze faktur sprzedaży z pozycjami i numerem referencyjnym oferty, a oferta otrzymuje status Invoiced.
  • Godziny zarejestrowane przy pracach projektowych wracają jako wpisy czasu pracy w Xero Projects.
  • Webhooki Xero informują o zmianach kontaktów i faktur, a webhooki SkyPlanner przekazują zmiany harmonogramu na bieżąco.
Wykres Gantta w SkyPlanner APS z operacjami zaplanowanymi na stanowiskach roboczych i listą zleceń poniżej.

Xero to oprogramowanie księgowe, więc nie przechowuje zestawień materiałowych, marszrut technologicznych, maszyn ani zleceń produkcyjnych. Stanowiska robocze, etapy procesu, zmiany robocze i czasy przezbrojeń są definiowane w SkyPlanner. Podczas wdrożenia zespół SkyPlanner konfiguruje integrację z organizacją w Xero i zapewnia jej wsparcie po uruchomieniu. Ten przewodnik jest przeznaczony dla doradców i programistów, którzy chcą uczestniczyć w tych pracach lub samodzielnie tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner (dokumentacja API).

Xero Accounting API

Xero to jeden produkt chmurowy w architekturze wielodostępnej, a wszystkie organizacje korzystają z tego samego API. Accounting API to REST API dostępne pod adresem https://api.xero.com/api.xro/2.0/, obsługujące JSON lub XML. Każde wywołanie wskazuje organizację w nagłówku Xero-tenant-id. (źródło)

Endpointy potrzebne do harmonogramowania:

  • Dane podstawowe: /Contacts (klienci i dostawcy), /Items (Code, IsTrackedAsInventory, QuantityOnHand).
  • Zapotrzebowanie: /Quotes (Status ACCEPTED, LineItems), a dla zakładów, które najpierw wystawiają fakturę — /Invoices z wartością ACCREC w polu Type.
  • Zaopatrzenie: /PurchaseOrders (DeliveryDate, ExpectedArrivalDate, LineItems z ItemCode).
  • Zapis zwrotny: /Quotes/{QuoteID}/History, /Invoices, /Quotes oraz Projects API pod adresem https://api.xero.com/projects.xro/2.0/projects/{projectId}/time.

Każdy endpoint zwracający listę obsługuje nagłówek If-Modified-Since, więc każda synchronizacja odczytuje tylko zmienione dane. Tworzenie i aktualizowanie rekordów odbywa się zbiorczo. Nie ma endpointów dla zestawień materiałowych, marszrut technologicznych ani zleceń produkcyjnych.

Uwierzytelnianie, zakresy uprawnień i limity

Xero korzysta z OAuth 2.0. Administrator Xero loguje się raz, zatwierdza aplikację i wybiera organizację. Aplikacja prosi o zakres offline_access, aby utrzymywać połączenie za pomocą tokenów odświeżania. (źródło)

Xero zastępuje szerokie zakresy uprawnień bardziej szczegółowymi i przydziela je nowym aplikacjom. Integracja do harmonogramowania wymaga następujących zakresów:

  • accounting.invoices — oferty, faktury, zamówienia zakupu i pozycje
  • accounting.contacts — klienci i dostawcy
  • accounting.settings.read — ustawienia pozycji
  • projects — wpisy czasu pracy
  • offline_access

Xero ogranicza liczbę wywołań dla każdej organizacji (równoczesnych, na minutę i na dzień) oraz dla każdej aplikacji. Po przekroczeniu limitu przez aplikację zwraca HTTP 429 z nagłówkiem Retry-After. Dzienny limit oraz liczba połączonych organizacji zależą od poziomu partnerskiego aplikacji. Obie wartości podano na stronie limitów API Xero. Webhooki, odczyty z If-Modified-Since i zapis zbiorczy pozwalają integracji do harmonogramowania działać z dużym zapasem względem tych limitów.

Po stronie SkyPlanner REST API używa do uwierzytelniania tokenu API w nagłówku Authorization-Token (SkyPlanner Settings > API). Dokumentacja jest dostępna w Swagger/OpenAPI. Samouczek integracji prowadzi przez pierwsze wywołania.

Webhooki

„Webhooks allow you to subscribe to certain events that happen in Xero.” (Webhooki umożliwiają subskrybowanie określonych zdarzeń w Xero.) (źródło) Dla harmonogramowania istotne są zdarzenia Contact i Invoice, w obu przypadkach z typami CREATE i UPDATE.

Jak działają:

  • Jeden webhook na aplikację obsługuje wszystkie połączone organizacje.
  • Każda dostarczona wiadomość zawiera tablicę zdarzeń z identyfikatorem zasobu i typem zdarzenia. Odbiorca następnie odczytuje zasób.
  • Każda wiadomość jest podpisana za pomocą nagłówka x-xero-signature, utworzonego na podstawie klucza webhooka aplikacji. Przed rozpoczęciem dostarczania Xero wysyła żądanie weryfikacyjne „Intent to receive”.
  • Xero ponawia nieudane próby dostarczenia i wyłącza webhook, jeśli błędy się powtarzają. Dlatego odbiorca odpowiada szybko, a przetwarzanie wykonuje później.

Oferty, pozycje i zamówienia zakupu nie mają zdarzeń webhook. SkyPlanner odpytuje je w krótkich odstępach z użyciem If-Modified-Since. Jeśli nic się nie zmieniło, wymaga to jednego wywołania na typ obiektu.

Mapowanie danych

Obiekt Xero (endpoint)Obiekt SkyPlannerKierunekCzęstotliwość
Contact, IsCustomer (/Contacts)Customer (external_identifier, delivery_priority)Xero → SkyPlannerImport początkowy, następnie po otrzymaniu webhooka
Item, z ewidencją magazynową i bez niej, z QuantityOnHand (/Items)Produkty i materiały, stany magazynoweXero → SkyPlannerImport początkowy, następnie odczyt z If-Modified-Since
Quote z wartością ACCEPTED w polu Status i z LineItems (/Quotes)Order (external_order_number, delivery_date), operacje dla każdej pozycjiXero → SkyPlannerCykliczne odpytywanie z If-Modified-Since
Invoice z wartością ACCREC w polu Type (zakłady wystawiające fakturę przed realizacją) (/Invoices)Order i operacjeXero → SkyPlannerW czasie rzeczywistym przez webhook
PurchaseOrder z ExpectedArrivalDate lub DeliveryDate (/PurchaseOrders)Oczekiwana dostawa materiału (estimated_delivery_date)Xero → SkyPlannerCykliczne odpytywanie z If-Modified-Since
Notatka w historii oferty (PUT /Quotes/{QuoteID}/History)Planowany termin zakończeniaSkyPlanner → XeroPo zmianie harmonogramu
Invoice, Type ACCREC, Status DRAFT, Reference = numer oferty (POST /Invoices)Zakończone zlecenieSkyPlanner → XeroPo zakończeniu zlecenia
Quote z wartością INVOICED w polu Status (POST /Quotes)Zakończone zlecenieSkyPlanner → XeroPo utworzeniu faktury
Wpis czasu pracy w Projects (POST /projects/{projectId}/time)Mobile Confirmations, rejestry czasu pracySkyPlanner → XeroNa bieżąco przy rejestrowaniu pracy
Brak w XeroStanowiska robocze, etapy procesu, zmiany robocze, nieobecności, macierz czasów przezbrojeń, narzędzia, liczba operatorów, alternatywne stanowiska roboczeUtrzymywane w SkyPlannerKonfigurowane podczas wdrożenia

Warianty integracji

1. Początkowy import danych podstawowych. Pobierz kolejne strony kontaktów i pozycji, a następnie otwarte zamówienia zakupu i zaakceptowane oferty. Utwórz klientów w SkyPlanner, używając ContactID z Xero jako external_identifier, a produkty i materiały — używając kodu pozycji jako klucza. Następnie zdefiniuj to, czego nie przechowuje Xero: stanowiska robocze, etapy procesu dla każdego produktu, zmiany robocze, urlopy i czasy przezbrojeń. Etapy procesu najszybciej zaimportujesz z pliku CSV lub Excel.

2. Synchronizacja zleceń. Odpytuj oferty z użyciem If-Modified-Since. Gdy oferta otrzyma status ACCEPTED, SkyPlanner tworzy zlecenie z numerem oferty w polu external_order_number. Wartość delivery_date pochodzi z pola, w którym zakład zapisuje obiecany termin; mapowanie ustala się podczas wdrożenia. Każda pozycja oferty jest przekształcana w operacje zgodnie z etapami procesu danego produktu. Pozycje zamówień zakupu stają się oczekiwanymi dostawami materiałów z przewidywanym terminem przybycia, więc operacje czekają na dostawę. Pełny odczyt otwartych ofert i zamówień zakupu każdej nocy wychwytuje pominięte zmiany.

3. Zapis zwrotny informacji o harmonogramie i zakończeniu zleceń. Trzy wywołania zapisują wyniki w Xero:

  • PUT /Quotes/{QuoteID}/History dodaje notatkę z planowanym terminem zakończenia. W zaakceptowanej ofercie można zmieniać tylko kontakt i notatki, dlatego termin zapisuje się w notatce w historii. (źródło)
  • Po zakończeniu zlecenia POST /Invoices tworzy fakturę sprzedaży z wartością ACCREC w polu Type i DRAFT w polu Status, kontaktem i pozycjami z oferty oraz numerem oferty w polu Reference. Osoba odpowiedzialna za księgowość zatwierdza ją i wysyła w Xero.
  • POST /Quotes z identyfikatorem QuoteID i wartością INVOICED w polu Status zamyka ofertę. Przejście ze statusu Accepted do Invoiced jest dozwolone w Accounting API.

4. Potwierdzenia z hali produkcyjnej i czas pracy przy projektach. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations, Production Timer lub Quick Log Mode. Postęp prac natychmiast aktualizuje harmonogram, a Autopilot przeplanowuje pozostałą pracę. W przypadku prac projektowych SkyPlanner zapisuje godziny jako wpisy czasu pracy przy zadaniu projektowym, wskazując użytkownika Xero, datę i czas trwania. (źródło)

5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem:

DaneSystem nadrzędny
Kontakty, pozycje, ceny, oferty, zamówienia zakupu, faktury, księgowośćXero
Stanowiska robocze, etapy procesu, zmiany robocze, nieobecności, macierz czasów przezbrojeń, narzędzia, alternatywne zasoby produkcyjneSkyPlanner
Kolejność operacji, terminy rozpoczęcia i zakończenia, stanowisko robocze przypisane do każdej operacjiSkyPlanner
Notatka o planowanym terminie zakończenia w ofercieSkyPlanner, z zapisem do Xero
Wersja robocza faktury za ukończone zlecenia, czas pracy przy projektachTworzy SkyPlanner, po zatwierdzeniu zarządza Xero

Typowe etapy projektu

Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia onboardingu. Wcześniej możesz skorzystać z 30-dniowego bezpłatnego okresu próbnego na własnych danych: kontaktach, produktach i otwartych ofertach wyeksportowanych z Xero do pliku CSV.

Sam projekt obejmuje:

  1. Połączenie. Administrator Xero zatwierdza dostęp dla SkyPlanner i wybiera organizację.
  2. Źródło zapotrzebowania. Ustal, czy produkcję uruchamiają zaakceptowane oferty, czy faktury sprzedaży.
  3. Mapowanie. Ustal tabelę mapowania, kody pozycji, konta księgowe dla faktur, domyślne ustawienia podatków oraz zasady odpowiedzialności za dane.
  4. Wstępne ładowanie danych. Kontakty, pozycje, otwarte zamówienia zakupu i zaakceptowane oferty.
  5. Model produkcji. Stanowiska robocze, operacje dla poszczególnych produktów, zmiany robocze, macierz czasów przezbrojeń, narzędzia i liczba operatorów w SkyPlanner.
  6. Synchronizacja. Webhooki dla kontaktów i faktur, cykliczne odpytywanie ofert, pozycji i zamówień zakupu z użyciem If-Modified-Since oraz nocna kontrola zgodności danych.
  7. Zapis zwrotny. Najpierw notatki do ofert, następnie wersje robocze faktur i statusy ofert, a na końcu czas pracy przy projektach, jeśli jest ewidencjonowany.
  8. Testy równoległe i uruchomienie. Porównaj terminy w SkyPlanner z obecnym planem, zleć księgowości sprawdzenie pierwszych wersji roboczych faktur, a następnie włącz zapis zwrotny.

Co uwzględnić przy integracji z Xero

  • Brak obiektów produkcyjnych w Xero. Przechowuj operacje dla poszczególnych produktów w SkyPlanner i powiąż je z kodem pozycji w Xero. Nie zmieniaj kodów pozycji.
  • Oferty nie obsługują webhooków. Odpytuj je w krótkich odstępach za pomocą If-Modified-Since, przestrzegając limitów minutowych i dziennych.
  • Zaakceptowane oferty są zablokowane. Po akceptacji można zmieniać tylko dane kontaktowe i notatki. Dlatego zadeklarowany termin jest odczytywany jednorazowo w chwili akceptacji, a planowany termin jest zapisywany jako notatka w historii.
  • Stany magazynowe wynikają z faktur sprzedaży i zakupu. Xero aktualizuje ilość na stanie na podstawie faktur sprzedaży, faktur zakupu i korekt dla pozycji objętych ewidencją magazynową. Ustal z księgowością, jak rozliczać wyroby gotowe i zużyte materiały.
  • Ewidencja czasu projektów wymaga użytkowników Xero. Wpisy czasu pracy są przypisane do użytkownika Xero. Zdecyduj, którzy operatorzy mają rejestrować czas w Xero Projects, a ewidencję pozostałych pozostaw w SkyPlanner.
  • Szczegółowe zakresy uprawnień. Wnioskuj o szczegółowe zakresy uprawnień od samego początku, ponieważ szerokie zakresy są wycofywane.
  • Poziom partnerski aplikacji. Poziom partnerski określa, z iloma organizacjami aplikacja może się połączyć i ile wywołań dziennie może wykonać. Dobierz go do liczby zakładów.

Integracja z Xero: kto ją konfiguruje i zapewnia wsparcie

Prace obejmują pozycje, oferty, zamówienia zakupu oraz sposób przekazywania ukończonych zleceń do fakturowania. Uzupełniają też dane, których Xero nie przechowuje: stanowiska robocze, operacje, zmiany robocze, macierz czasów przezbrojeń, narzędzia, liczbę operatorów i alternatywne zasoby produkcyjne.

  1. Zespół SkyPlanner konfiguruje integrację podczas onboardingu i zapewnia wsparcie po uruchomieniu. Każdy zakład inaczej konfiguruje pozycje, oferty i stany magazynowe w Xero. Ta wiedza jest wykorzystywana właśnie na tym etapie.
  2. Integrację może zbudować Twój doradca Xero lub partner integracyjny. SkyPlanner udostępnia REST API, dokumentację Swagger/OpenAPI i webhooki.
  3. Twoi programiści mogą samodzielnie zbudować integrację, korzystając z tokenu API. Do rozpoczęcia pracy wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby. Dokumentację produktu, w tym zamówień zakupu oraz API produktów i materiałów, znajdziesz w dokumentacji SkyPlanner.

Cena SkyPlanner zaczyna się od 199 € miesięcznie i obejmuje 5 stanowisk roboczych, przy rozliczeniu miesięcznym. Integracja jest wyceniana z góry, razem z wybranym planem, stosownie do Twojego procesu i potrzeb. Dzięki temu znasz pełny koszt przed rozpoczęciem. Sprawdź cennik, funkcje oraz zakres możliwości samego Xero w artykule Czy Xero obsługuje planowanie produkcji? Ogólne informacje znajdziesz na stronie Xero, a pozostałe systemy w zestawieniu wszystkich integracji.

Opinie firm produkcyjnych o SkyPlanner

Kalle Kalliomäki, specjalista ds. łańcucha dostaw w UTU, na hali produkcji rozdzielnic w Ulvila

2 hoszczędności co tydzień

„Dzięki SkyPlanner przeszliśmy od planowania produkcji w arkuszach Excel do optymalizacji produkcji w czasie rzeczywistym.”

Kalle Kalliomäki, specjalista ds. łańcucha dostaw
UTU · Rozdzielnice i aparatura łączeniowa

Planowanie produkcji pozwala zaoszczędzić 2 godziny pracy tygodniowo, a nowa kolejka zadań trafia na linię w ciągu kilku sekund.

Przeczytaj opinię UTU

Operatorzy w kombinezonach do pomieszczeń czystych przy linii napełniania butelek w zakładzie farmaceutycznym Laboratory & Allied w Nairobi

+90%wydajności produkcji

„Wydajność produkcji wzrosła o 90%.”

Abdul Rucyinga, szef działu IT
Laboratory & Allied · Produkcja farmaceutyczna

Wydajność produkcji wzrosła o 90%, a przygotowanie zoptymalizowanego planu na trzy miesiące dla wszystkich stanowisk roboczych zajmuje mniej niż 30 minut.

Przeczytaj opinię Laboratory & Allied

Mniejprzestojów z powodu braków materiałowych

„Wartość SkyPlanner polega dla nas na tym, że to narzędzie sprawdza się w codziennej pracy, zwłaszcza przy ustalaniu terminów dostaw.”

Tommi Männistö, kierownik ds. planowania produkcji
Eskomatic · Usługowa obróbka skrawaniem

Automatyczne harmonogramowanie obciążenia pozwala precyzyjniej określać terminy dostaw, a liczba przestojów produkcji spowodowanych brakami materiałowymi znacznie spadła.

Przeczytaj opinię Eskomatic

Hannu Ryynänen, dyrektor generalny Mamec, w hali produkcyjnej firmy w Lohja

1 000 i więcejzleceń produkcyjnych harmonogramowanych automatycznie

„Mamy teraz zupełnie inną kontrolę nad produkcją, a nasza wiedza o zdolnościach produkcyjnych jest na całkiem innym poziomie.”

Hannu Ryynänen, dyrektor generalny
Mamec · Mieszadła przemysłowe, pompy i zaawansowana technologicznie produkcja kontraktowa

Tysiące zleceń produkcyjnych są harmonogramowane automatycznie, a cała organizacja ma wgląd w produkcję w czasie rzeczywistym.

Przeczytaj opinię Mamec

Najczęściej zadawane pytania

Czy Xero udostępnia API do danych produkcyjnych?

Xero udostępnia Accounting API i Projects API — oba oparte na REST z OAuth 2.0. Obejmują one kontakty, pozycje, oferty, faktury, zamówienia zakupu i wpisy czasu pracy. Dane produkcyjne, takie jak stanowiska robocze i operacje, są przechowywane w SkyPlanner.

Czy SkyPlanner może przekazywać dane z powrotem do Xero?

Tak. SkyPlanner dodaje planowany termin zakończenia do historii każdej oferty. Po ukończeniu zlecenia tworzy wersję roboczą faktury sprzedaży z pozycjami z oferty, zmienia status oferty na Invoiced i przesyła wpisy czasu pracy przy projektach.

Czy Xero przesyła zmiany w czasie rzeczywistym?

Webhooki Xero obejmują kontakty i faktury. SkyPlanner odczytuje oferty, pozycje i zamówienia zakupu zmienione od ostatniej synchronizacji za pomocą If-Modified-Since, a co noc uzgadnia dane. Dzięki temu nowa zaakceptowana oferta szybko trafia do harmonogramu.

Skąd pochodzą zestawienia materiałowe, marszruty technologiczne i maszyny, skoro Xero ich nie przechowuje?

Ze SkyPlanner. Stanowiska robocze, operacje dla poszczególnych produktów, zmiany robocze i czasy przezbrojeń konfigurujesz jednorazowo — ręcznie lub przez import z pliku CSV albo Excel. Każdy produkt jest powiązany z kodem pozycji w Xero, dzięki czemu nowe zaakceptowane oferty automatycznie trafiają do harmonogramu produkcji.

Czy możemy przetestować SkyPlanner przed zbudowaniem integracji?

Tak. W ramach 30-dniowego bezpłatnego okresu próbnego możesz korzystać z maksymalnie 20 stanowisk roboczych i importować dane z Xero przez CSV. Karta kredytowa nie jest wymagana. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby ustalić zakres integracji.