Integracje / ERP / Exact
Integracja Exact Online — przewodnik po planowaniu produkcji ze SkyPlanner APS
Ten przewodnik pokazuje partnerom Exact i zespołom IT, jak połączyć Exact Online Manufacturing ze SkyPlanner APS. Integracja SkyPlanner z Exact Online działa w obu kierunkach:
- Zlecenia produkcyjne, etapy marszrut technologicznych, plany materiałowe, gniazda produkcyjne, operacje i zestawienia materiałowe są pobierane przez REST API Exact Online.
- Pobierane są też dane artykułów, stany magazynowe, zamówienia zakupu i zamówienia sprzedaży, a webhooki Exact Online powiadamiają o zmianach.
- Planowane daty rozpoczęcia i zakończenia są zapisywane z powrotem w każdym etapie marszruty technologicznej i w zleceniu produkcyjnym.
- Zarejestrowany czas pracy operatorów jest zapisywany jako transakcje czasu pracy, a ilości gotowych wyrobów — jako przyjęcia ze zleceń produkcyjnych.
Podczas wdrożenia zespół SkyPlanner konfiguruje integrację zgodnie z konfiguracją Exact Online i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest przeznaczony dla partnerów i programistów, którzy chcą uczestniczyć w pracach lub samodzielnie tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner (dokumentacja API). Na końcu znajduje się krótka sekcja o Exact Globe+.
REST API Exact Online dla produkcji
Exact Online udostępnia dane przez jedno REST API, w którym zasoby są pogrupowane według usług. Ścieżka bazowa to /api/v1/{division}/<service>/<resource>, gdzie division oznacza firmę w Exact Online. Dokumentacja REST API wymienia następujące zasoby usługi manufacturing wykorzystywane do harmonogramowania:
| Zasób | Zawartość | Metody |
|---|---|---|
manufacturing/ShopOrders | Numer zlecenia produkcyjnego, artykuł, PlannedQuantity, PlannedStartDate, PlannedDate, status, znacznik zwolnienia do produkcji | GET, POST, PUT, DELETE |
manufacturing/ShopOrderRoutingStepPlans | Etap marszruty technologicznej dla zlecenia produkcyjnego: operacja, Workcenter, LineNumber, PlannedStartDate, PlannedEndDate, PlannedSetupHours, PlannedRunHours | GET, POST, PUT, DELETE |
manufacturing/ShopOrderMaterialPlans | Pozycje materiałowe dla zlecenia produkcyjnego | GET, POST, PUT, DELETE |
manufacturing/Workcenters | Kod, typ, obszar produkcji, wartość zdolności produkcyjnej, stawki | GET, POST, PUT, DELETE |
manufacturing/Operations, OperationResources | Operacje i przypisane do nich gniazda produkcyjne, czasy przezbrojenia i wykonania | GET, POST, PUT, DELETE |
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutings | Wersje BOM, komponenty i marszruta technologiczna | GET, POST, PUT, DELETE |
manufacturing/TimeTransactions | Godziny zarejestrowane dla zlecenia produkcyjnego i etapu marszruty technologicznej | GET, POST, PUT, DELETE |
manufacturing/ShopOrderReceipts | Ilości gotowych wyrobów przyjęte ze zlecenia produkcyjnego | GET, POST |
manufacturing/MaterialIssues | Materiały wydane na zlecenie produkcyjne | GET, POST |
manufacturing/ShopOrderPriorities | Tryb priorytetu dla zlecenia produkcyjnego | GET, PUT |
Zasoby z pozostałych usług:
| Zasób | Zawartość |
|---|---|
logistics/Items | Dane podstawowe artykułów |
inventory/ItemWarehouses | Stany magazynowe według artykułu i magazynu |
purchaseorder/PurchaseOrders, PurchaseOrderLines | Otwarte zamówienia zakupu i daty przyjęcia |
salesorder/SalesOrders, SalesOrderLines | Zapotrzebowanie klientów i terminy dostaw |
Uwierzytelnianie i dostęp
Exact Online korzysta z OAuth 2.0 z przepływem authorization code i tokenami odświeżania. Jak podaje Exact: „Before you can start integration with Exact Online, you must first register your app in the App Store.” (Przed rozpoczęciem integracji z Exact Online należy zarejestrować aplikację w App Store). (Pomoc Exact Online) Rejestrowanie aplikacji wymaga subskrypcji Exact Online Developer (Exact App Store).
- Integracja jest rejestrowana jako aplikacja z identyfikatorem URI przekierowania.
- Użytkownik Exact Online z dostępem do produkcji, gospodarki magazynowej i zakupów udziela jednorazowej zgody.
- Każde żądanie zawiera
Authorization: Bearer <access_token>oraz identyfikator firmy w ścieżce. - Tokeny dostępu są odnawiane za pomocą tokenu odświeżania. Exact ogranicza częstotliwość żądań nowego tokenu, dlatego przechowuj token w pamięci podręcznej do czasu jego wygaśnięcia.
Exact ogranicza też liczbę wywołań na minutę i na dzień dla każdej aplikacji i firmy oraz zaleca wywołania sekwencyjne zamiast równoległych. Aktualne limity opisano w artykule Exact o limitach API. Integracja uwzględnia te ograniczenia: korzysta z filtrowanych odczytów przy użyciu $filter i $select oraz z Sync API do obsługi zmian zbiorczych.
Po stronie SkyPlanner uwierzytelnianie w REST API odbywa się za pomocą 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 i cykliczne odpytywanie
Gdy w subskrybowanym temacie nastąpi zmiana, webhooki Exact Online wysyłają pod adres URL wywołania zwrotnego żądanie POST podpisane skrótem HMAC SHA256 (webhooki). Dostępne tematy obejmują Items, StockPosition, PurchaseOrders, PurchaseOrderLines, SalesOrders i SalesOrderLines. Dzięki nim zmiany stanów magazynowych, zakupów i zapotrzebowania trafiają do SkyPlanner na bieżąco.
Zlecenia produkcyjne i etapy marszrut technologicznych są odczytywane cyklicznie. Filtruj ShopOrders i ShopOrderRoutingStepPlans według pola Modified, a do odczytów zbiorczych używaj Sync API (ograniczenia API).
SkyPlanner wysyła własne webhooki po zmianie harmonogramu, więc zapis zwrotny do Exact Online jest wyzwalany zdarzeniami.
Mapowanie danych
| Zasób Exact Online | Obiekt SkyPlanner | Kierunek | Częstotliwość |
|---|---|---|---|
Items | Produkty i materiały | Exact Online → SkyPlanner | Wczytanie danych, następnie webhook |
BillOfMaterialVersions, BillOfMaterialMaterials | Struktura produktu, półprodukty, materiały przypisane do produktu | Exact Online → SkyPlanner | Po zmianie |
Workcenters, OperationResources | Stanowiska robocze, grupy stanowisk roboczych | Exact Online → SkyPlanner | Wstępne wczytanie danych |
Operations, BillOfMaterialRoutings | Etapy procesu z czasami przezbrojenia i wykonania | Exact Online → SkyPlanner | Po zmianie |
ShopOrders | Zlecenia z ilością i terminem realizacji | Exact Online → SkyPlanner | Co kilka minut |
ShopOrderRoutingStepPlans | Operacje z określoną kolejnością, przypisanym gniazdem produkcyjnym i czasami przezbrojenia oraz wykonania w godzinach | Exact Online → SkyPlanner | Co kilka minut |
ShopOrderMaterialPlans | Materiały przypisane do operacji | Exact Online → SkyPlanner | Co kilka minut |
ItemWarehouses, StockPosition | Stany magazynowe | Exact Online → SkyPlanner | Webhook |
PurchaseOrderLines | Zamówienia zakupu z przewidywanym terminem dostawy | Exact Online → SkyPlanner | Webhook |
SalesOrderLines | Terminy realizacji zamówień klientów i priorytet | Exact Online → SkyPlanner | Webhook |
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT) | Planowany początek, koniec i stanowisko robocze dla każdej operacji | SkyPlanner → Exact Online | Po zmianie, przez webhook |
ShopOrders: PlannedStartDate, PlannedDate (PUT) | Początek i koniec zlecenia | SkyPlanner → Exact Online | Po zmianie, przez webhook |
TimeTransactions (POST) | Wpisy czasu pracy i potwierdzenia operatorów | SkyPlanner → Exact Online | Po każdym potwierdzeniu lub raz na zmianę |
ShopOrderReceipts (POST) | Ilość wyprodukowana w ostatniej operacji | SkyPlanner → Exact Online | Po każdym potwierdzeniu |
| Dane nieprzechowywane w Exact Online | Macierz czasów przezbrojeń, narzędzia jako zasoby o ograniczonej dostępności, operatorzy przypisani do operacji, alternatywne stanowiska robocze, zmiany | Dane utrzymywane w SkyPlanner | Wdrożenie |
Schematy integracji
1. Początkowe wczytanie danych podstawowych. Odczytaj Workcenters, Operations i OperationResources, a następnie kartoteki towarowe i wersje BOM wraz z marszrutami technologicznymi. Gniazdo produkcyjne z trzema maszynami odwzorowuje się jako trzy stanowiska robocze lub jedną grupę stanowisk. Zmiany, nieobecności i nadgodziny konfiguruje się w SkyPlanner, ponieważ gniazdo produkcyjne w Exact ma tylko jedną wartość zdolności produkcyjnej.
2. Synchronizacja zleceń. Odczytaj otwarte ShopOrders wraz z ich ShopOrderRoutingStepPlans i ShopOrderMaterialPlans, a także stany magazynowe i pozycje zamówień zakupu. Przy tworzeniu harmonogramu sprawdzane są zarówno zapasy, jak i oczekiwane dostawy z zamówień zakupu. MRP nadal generuje propozycje zamówień w Exact Online, a SkyPlanner harmonogramuje utworzone zlecenia produkcyjne.
3. Zapis harmonogramu w Exact Online. Dla każdej operacji marszruty, którą silnik zaplanował lub przesunął, SkyPlanner wysyła żądanie PUT do ShopOrderRoutingStepPlans z polami PlannedStartDate, PlannedEndDate i Workcenter. Pola PlannedStartDate i PlannedDate zlecenia produkcyjnego odpowiadają terminom pierwszej i ostatniej operacji. Ilości, plany materiałowe i kalkulacja kosztów pozostają w Exact Online.
4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a wpisy czasu pracy pozwalają utrzymać aktualny harmonogram. Zarejestrowane godziny są zapisywane jako TimeTransactions dla zlecenia produkcyjnego i operacji marszruty, z rozróżnieniem na przezbrojenie i wykonanie. Końcowe potwierdzenie tworzy rekord ShopOrderReceipts z wyprodukowaną ilością. Jeśli zakład już rejestruje czas w Shop Floor Control, wybierz jeden kanał rejestracji.
5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:
| Dane | System odpowiedzialny |
|---|---|
| Kartoteki towarowe, BOM, ilości w zleceniach produkcyjnych, plany materiałowe, koszty | Exact Online |
| Kolejność operacji marszruty, terminy rozpoczęcia i zakończenia, przypisanie do gniazd produkcyjnych | SkyPlanner |
| Macierz czasów przezbrojeń, narzędzia, liczba operatorów na operację, alternatywne zasoby produkcyjne, zmiany | SkyPlanner |
| Wpisy czasu pracy i przyjęcia z produkcji | Exact Online, zasilany danymi ze SkyPlanner |
Głównym źródłem konfliktów są ręczne zmiany terminów. Jeśli planiści nadal zmieniają terminy zleceń produkcyjnych w Exact Online, odpowiadają za nie dwa systemy. Powierz SkyPlanner zarządzanie terminami operacji marszruty. Dzięki Autopilot SkyPlanner automatycznie aktualizuje harmonogram, gdy sytuacja na produkcji się zmienia.
Typowy przebieg projektu
Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia prac. Wcześniej sprawdź harmonogram podczas 30-dniowego bezpłatnego okresu próbnego, korzystając z otwartych zleceń produkcyjnych i operacji marszrut wyeksportowanych do CSV lub Excela. Następnie projekt przebiega tak:
- Określenie zakresu. Potwierdź edycję, jednostki organizacyjne, częstotliwość synchronizacji, kanał rejestracji czasu pracy i sposób księgowania przyjęć z produkcji.
- Aplikacja i zgoda. Zarejestruj aplikację. Następnie użytkownik Exact Online udziela zgody OAuth dla każdej jednostki organizacyjnej.
- Początkowe wczytanie danych. Gniazda produkcyjne, operacje, kartoteki towarowe, wersje BOM i marszruty technologiczne.
- Synchronizacja zleceń. Zlecenia produkcyjne, plany operacji marszrut i plany materiałowe są synchronizowane według harmonogramu, a stany magazynowe i zakupy — przez webhooki.
- Konfiguracja ograniczeń w SkyPlanner. Zmiany, macierz czasów przezbrojeń, narzędzia, liczba operatorów na operację oraz alternatywne maszyny lub pracownicy.
- Zapis harmonogramu w Exact Online. Najpierw planowane terminy operacji marszrut, a następnie wpisy czasu pracy i przyjęcia z produkcji.
- Testy równoległe i uruchomienie produkcyjne. Porównaj terminy z bieżącym planem, popraw dane podstawowe, a następnie włącz zapis danych do Exact Online.
Co uwzględnić przy integracji z Exact Online
- Czasy operacji marszruty. Pola
PlannedSetupHoursiPlannedRunHourspochodzą z marszruty powiązanej z BOM. Najpierw porównaj je z rzeczywistymi czasami wykonania. - Grupowanie gniazd produkcyjnych. Exact przechowuje jedną wartość zdolności produkcyjnej dla każdego gniazda. Dla każdego z nich zdecyduj, czy odwzorować je jako jedno stanowisko robocze, kilka stanowisk czy grupę.
- Kalendarze. Zmiany, dni wolne i nieobecności są przechowywane w SkyPlanner. Skonfiguruj je przed utworzeniem pierwszego harmonogramu.
- Limit wywołań. Exact ogranicza liczbę wywołań dla każdej aplikacji i firmy oraz oczekuje ich sekwencyjnego wykonywania. Korzystaj z webhooków tam, gdzie dostępne są odpowiednie tematy, stosuj
$filterdla polaModified, a do masowego odczytu używaj Sync API. - Wiele jednostek organizacyjnych. Każda jednostka organizacyjna w Exact Online to firma z własną ścieżką i osobną zgodą na dostęp. Przypisz każdy zakład do właściwej jednostki.
- Zlecenia zwolnione do produkcji. Ustal, dla których statusów SkyPlanner może zmieniać terminy: dla zleceń otwartych i zwolnionych do produkcji czy tylko otwartych.
- Jeden system odpowiedzialny za terminy. Gdy SkyPlanner przejmie zarządzanie terminami operacji marszruty, zaprzestań ręcznych zmian terminów w Exact Online.
Exact Globe+
Exact Globe+ to system ERP firmy Exact, sprzedawany i wdrażany przez partnerów Exact Globe+. Jak podaje Exact, system „koppelt eenvoudig en snel met andere systemen” (łatwo i szybko łączy się z innymi systemami) (Exact Globe+). SkyPlanner harmonogramuje zlecenia produkcyjne z Exact Globe+ w ten sam sposób: pobiera zlecenia produkcyjne, marszruty technologiczne, zasoby produkcyjne i stany magazynowe, a odsyła planowane terminy i zarejestrowane godziny. Partner Exact Globe+ i zespół SkyPlanner uzgadniają interfejs oraz obiekty do zapisu zwrotnego na etapie określenia zakresu.
Integracja z Exact Online: kto ją konfiguruje i zapewnia wsparcie
- Zespół SkyPlanner konfiguruje integrację podczas wdrożenia i zapewnia wsparcie po uruchomieniu produkcyjnym.
- Twój partner Exact może uczestniczyć w projekcie. Zna używane edycje, jednostki organizacyjne i konfigurację produkcji.
- Twoi programiści mogą rozbudować integrację, korzystając z udokumentowanego REST API SkyPlanner. Na początek wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby.
Po połączeniu systemów silnik Arcturus tworzy harmonogram na podstawie bieżących zleceń produkcyjnych z Exact Online, a planowane terminy trafiają do każdej operacji marszruty. Ceny SkyPlanner zaczynają się od 199 € miesięcznie za 5 stanowisk roboczych, z rozliczeniem miesięcznym. Integrację wyceniamy z góry, razem z wybranym planem, zgodnie z Twoim procesem i potrzebami. Dzięki temu znasz pełny koszt przed rozpoczęciem prac. Sprawdź cennik i funkcje, a porównanie z planowaniem dostępnym w samym Exact Online znajdziesz w artykule Harmonogramowanie produkcji w Exact Online. Ogólne informacje znajdziesz na stronie Exact Online, a pozostałe systemy ERP — na stronie integracji z ERP.
Opinie firm produkcyjnych o SkyPlanner
Mniej przestojó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 planowania produkcji
Eskomatic · Usługowa obróbka skrawaniem
Automatyczne harmonogramowanie obciążenia pozwala dokładniej wyznaczać terminy dostaw, a liczba przestojów produkcji spowodowanych brakami materiałowymi znacznie spadła.
1000+ zleceń produkcyjnych harmonogramowanych automatycznie
„Mamy zupełnie inną kontrolę nad produkcją, a nasza wiedza o zdolnościach produkcyjnych jest na całkiem innym poziomie.”
Hannu Ryynänen, prezes
Mamec · Mieszalniki 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.
Najczęściej zadawane pytania
Czy API Exact Online udostępnia zlecenia produkcyjne i operacje marszruty technologicznej?
Tak. Usługa obsługująca produkcję udostępnia zasoby ShopOrders, ShopOrderRoutingStepPlans, ShopOrderMaterialPlans, Workcenters, Operations oraz BOM. Wszystkie umożliwiają odczyt i zapis. Czas rejestruje się przez TimeTransactions, a ilości wyprodukowane — przez ShopOrderReceipts.
Jak planowane terminy są zapisywane z powrotem w Exact Online?
Dla każdej operacji, którą umieszcza w harmonogramie lub przesuwa, SkyPlanner wysyła żądanie PUT do ShopOrderRoutingStepPlans z polami PlannedStartDate, PlannedEndDate oraz Workcenter. Pola PlannedStartDate i PlannedDate zlecenia produkcyjnego są odpowiednio aktualizowane.
Kto tworzy integrację z Exact Online?
Podczas wdrożenia zespół SkyPlanner konfiguruje dwukierunkową integrację zgodnie z konfiguracją Exact Online w Twojej firmie i zapewnia jej wsparcie po uruchomieniu. W pracach może uczestniczyć Twój partner Exact. Twoi programiści mogą też stworzyć integrację, korzystając z udokumentowanego REST API SkyPlanner. Na początek wystarczy token API.
Czy Exact Online może wysyłać zmiany w czasie rzeczywistym?
Webhooki Exact Online wysyłają informacje o zmianach w artykułach, stanach magazynowych, zamówieniach zakupu i zamówieniach sprzedaży. Zlecenia produkcyjne i operacje marszruty technologicznej są odczytywane w krótkich odstępach za pomocą zapytań z filtrami. W przeciwnym kierunku webhooki SkyPlanner wysyłają zmiany harmonogramu na bieżąco.
Czy możemy przetestować SkyPlanner przed stworzeniem integracji?
Tak. Bezpłatny 30-dniowy okres próbny obejmuje do 20 stanowisk roboczych i pozwala importować zlecenia produkcyjne z plików CSV lub Excel. Karta kredytowa nie jest wymagana. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.