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

Integracje / ERP / Sage 200

Przewodnik po integracji Sage 200 ze SkyPlanner APS do harmonogramowania produkcji

Ten przewodnik po integracji Sage 200 pokazuje partnerom biznesowym i zespołom IT, jak połączyć Sage 200 Professional i jego dodatek produkcyjny ze SkyPlanner APS. Integracja SkyPlanner z Sage 200 działa w obu kierunkach:

  • Produkty, stany magazynowe, zamówienia zakupu i zamówienia sprzedaży są pobierane przez Sage 200 REST API.
  • Zlecenia produkcyjne, operacje oraz dane o pracownikach i maszynach są pobierane z dodatku produkcyjnego.
  • Planowane terminy operacji są zapisywane z powrotem w zleceniach produkcyjnych.
  • Rejestry czasu pracy operatorów trafiają z powrotem do systemu, aby przypisać czas do poszczególnych operacji.
Wykres Gantta w SkyPlanner APS z operacjami zaplanowanymi na stanowiskach roboczych i listą zleceń poniżej.

Podczas wdrożenia zespół SkyPlanner konfiguruje integrację zgodnie z konfiguracją Sage 200 i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest przeznaczony dla partnerów i programistów, którzy chcą uczestniczyć w tych pracach lub samodzielnie tworzyć rozwiązania z wykorzystaniem udokumentowanego REST API SkyPlanner (dokumentacja API).

Dwa źródła w jednym systemie Sage 200

Instalacja Sage 200 w zakładzie produkcyjnym składa się z dwóch warstw. Integracja odczytuje dane z obu.

1. Sage 200 REST API — dane handlowe i magazynowe. Według Sage API „lets your application read and modify data in a Sage 200 site” (umożliwia aplikacji odczytywanie i modyfikowanie danych w instalacji tego systemu). Obejmuje to klientów, dostawców, produkty, zamówienia sprzedaży i zakupu oraz konta księgi głównej. Dokumentacja Sage 200 Professional (2025.02) grupuje zasoby w kategoriach Cash Book, Commercials, Financials, General, Nominal, POP, Price Book, Purchases, Sales, SOP i Stock. Zasoby istotne dla harmonogramowania:

ZasóbZawartość
productsKod, nazwa, jednostka magazynowa, typ pozycji BOM, koszt standardowy
warehouse_holdingsquantity_in_stock, quantity_on_order, quantity_allocated_bom, free_stock_available, is_default_manufacturing_warehouse
pop_orders, pop_order_linesOtwarte zamówienia zakupu, line_quantity, requested_delivery_dates
sop_orders, sop_order_linesZapotrzebowanie klientów, requested_delivery_date, promised_delivery_date
warehouses, unitsLokalizacje i jednostki miary

2. Dodatek produkcyjny — zlecenia produkcyjne. API Sage 200 nie udostępnia endpointów dla zleceń produkcyjnych, operacji ani zasobów produkcyjnych. Zlecenia produkcyjne znajdują się w Sicon Works Order Processing, Cim200 lub starszym module Sage 200 Manufacturing. Integracja odczytuje zlecenia produkcyjne, operacje i zasoby produkcyjne metodą obsługiwaną przez dodatek, uzgodnioną z Tobą i Twoim partnerem Sage 200 na etapie określenia zakresu.

Uwierzytelnianie i dostęp

API Sage 200 „uses OAuth 2.0 with OpenID Connect” (korzysta z protokołu OAuth z OpenID Connect) w przepływie z kodem autoryzacyjnym. Logowanie odbywa się przez Sage ID.

  • Dołącz do Sage 200 API Developer Programme i wystąp o dane uwierzytelniające.
  • Powiąż Sage ID z użytkownikiem Sage 200 mającym dostęp do firmy i funkcji wymaganych przez używane endpointy.
  • Poproś o zakres offline_access — bez niego token odświeżania nie zostanie wydany.
  • W każdym żądaniu do bazy danych przesyłaj Authorization: Bearer <access_token>, X-Site i X-Company. Oba identyfikatory są pobierane z /sites.

Bazowy URL dla Sage 200 Professional: https://api.columbus.sage.com/uk/sage200extra/accounts/v1. Żądania korzystają z metod GET, POST, PUT i DELETE oraz opcji zapytań OData: $filter, $select, $top, $skip, $orderby i $expand.

