Zlecenie produkcyjne istnieje w systemie ERP na długo przed tym, zanim ktokolwiek dotknie materiału na hali. Emisja zleceń produkcyjnych to moment, w którym zamiar wytworzenia wyrobu zmienia się w dokument wykonawczy: z numerem i terminem, z ilością do wykonania oraz powiązaniami z magazynem.

Poniżej opisujemy ten moment w systemie HermesSQL firmy Humansoft. Fakty o funkcjach programu pochodzą z jego opisu w tym serwisie: zlecenie główne z podzleceniami na półprodukty, automatyczna rezerwacja surowców, wydanie materiałów, przewodniki warsztatowe i rozliczenie ilości. Mechanizmy ogólne (statusy, numeracja, transakcje) opisujemy jako wiedzę inżynierską o systemach klasy ERP, a nie jako specyfikację konkretnego modułu.

Emisja zleceń produkcyjnych w praktyce firmy wytwórczej

Plan produkcji mówi, ile wyrobów firma zamierza wytworzyć w danym okresie. Zlecenie produkcyjne mówi, że konkretna partia ma powstać teraz, według konkretnej technologii i z konkretnych materiałów. Między jednym a drugim leży emisja. Od tej chwili zlecenie ma numer, a do tego obciąża zasoby i blokuje surowce w magazynie.

Emisja a planowanie

Planowanie pracuje na zapotrzebowaniu i zdolnościach, czyli na liczbach. Emisja zamienia liczby na dokumenty, które można wydrukować i zameldować, a potem rozliczyć. Zapotrzebowanie wynikające z planu opisujemy osobno w artykule o planowaniu produkcji w HermesSQL, a tutaj zaczynamy od decyzji o uruchomieniu.

Kto i kiedy emituje

W małej firmie emituje kierownik produkcji, w większej planista albo dyspozytor wydziału. Decyzja zależy od tego, czy zlecenie ma pokrywać zamówienie klienta, czy uzupełniać zapas. Sam system nie rozstrzyga, który model jest lepszy. Rozstrzyga o tym rytm sprzedaży i czas przezbrojeń.

Palety z kartonami opatrzonymi etykietami na regale - materiały i wyroby powiązane ze zleceniem produkcyjnym
Materiały i wyroby wskazane na zleceniu muszą mieć odzwierciedlenie w stanach magazynowych już w chwili emisji.

Moment emisji - z planu i z zamówienia

Zlecenie może powstać z dwóch źródeł i każde z nich ustawia inny punkt startu. Emisja z planu wynika z harmonogramu i prognozy. Emisja z zamówienia wynika z konkretnego zobowiązania wobec klienta.

Emisja z planu produkcji

Pozycje planu grupują zapotrzebowanie z kilku źródeł w jedną partię wykonawczą. Dzięki temu wiele niewielkich potrzeb można zrealizować jednym zleceniem, co skraca przezbrojenia. Cena tego rozwiązania to oddalenie zlecenia od konkretnego klienta: gotowy wyrób trafia na zapas, a dopiero później jest przypisywany do zamówień.

Emisja z zamówienia klienta

Tutaj zlecenie dziedziczy termin i ilość po zamówieniu, a każda zmiana zamówienia wymaga decyzji, co zrobić ze zleceniem w toku. Model ten jest naturalny przy produkcji jednostkowej i krótkich seriach. Zamówienia i ich rezerwacje na stanach opisuje artykuł o bilansie zamówień i rezerwacji.

CechaEmisja z planuEmisja z zamówienia
Skąd bierze się ilośćSuma zapotrzebowania z okresu planistycznegoIlość z pozycji zamówienia
Kto ustala terminPlanista, na podstawie zdolnościKlient, przez termin dostawy
Wyrób po zakończeniuTrafia na zapasJest przypisany do zamówienia
Główne ryzykoNadprodukcja i zamrożone zapasyWiele małych zleceń i częste przezbrojenia

Reguła: zlecenie emitujemy dopiero wtedy, gdy technologia wyrobu jest zatwierdzona i kompletna. Zlecenie bez marszruty albo bez rozpiski materiałowej da się wydrukować, ale nie da się go rzetelnie rozliczyć.

Co powstaje przy emisji zlecenia