W Sage 200 Professional API włącza dostawca wsparcia technicznego klienta. Na liście kontrolnej Sage potwierdza on, że „the API is enabled” (API jest włączone) oraz że „each required user has a Sage ID assigned.” (każdy użytkownik wymagający dostępu ma przypisane Sage ID). W Sage 200 Standard API jest domyślnie włączone.

Czas ważności tokenów wpływa na projekt integracji. Tokeny dostępu są ważne przez 8 godzin, a tokeny odświeżania — od 1 do 90 dni. Jak podaje Sage: „The refresh window is measured from the user’s initial sign-in, not from the most recent refresh.” (Okno odświeżania jest liczone od pierwszego logowania użytkownika, a nie od ostatniego odświeżenia). Sage stwierdza, że ponowne uwierzytelnienie „is unavoidable” (jest nieuniknione). Zaplanuj powiadomienie o konieczności ponownego wyrażenia zgody, zanim to okno się zamknie.

Po stronie SkyPlanner REST API korzysta z uwierzytelniania tokenem API (SkyPlanner Settings > API), a jego dokumentacja jest dostępna w Swagger/OpenAPI. Samouczek integracji prowadzi przez pierwsze wywołania.

Wykrywanie zmian

Dokumentacja API Sage 200 nie zawiera zasobów typu webhook ani subskrypcja. Zmiany są wykrywane przez cykliczne odpytywanie. Rekordy zawierają pola date_time_created i date_time_updated, więc każde zapytanie filtruje dane za pomocą $filter według date_time_updated i stronicuje wyniki za pomocą $top i $skip.

Odpytuj zlecenia produkcyjne co kilka minut, a stany magazynowe i pozycje zamówień zakupu — co godzinę. SkyPlanner wysyła webhooki po zmianie harmonogramu, więc zapis zwrotny jest wyzwalany zdarzeniami.

Mapowanie danych

Obiekt Sage 200 (źródło)Obiekt SkyPlannerKierunekCzęstotliwość
products, units (API)Produkty i materiałySage 200 → SkyPlannerImport, następnie cykliczne odpytywanie
Składniki BOM (dodatek lub moduł BOM)Struktura produktu, półprodukty, materiały przypisane do produktuSage 200 → SkyPlannerPo zmianie
Pracownicy i maszyny, grupy zasobów produkcyjnych (dodatek)Stanowiska robocze, grupy stanowisk roboczych, personelSage 200 → SkyPlannerImport początkowy
Dostępność zasobów produkcyjnych: przestoje, konserwacja, dni wolne (dodatek)Zmiany robocze, nieobecnościSage 200 → SkyPlannerCodziennie
Zlecenia produkcyjne i ich operacje, czasy poszczególnych operacji (dodatek)Zlecenia i operacje wraz z etapami, czasami trwania i terminami realizacjiSage 200 → SkyPlannerCo kilka minut
sop_order_lines: requested_delivery_date, promised_delivery_date (API)Terminy realizacji zamówień klientówSage 200 → SkyPlannerCykliczne odpytywanie
warehouse_holdings: quantity_in_stock, free_stock_available (API)Stany magazynoweSage 200 → SkyPlannerCo godzinę
pop_order_lines: line_quantity, requested_delivery_dates (API)Zamówienia zakupu z przewidywaną datą dostawySage 200 → SkyPlannerCo godzinę
Planowany początek i koniec operacji zlecenia produkcyjnego oraz przypisany zasób produkcyjnyPlanowany początek, koniec i stanowisko robocze dla każdej operacjiSkyPlanner → Sage 200Po zmianie, przez webhook
Ewidencja czasu operacji (dodatek)Rejestry czasu pracy i potwierdzenia operatorówSkyPlanner → Sage 200Po każdym potwierdzeniu lub raz na zmianę
Dane o ograniczeniach w SkyPlannerMacierz czasów przezbrojeń, narzędzia jako zasoby o ograniczonej dostępności, alternatywne maszyny i personelUtrzymywane w SkyPlannerPodczas wdrożenia

Schematy integracji

1. Początkowy import danych podstawowych. Pobierz produkty i jednostki z API, a następnie zasoby produkcyjne, ich grupy i operacje BOM z dodatku. Grupę trzech identycznych maszyn można odwzorować jako jedną grupę stanowisk roboczych lub trzy stanowiska robocze.

2. Synchronizacja zleceń. Odczytaj z dodatku otwarte zlecenia produkcyjne wraz z operacjami, a z API — otwarte pozycje pop_order_lines i dane warehouse_holdings. Harmonogram uwzględnia zarówno zapasy, jak i oczekiwane dostawy z zamówień zakupu. MRP nadal proponuje zlecenia produkcyjne w Sage 200, a SkyPlanner harmonogramuje te, które utworzysz.

3. Zapis zwrotny harmonogramu. Dla każdej operacji, którą silnik umieścił lub przesunął w harmonogramie, SkyPlanner przesyła z powrotem do zlecenia produkcyjnego planowany początek, koniec i przypisany zasób produkcyjny. Dodatek zachowuje własne dane dotyczące ilości, rezerwacji i kalkulacji kosztów.

4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a rejestry czasu pracy pozwalają na bieżąco aktualizować harmonogram. Zarejestrowany czas trafia z powrotem jako czas przypisany do operacji zlecenia produkcyjnego, dzięki czemu kalkulacja kosztów w Sage 200 uwzględnia rzeczywiste godziny pracy.

Jeśli zakład już ewidencjonuje czas w Sicon Shop Floor Data Capture lub Cim200 Shop Floor Data Capture, wybierz jeden kanał rejestracji.

5. Odpowiedzialność za dane i reguły rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:

DaneSystem odpowiedzialny
Produkty, BOM, ilości w zleceniach produkcyjnych, rezerwacje, kosztySage 200 i dodatek
Kolejność operacji, terminy rozpoczęcia i zakończenia, przypisanie stanowisk roboczychSkyPlanner
Macierz czasów przezbrojeń, wymagania dotyczące narzędzi i operatorów, alternatywne zasoby produkcyjneSkyPlanner
Ewidencja czasu pracySage 200, zasilany wpisami czasu pracy ze SkyPlanner

Głównym źródłem konfliktów jest wykres obciążenia zasobów produkcyjnych. Jeśli planiści nadal przesuwają zlecenia produkcyjne lub operacje w Sicon Rough Cut Capacity Planning lub Cim200 Graphical Scheduler, za terminy odpowiadają dwa systemy. Niech to SkyPlanner wyznacza terminy operacji. Dzięki Autopilot SkyPlanner automatycznie aktualizuje harmonogram, gdy sytuacja na produkcji się zmienia.

Typowe etapy projektu

Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia onboardingu. Wcześniej sprawdź harmonogram w ramach 30-dniowego bezpłatnego okresu próbnego, korzystając z eksportu otwartych zleceń produkcyjnych do CSV lub Excela. Następnie projekt przebiega tak:

  1. Określenie zakresu. Potwierdź dodatek i jego wersję, sposób odczytu zleceń produkcyjnych i zapisu zwrotnego, częstotliwość synchronizacji oraz kanał przekazywania ewidencji czasu pracy.
  2. Dostęp do API. Dostawca wsparcia włącza API Sage 200, przypisuje Sage ID do użytkownika Sage 200 i ustawia dostęp do firm oraz funkcji.
  3. Początkowe wczytanie danych. Produkty, jednostki, zasoby produkcyjne, grupy zasobów produkcyjnych, operacje BOM i dostępność.
  4. Synchronizacja zleceń i zamówień. Cykliczne odpytywanie o zlecenia produkcyjne, pozycje zamówień zakupu i stany magazynowe, z alertem o konieczności ponownego wyrażenia zgody.
  5. Konfiguracja ograniczeń w SkyPlanner. Macierz czasów przezbrojeń, narzędzia, liczba operatorów na operację oraz alternatywne maszyny lub pracownicy.
  6. Zapis zwrotny harmonogramu. Przekazanie planowanych terminów operacji do zleceń produkcyjnych. Na tym etapie dodaje się też ewidencję czasu pracy.
  7. Testy równoległe i uruchomienie produkcyjne. Porównaj terminy z bieżącym planem, popraw dane podstawowe, a następnie włącz zapis zwrotny.