Emisja nie tworzy jednego rekordu, tylko cały zestaw powiązanych danych. W opisie HermesSQL wyróżniamy zlecenie główne i podzlecenia na półprodukty, a do tego rezerwację surowców potrzebnych do realizacji. Rozpiska i marszruta oraz numer są zwykłą konsekwencją tego, jak działa zlecenie w każdym systemie ERP.

Rozpiska materiałowa i podzlecenia na półprodukty

Na podstawie struktury wyrobu system rozwija zapotrzebowanie na kolejne poziomy. Jeżeli w strukturze występuje półprodukt, który firma wytwarza sama, dla niego powstaje podzlecenie z własnym terminem i własną rozpiską. Zlecenie główne czeka wtedy na ukończenie podzleceń. Definicję struktury i zamienników opisujemy w artykule o technologiach BOM w HermesSQL.

Marszruta technologiczna zlecenia

Marszruta określa kolejność operacji, do których przypisano stanowiska i normatywy czasu. Przy emisji jej kopia trafia do zlecenia, dzięki czemu późniejsza zmiana technologii nie zmienia przebiegu zleceń już uruchomionych. To samo dotyczy operacji wykonywanych u kooperanta, które opisuje osobny tekst o zleceniach kooperacyjnych.

Rezerwacja surowców

Rezerwacja odejmuje surowiec od stanu dostępnego, nie zmieniając stanu fizycznego. Magazyn nadal widzi towar na półce, jednak nie można go już obiecać w sprzedaży ani w innych zleceniach. HermesSQL rezerwuje surowce automatycznie, co według opisu programu ogranicza przestoje wynikające z braków materiałowych. Poniżej uproszczony przykład, jak taka operacja wygląda po stronie bazy SQL Server.

-- przykładowy schemat: rezerwacja surowców w chwili emisji zlecenia
BEGIN TRY
    BEGIN TRANSACTION;

    INSERT INTO dbo.RezerwacjaSurowca (ZlecenieId, TowarId, IloscZarezerwowana)
    SELECT @ZlecenieId, r.TowarId, r.IloscNaSztuke * @IloscPlan
    FROM dbo.RozpiskaMaterialowa AS r
    WHERE r.WyrobId = @WyrobId;

    -- wariant restrykcyjny: emisja zatrzymana, gdy rezerwacja przekracza stan dostępny
    IF EXISTS (SELECT 1
               FROM dbo.RezerwacjaSurowca AS z
               JOIN dbo.StanDostepny AS s ON s.TowarId = z.TowarId
               WHERE z.ZlecenieId = @ZlecenieId
                 AND z.IloscZarezerwowana > s.IloscDostepna)
        THROW 50001, N'Brak surowca do pełnej rezerwacji zlecenia.', 1;

    COMMIT TRANSACTION;
END TRY
BEGIN CATCH
    IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION;
    THROW;
END CATCH;

Zapis w jednej transakcji gwarantuje, że rezerwacja powstaje w całości albo wcale. Część firm wybiera wariant łagodniejszy: zlecenie zostaje wyemitowane mimo braku surowca, a niedobór trafia do raportu zakupowego. Wybór zależy od tego, czy zlecenie ma blokować halę, czy sygnalizować potrzebę zamówienia.

Numeracja i identyfikacja zlecenia

Każde zlecenie dostaje numer, który pojawia się na przewodniku warsztatowym oraz w meldunkach, a potem w rozliczeniu. Po stronie SQL Server numerację można oprzeć na obiekcie SEQUENCE, a prefiks z rokiem dokleić przy odczycie.

-- przykładowa numeracja zleceń z licznikiem po stronie serwera
CREATE SEQUENCE dbo.NumerZlecenia AS int START WITH 1 INCREMENT BY 1;

SELECT CONCAT('ZP/', YEAR(GETDATE()), '/',
              FORMAT(NEXT VALUE FOR dbo.NumerZlecenia, '00000')) AS NumerZlecenia;

Licznik z SEQUENCE nie cofa się po wycofanej transakcji, więc w numeracji mogą pojawić się luki. Dla zleceń produkcyjnych zwykle to nie przeszkadza. Jeżeli firma wymaga numeracji bez luk, licznik trzyma się w tabeli i blokuje na czas nadania numeru.

Karton z kodem QR na etykiecie - identyfikacja partii produkcyjnej przypisanej do zlecenia
Numer zlecenia i kod partii łączą wyrób z zapisem produkcji, co ma znaczenie przy późniejszym śledzeniu partii.

Statusy zlecenia produkcyjnego

Status mówi, co wolno zrobić ze zleceniem w danej chwili. Nazwy statusów i ich liczba zależą od systemu i konfiguracji, więc poniższa tabela pokazuje typowy cykl życia, a nie listę z konkretnego programu.

StatusCo oznaczaCo jest dozwolone
PlanowaneZlecenie istnieje, ale nie zablokowało zasobówEdycja ilości i terminu
WyemitowaneZlecenie ma numer i rozpiskę oraz rezerwacjęDruk przewodnika, wydanie materiałów
W realizacjiZameldowano pierwszą operacjęMeldunki, dopisanie zużycia
ZakończoneWykonano ilość, ruchy magazynowe zaksięgowaneRozliczenie ilości i kosztów
ZamknięteRozliczenie zatwierdzoneTylko odczyt

Przejścia między statusami

Każde przejście ma warunek. Zlecenie przechodzi z wyemitowanego do realizacji dopiero po pierwszym meldunku, a do zamknięcia po rozliczeniu ilości. Cofnięcie statusu wymaga uprawnień, bo pociąga za sobą wycofanie ruchów magazynowych.

  • Warunek wejścia - lista wymagań, które muszą być spełnione przed zmianą statusu, na przykład kompletna marszruta.
  • Skutek uboczny - operacja wykonywana automatycznie przy zmianie, na przykład zwolnienie niewykorzystanej rezerwacji.

Reguła: zlecenia nie zamykamy, dopóki rozliczenie ilości nie zgadza się z ruchami magazynowymi. Różnica ujawni się później w kosztach, ale wtedy nikt już nie pamięta jej przyczyny.

Operacje wykonywane z poziomu zlecenia

Po emisji zlecenie staje się centrum pracy dla planisty i magazyniera. Według opisu HermesSQL z jednego zlecenia można wykonać kilka podstawowych czynności, które dotąd wymagały osobnych dokumentów.

  • Wydanie surowców - przekazanie zarezerwowanych materiałów na produkcję z odpowiednim ruchem magazynowym.
  • Przewodniki warsztatowe - wydruk dokumentu towarzyszącego zleceniu na hali, z listą operacji oraz ilościami.
  • Stopień realizacji - podgląd, na jakim etapie jest wytwarzanie i ile zostało do wykonania.
  • Rozliczenie ilości - zamknięcie zlecenia z wykonaną ilością, co daje podstawę do kalkulacji kosztów.

Wydanie materiałów a stany magazynowe

Wydanie zamienia rezerwację w rozchód. Do momentu wydania towar liczy się jeszcze w stanie fizycznym, po wydaniu przechodzi na produkcję. Bilans takich ruchów opisuje strona o stanach magazynowych, a w HermesSQL dochodzi do tego wbudowany moduł WMS opisany na stronie o rozwiązaniu dla produkcji.

Meldunki i rozliczenie

Zlecenie żyje od meldunków, czyli zapisów wykonanych operacji oraz ilości. Sposób ich wprowadzania omawia artykuł o zarządzaniu produkcją w HermesSQL, a bezpośrednią rejestrację na hali opisują panele produkcyjne. Rozliczenie porównuje ilość zameldowaną z ilością planowaną i zamyka zlecenie.

Emisja seryjna i jednostkowa a zmiany zlecenia

Opis HermesSQL wymienia obsługę produkcji seryjnej oraz jednostkowej, a emisja wygląda w nich inaczej. Przy serii zlecenie obejmuje partię wyrobów oraz wspólną rozpiskę z jedną marszrutą. Przy produkcji jednostkowej każde zlecenie bywa osobnym projektem, często z indywidualną strukturą.

Emisja partii seryjnej

Wielkość partii wynika z ekonomii przezbrojenia, a nie z pojedynczego zamówienia. Zlecenie na dużą partię skraca liczbę przezbrojeń, ale angażuje surowiec na dłużej. Rezerwacja obejmuje wtedy całą partię z góry, więc w bilansie magazynowym znika ilość, której firma jeszcze nie zużyła.

Emisja zlecenia jednostkowego

Zlecenie jednostkowe zwykle wynika z zamówienia i niesie ze sobą własne wymagania klienta. Struktura wyrobu bywa modyfikowana już przy emisji, dlatego kopia technologii w zleceniu jest tu szczególnie ważna. Zmiana wprowadzona dla jednego klienta nie może zmieniać rozpiski wyrobu wzorcowego.