Co uwzględnić przy integracji z Sage 200

  • Wycofany moduł w nowej wersji. Ze starszego modułu Sage 200 Manufacturing nie można korzystać od wersji Sage 200 Professional 2025 R2. Zanim zaczniesz mapować dane, potwierdź, które rozwiązanie do obsługi produkcji będzie działać w momencie uruchomienia.
  • Czasy operacji na podstawie danych kosztowych. Sicon MRP szacuje czas pracy ludzi i maszyn na podstawie pozycji kosztowych BOM w Sage 200. Najpierw porównaj te wartości z rzeczywistymi czasami wykonania.
  • Niezgodności w kategoriach kosztów. Sage ostrzega, że wartości Nominal, Overhead Nominal i Overhead Recovery % muszą być zgodne w operacjach BOM i kategoriach kosztów. W przeciwnym razie „there will be cost discrepancies.” (wystąpią rozbieżności w kosztach).
  • Okres odświeżania. Maksymalny okres 90 dni liczy się od pierwszego logowania. Integracja, w której zgoda nie jest ponawiana, przestaje działać tego samego dnia w każdym kwartale.
  • Instalacje z wieloma firmami. Jedna instalacja może obejmować kilka firm, dlatego w każdym żądaniu wysyłaj odpowiednią wartość X-Company.

Integracja z Sage 200: kto ją konfiguruje i zapewnia wsparcie

  1. Zespół SkyPlanner konfiguruje integrację podczas onboardingu i zapewnia wsparcie po uruchomieniu produkcyjnym.
  2. Twój partner biznesowy Sage 200 może uczestniczyć w projekcie. Partner zna Twój dodatek i włącza API w Sage 200 Professional.
  3. Twoi programiści mogą rozbudowywać integrację, korzystając z tego samego udokumentowanego REST API i tokena API. Do rozpoczęcia pracy wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby.

Po połączeniu systemów silnik Arcturus tworzy harmonogram na podstawie aktualnych zleceń produkcyjnych z Sage 200, a planowane terminy trafiają do operacji w tych zleceniach. Cena SkyPlanner zaczyna się od 199 € miesięcznie i obejmuje 5 stanowisk roboczych, przy rozliczeniu miesięcznym. Integrację wyceniamy z góry, zgodnie z Twoimi procesami i potrzebami, wraz z wybranym planem. Dzięki temu znasz pełny koszt przed rozpoczęciem prac. Sprawdź cennik i funkcje, a w artykule Harmonogramowanie produkcji w Sage 200 z uwzględnieniem dostępnych zdolności produkcyjnych zobacz, jak wypadają na tym tle własne narzędzia planowania Sage 200. Ogólne informacje znajdziesz na stronie Sage 200, a inne systemy ERP — w sekcji integracji z ERP.

Opinie firm produkcyjnych o SkyPlanner

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

2 hoszczędności co tydzień

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

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

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

Przeczytaj opinię UTU

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

1 000 i więcejzleceń produkcyjnych harmonogramowanych automatycznie

„Teraz kontrolujemy produkcję w inny sposób, a nasza wiedza o zdolnościach produkcyjnych jest na zupełnie innym poziomie.”

Hannu Ryynänen, dyrektor generalny
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.

Przeczytaj opinię Mamec

Najczęściej zadawane pytania

Czy API Sage 200 obsługuje zlecenia produkcyjne?

Nie. API Sage 200 Professional obejmuje między innymi produkty, stany magazynowe, zamówienia sprzedaży i zakupu oraz finanse, ale nie udostępnia zasobów API dla zleceń produkcyjnych ani operacji. Zlecenia produkcyjne są pobierane z dodatku do obsługi produkcji, takiego jak Sicon Works Order Processing lub Cim200, w sposób uzgodniony na etapie określania zakresu integracji.

Kto tworzy integrację z Sage 200?

Zespół SkyPlanner konfiguruje dwukierunkową integrację z Twoją instalacją Sage 200 podczas onboardingu i zapewnia wsparcie po uruchomieniu produkcyjnym. Twój partner biznesowy Sage 200 włącza API i może uczestniczyć w projekcie. Twoi programiści również mogą tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner. Do rozpoczęcia pracy wystarczy token API.

Czy Sage 200 może wysyłać zmiany w czasie rzeczywistym?

API Sage 200 nie obsługuje webhooków. Stany magazynowe i zamówienia zakupu są pobierane przez cykliczne odpytywanie na podstawie date_time_updated, a zlecenia produkcyjne są odczytywane z Twojego dodatku co kilka minut. W przeciwnym kierunku własne webhooki SkyPlanner wysyłają zmiany harmonogramu na bieżąco.

Czy możemy przetestować SkyPlanner przed utworzeniem integracji?

Tak. 30-dniowy bezpłatny okres próbny obejmuje do 20 stanowisk roboczych i umożliwia import zleceń produkcyjnych z plików CSV lub Excela. Karta płatnicza nie jest wymagana. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.