Zmiany zlecenia po emisji

Rzeczywistość rzadko trzyma się planu, więc zlecenie po emisji zmienia się niemal zawsze. Zmiana ilości pociąga za sobą przeliczenie rezerwacji, a zmiana terminu wymusza sprawdzenie terminów podzleceń.

Zmiana ilości i terminu

Zmniejszenie ilości zwalnia część rezerwacji, którą inne zlecenia mogą wykorzystać od razu. Zwiększenie wymaga ponownego sprawdzenia dostępności, bo dodatkowy surowiec może być już zarezerwowany. Przesunięcie terminu zlecenia głównego przesuwa też terminy podzleceń, chyba że mają one sztywny termin z powodu dostawy zewnętrznej.

Anulowanie zlecenia

Anulowanie zwalnia rezerwacje, ale nie cofa ruchów już wykonanych. Jeżeli surowiec został wydany na produkcję, musi wrócić na magazyn osobnym dokumentem albo zostać rozliczony jako strata. Dlatego status anulowania powinien być dostępny tylko dla zleceń, które nie przekroczyły etapu wydania.

Typowe błędy i kontrola przy emisji

Błędy pojawiają się zwykle na styku danych technologicznych i magazynowych, a nie w samym mechanizmie emisji. Objawy są podobne w każdym systemie klasy ERP.

Nieaktualna technologia

Zlecenie skopiowało rozpiskę sprzed zmiany materiału. Na hali wydawany jest surowiec, którego już nie ma w strukturze wyrobu, a stan rezerwacji nie zgadza się z rzeczywistością. Pomaga wersjonowanie technologii i data obowiązywania, opisane w artykule o procesach technologicznych.

Emisja bez sprawdzenia dostępności

Zlecenie zostało wyemitowane, choć surowca zabraknie za trzy dni. Wykryje to dopiero magazynier przy wydaniu. Rozwiązaniem jest raport niedoborów uruchamiany przed emisją oraz wariant restrykcyjny z transakcją, jak w przykładzie powyżej.

Podzlecenia bez własnych terminów

Półprodukt wyprodukowany dzień po terminie zlecenia głównego blokuje cały wyrób. Termin podzlecenia liczy się wstecz od terminu zlecenia głównego, z zapasem na transport wewnętrzny i kontrolę jakości.

BłądObjaw na haliKontrola
Stara rozpiskaWydawany jest zły surowiecData obowiązywania technologii
Brak sprawdzenia dostępnościZlecenie stoi na pierwszej operacjiRaport niedoborów przed emisją
Zły termin podzleceniaPółprodukt spóźnia się o dzieńTermin liczony wstecz od zlecenia głównego

Kontrola zlecenia tuż po emisji

Krótki przegląd zlecenia bezpośrednio po emisji oszczędza poprawek na hali. Planista sprawdza, czy system rozwinął strukturę zgodnie z oczekiwaniem i czy terminy mieszczą się w kalendarzu zasobów.

  • Kompletność rozpiski - każda pozycja ma ilość i jednostkę miary, a zamienniki są opisane tam, gdzie technologia je dopuszcza.
  • Rezerwacje - suma rezerwacji na zleceniu zgadza się z zapotrzebowaniem wynikającym z rozpiski i planowanej ilości.
  • Terminy podzleceń - żaden półprodukt nie kończy się później niż początek operacji, która go zużywa.
  • Dokumenty na halę - przewodnik warsztatowy jest wydrukowany albo dostępny na stanowisku wraz z numerem zlecenia.

Ten przegląd nie wymaga osobnego modułu. Wystarczy zestawienie zleceń wyemitowanych danego dnia, sortowane po dacie rozpoczęcia, z filtrem na zlecenia z niedoborem materiału. Raport można przygotować w narzędziu, które firma już stosuje, na przykład w SQL Report Builder opisanym w artykule o raportach RDL i wydrukach.

Emisja a integracja z innymi systemami

Zlecenia rzadko żyją w izolacji. Numer zlecenia bywa przekazywany do systemów magazynowych i raportowych, a także do programów drukujących etykiety. Wymiana danych odbywa się przez interfejsy, na przykład REST, albo przez pliki i kolejki, a szczegóły zależą od wersji systemów po obu stronach. Integracje z systemami ERP realizuje SoftwareStudio jako oddzielną usługę, niezależnie od tego, jak dany ERP emituje zlecenia.

.