Baza wiedzy Trawers ERP

WMS Magazyny. Automatyzacja

1. Opis ogólny Elementy automatyzacji Poziomy automatyzacji X,Y 2. Modele organizacyjne 2.1 Kompletacja [d][k] 2.2 Kompletacja dokumentu wysyłki [SD] 2.3 Kompletacja wysyłki, Sprawdzanie wysyłki 2.4 Wave Picking, Bath Picking, Robotyzacja 3. Kody kreskowe. Zastosowania 4. Rozwiązania techniczne WMS 5. Trawers ERP + WMS/BinLoc (AsystentAI) 6. Model danych i model funkcjonalny (AsystentAI) 7. Tematy powiązane

1. Opis ogólny

Automatyzacja w magazynie, to zespół rozwiązań organizacyjnych i środków technicznych stosowanych dla uproszczenia i przyśpieszenia procesów składowania, pobierania i przemieszczania asortymentu i powiązanej z nimi ewidencji danych (dokumentowania).
Elementy automatyzacji
* Standardy w oznaczaniu: GTIN, GLN, GSIN, GS1-128, IZ Identyfikatory Zastosowań * Czytniki kodów kreskowych (skanery) do odczytywania danych * Etykiety jako nośniki danych - oznaczenia towarów, etykiety na opakowaniach - oznaczenia miejsc składowwania (lokalizacji) - przywieszki - oznaczenia asortymentu do pobrania i składowania - kody na wydrukach * Komputery przenośne ułatwiające dostęp do miejsc składowania (lokalizacji) * Standardy opakowań, np. DOX (koperta), Paczka (Box), Paleta, Nietypowe * Oprogramowanie sterujące: algorytmy, bazy danych, wymiana danych * Rozwiązania organizacyjne: Pick-by-Light, Pick-by-Voice * Automatyczna identyfikacja, IoT * Urządzania techniczne: wózki, pojemniki, przenośniki, taśmociągi, roboty * Wyświetlacze i tablice informacyjne * Robotyzacja
Poziom automatyzacji. Rysunek
Poziom automatyzacji można wyznaczyć na przecięciu osi X,Y (rysunek poniżej) Oś X ==== Sposób przemieszczania asortymentu Recznie: Magazynier umieszcza asortyment w pojemnikach i przenosi. Automatycznie: Urządzenia przemieszczają asortyment. Oś Y ==== Sposób podejmowania decyzji o pracy poszczególnych magazynierów. Ręczna: Używają wydruków, sami decydują o tym jak przemieszczają się po magazynie, który asortyment pobierać i skąd. Elementy automatyzacji: Program wyznacza zadania: asortyment do pobrania, lokalizację, trasę przemieszczania się, identyfikacja pojemników, palet. Informacje przekazane na ekranach komputerów przenośnych, dane odczytywane skanerami. Automatyzacja zaawansowana: Automaty, roboty, przenośniki, karuzele, np. magazyny Amazona ---------------------------------------------------------- Y ^ | | | 2 | [ ] | . Automatyzacja D | . zaawansowana E | . C | . Y | Z | . [ ] Elementy automatyzacji J | . WMS Wózki Palety E | . | . | | . | | [ ] Bez automatyzacji | 1 | | o----------------------------------------------------> X | 1. Recznie 2. Automatycznie | | Sposób przemieszczania asortymentu | | | o--- Sposób podejmowania decyzji 1. Ręcznie 2. Automatycznie ----------------------------------------------------------

2. Modele organizacyjne (przykłady)

2.1 Kompletacja [d][k]

Wykonanie w dwóch krokach: [d][k] [d] Gotowe do kompletacji Oznaczenie zamówień sprzedaży [k] Pobrane do kompletacji Pobranie asortymentu ze wskazanych lokalizacji (Pick) Ręczne korekty na zestawieniu Przepisanie zamówienia do faktury sprzedaży Zatwierdzenie faktury generuje [RO] Dokument rozchodu Wysyłka, organizacja i dokumenty Patrz tez: MG >Statystyki kompletacji [MG_DRO2K] Informacje o przebiegu kompletacji w układzie wg operatorów. Można porównywać wydajność pakowaczy. TODO: Zrezygnować z wydruków, użyć terminal przenośny Patrz niżej, rozbudowa DC: MG > Rozchód do zamówienia [DC_DMG02] --> Paperless Picking

2.2 [SD] Dokument wysyłki

Utworzenie dokumentu [SD] Wysyłka. Zawiera asortyment wysyłany na wskazany adres wysyłkowy (adres przeznaczenia). Można utworzyć na podstawie wielu zamówień sprzedaży. Pobranie asortymentu ze wskazanych lokalizacji (Pick) Ręczne korekty na dokumencie, np. brak niektórych pozycji w magazynie Generowanie [RO] Dokument rozchodu Zatwierdzenie [RO] Dokument rozchodu Utworzenie dok [FA] Faktura sprzedaży wg [RO] Dokument rozchodu Zarządzanie wysyłkami [SD][LD] TODO: Zrezygnować z wydruków, użyć terminal przenośny Rozbudować DC. Dodac func: MG > Rozchód do [SD] Wysyłka TODO: Automatyzować proces [FA] -> [SD] -> [RO] -> [FA] (en: Pick Pack Ship) TODO: Automatyzować wskazanie asortymentu do pobrania. Stosować wyświetlacze w miejscach pakowania
Przepływ danych
o---------------------------- | [ZL] Zamówienia sprzedaży o---------o------------------ | | - wspólna trasa | - wspólny adres wysłkowe | (zapis automatyczny) | v o---------------------------- | [SD] Wysyłka (dokument NA) o---------o------------------ | | | Zamówiono Wydano | ....... ...... <--- skanowanie: | ....... ...... <--- asortyment | <--- lokalizacja | ilość | | (opcja: dokument dla przewoźnika) | (opcja: ustalenie liczba, wymiary opakowań, waga) | v o---------------------------- | [RO] Rozchód (dokument MG) o---------o------------------ | | | v o---------------------------- | [FA] Faktura sprzedaży o---------------------------- Zarządzanie wysyłkami [SD][LD]

2.3 Sprawdzanie wysyłki

MG > Rozchody > Do zam sprzedaży > Klawiatura, Skaner [MG_DRO2D] a) Skanowanie asortymentu pobieranego z poszczególnych lokalizacji w magazynie. Program zapisuje ilości wydane. Tworzy kolejne pozycje dokumentu: [RO] Rozchód. Listę zamówień można zawęzić do oznaczonych [k] --> Kompletacja [d][k] Fakturę sprzedaży tworzy się wg dok [RO] Rozchód [NA_DWZ30] b) Skanowanie asortymentu zgromadzonego do wysyłki. Program zapisuje ilości wydane. Tworzy kolejne pozycje dokumentu [RO] Rozchód. Można porównać i ilości na zamówieniu sprzedaży z pobranym (zgromadzonym) asortymentem. Kody kreskowe Zastosowania NOTE: (w planach) Asortyment skanowany można umieszczać w opakowaniach (box). Po zapełnieniu boxu można wydrukować etykietę na box i pakować kolejny box. NOTE: Patrz też DC: MG > Rozchód do zamówienia [DC_DMG02] Ew. rozbudować: - Listę zamówień zawęzić do oznaczonych [k] --> Kompletacja - Pokazywać ilości: Zamówione | Do wydania | WydanoTeraz P. Czy i jak można rozbudować funkcję DC: MG > Rozchód do zamówienia [DC_DMG02] aby umożliwić kompletację do zamówień z użyciem skanerów ? O. Tak, zastosować procedurę (kroki) opisane w [MG_DRO2D] tj. [ZL] > Skanowanie > [RO] > [FA] Skanować lokalizację i asortyment, tworzyć kolejne pozycje [RO] Rozchód. Zatwierdzić dokument [RO] Rozchód. Utworzyć [FA] Faktura sprzedaży: NA > Fakturowanie [NA_DWZ30]. Dodatkowo do zrobienia: - umożliwienie powrotu do ewidencji po przerwaniu połączenia z terminalem tj. dodac wyszukiwanie, korygowanie i usuwanie pozycji dokumentów z użyciem skanera - pomijanie z list wyboru zamówień pobranych do kompletacji [k] - ew. dodanie wskaźnika [s] Kompletacja zakończona umożliwia przejście do kolejnego etapu - wystawienie faktury

2.4 Wave Picking, Bath Picking, Robotyzacja

Wave Picking
NOTE: Większe organizacje Cel: Zmniejszyć liczbę przemieszczeń pracownika magazynu (Picker) Metoda: Jednoczesne kompletowanie asortymentu dla wielu zamówień Ręcznie: Magazynier (Picker) chodzi z dwoma lub wieloma wydrukami zamówień Automatycznie: System grupuje asortyment i zleca zadanie magazynierowi Magazynier (Picker) chodzi i umieszcza asortyment w pojemnikach, oddzielnie dla każdej wysyłki https://www.cartoncloud.com/blog/what-is-wave-picking
Batch Picking
NOTE: Mniejsze organizacje Cel: j/w Metoda: j/w Różnica: Magazynier (Picker) chodzi i pobiera asortyment dla wielu zamówień i przekazuje do sekcji pakowania. Pakowacz (Packer) sortuje wg zamówień i pakuje do wysyłki
Robotyzacja
Robot rozpoznaje 90% asortymentu (system wizyjny), pobiera (ramię) i umieszcza w przenośniku. Np. robot KNAPP Pick-it-Easy zastosowano w branży odzieżowej, w której jest duża różnorodność rozmiarów, kształtów, materiałów, wagi i rodzajów opakowań. Zastosowanie robotów znacznie przyśpiesza proces kompletacji do wysyłki. Przede wszystkim dla odbiorców kupujących w sieci (e-commerce).

3. Kody kreskowe. Zastosowania

Auto-ID Automatyczna identyfikacja
Kody kreskowe mają zastosowanie w tych rozwiązaniach sprzętowych, programowych i organizacyjnych, ktore pozwalają na wprowadzanie danych do systemów informatycznych bezpośrednio, bez użycia klawiatury. Patrz też: Auto-ID Automatyczna identyfikacja
Kody kreskowe na dokumentach
Automatyzują rejestrowanie dokumentacji firmowej: finansowej, magazynowej i produkcyjnej. Kody kreskowe Zastosowania
Kody kreskowe na etykietach opakowań
Do magazynu trafia asortyment na paletach, z zakupu lub produkcji. Na opakowaniach są etykiety z informacjami o asortymencie. Wzorce etykiet. Przykłady
Kody kreskowe na miejscach składowania
Miejsca składowania (lokalizacje) oznaczone są kodami kreskowymi. WMS Miejsca składowania Kody kreskowe
Przychody do zamówień zakupu w MG
MG > Przychody > Do zam zakupu: skaner, klawiatu [MG_DPZ2D] odpowiednik [DC_DMG01] MG > Przychody > Do zam zakupu: etykiety GS1-128 [MG_DPZ2A] Realizacja zamówień zakupu
Przychody wyrobów z produkcji w ZP
ZP > Dokumenty > Przychód z produkcji > Z etykiet z kodem GS1-128 [ZP_DPZ1F] Do magazynu przyjmuje się wyroby z produkcji. Dokumenty w produkcji
Etykiety miejsc składowania WMS
Miejsca składowania mają swoje unikalne oznaczenia (numery, kody). Zwykle wydrukowane na etykietach, umieszczone są półkach, pojemnikach. WMS Miejsca składowania Kody kreskowe
Kompletacja wysyłki, Sprawdzanie wysyłki
MG > Rozchody > Do zam sprzedaży > Klawiatura, Skaner [MG_DRO2D] Kody kreskowe Zastosowania
Inwentaryzacja w magazynie
Stany asortymentu można rejestrować do programu bezpośrednio na terminalach. Terminal można postawić na wózku i skanować czytnikiem kodu kreskowego. Wg kodu EAN13 (w karcie KIM) lub wg kodu KID. Inwentaryzacja on-line

4. Rozwiązania techniczne WMS

4.1 Dyspozytor pracy magazynu

WES Warehouse Execution System. Najprościej można powiedzieć, że WES to 'dyspozytor pracy magazynu'. Na bieżąco decyduje, które zadanie wykonać najpierw, komu lub jakiej maszynie je przydzielić oraz jak najlepiej wykorzystać ludzi i automatykę. WES - system wykonawczy magazynu - steruje codzienną pracą magazynu w czasie rzeczywistym. Odbiera informacje o zamówieniach i dostępnych towarach, a następnie organizuje ich realizację: przydziela zadania pracownikom, wózkom, sorterom, przenośnikom lub robotom. Na bieżąco reaguje na opóźnienia, zatory i zmieniające się priorytety. Można powiedzieć, że WES jest 'mózgiem operacyjnym magazynu' - pilnuje, aby właściwy towar został pobrany, spakowany i wysłany we właściwym czasie, przy jak najlepszym wykorzystaniu ludzi i urządzeń. Jeszcze bardziej obrazowo: ERP mówi, co firma ma zrealizować, WMS określa, gdzie znajduje się towar, a WES organizuje i steruje tym, jak magazyn ma wykonać pracę. WES może wymieniać dane z ERP, WMS i innymi aplikacjami - podobnie jak systemy zewnętrzne komunikują się z Trawersem przez usługi pobierania i zapisywania danych SOA. Operacyjnie dotyczy m.in. przyjęć, rozchodów, zwrotów i przesunięć magazynowych.

4.2 Urządzania techniczne

NOTE: Wymieniono niektóre urządzenia stosowane w magazynach. conveyor Przenośnik. Urządzenie transportowe, przeznaczone do przemieszczania ładunków, po określonym torze carousel Magazyn karuzelowy, pionowy i poziomy. Urządzenia dostarczają ładunki do miejsc pakowania chart Wózek magazynowy gravity roller Urządzenie transportujące wykorzystujące grawitację do przemieszczania ładunków tote, totes Pojemnik magazynowy, skrzynka. Do przewożenia asortymentu w magazynie (Tote). Do składowania na półkach (Tote Bin). Do transportu pojazdami (Totes) Pojemniki mogą być zwrotne. --> opakowania zwrotne warehouse robots Roboty magazynowe. Najpopularniejsze zastosowano w magazynach Amazona verical storage lift Pionowe regały windowe Przykłady rozwiązań technicznych i programowych: * Radio Beacon * Accellos One Warehouse * Scancode WMS * Oracle WMS * AutoMAG Shuttle

5. Trawers ERP + WMS/BinLoc (AsystentAI)

5.1 WMS/BinLoc + Automatyka magazynu

Pytanie: Czy można zintegrować moduły BinLoc z rozwiązaniami zewnętrznymi ? Wg modelu: Trawers ERP + WMS/BinLoc = system nadrzędny dla stanów, lokalizacji i dyspozycji magazynowych Dostawca zewnętrzny = warstwa techniczna / wykonawcza / automatyzacyjna Odpowiedź (AsystentAI): Nie rozwijać Trawers ERP + WMS/BinLoc jako system nadrzędny do zarządzania magazynem i logistyką przyjęć i wydań. Te obszary oddać do: Operator logistyczny/fulfillment. Wg modelu: Producent -> Magazyn zewnętrzny / 3PL / fulfillment -> Konsument ^ ^ ^ | | | Trawers ERP Operator logistyczny Konsument Producent nie buduje własnego dużego magazynu operacyjnego. Towar trafia do operatora logistycznego, a ten obsługuje składowanie, kompletację, pakowanie i wysyłkę. WMS potrzebny jest przede wszystkim u operatora logistycznego. Producent potrzebuje ERP do obsługi produkcji, zamówień, faktur, zapasów i integracji z operatorem.

5.2 Podział ról

Taki model wynika z podziału ról (zadań): Zamiast klasycznego: Producent -> Hurtownik -> Detalista -> Konsument proponowałbym myśleć tak: Właściciel towaru -> Miejsce magazynowania -> Kanał sprzedaży -> Odbiorca Czyli: Właściciel towaru - kto ma zapas i dokumenty handlowe. Miejsce magazynowania - gdzie fizycznie leży towar. Kanał sprzedaży - sklep, B2B, marketplace, handlowiec, EDI. Odbiorca - firma lub konsument. WMS jest potrzebny głównie w punkcie nr 2.

6. Model danych i model funkcjonalny

Trawers jako ERP producenta + integracja z zewnętrznym magazynem/automatyką/fulfillmentem Model dla wariantu: Producent pracuje w Trawers ERP Magazyn fizyczny prowadzi zewnętrzny operator logistyczny / fulfillment / automatyka Operator ma własny WMS Trawers nie zarządza każdą lokalizacją fizyczną u operatora, ale zna zapas, statusy i dokumenty To jest inny model niż klasyczne 'Trawers WMS/BinLoc steruje magazynem'. Tutaj Trawers jest systemem właściciela towaru i dokumentów, a zewnętrzny WMS jest systemem wykonawczym magazynu.

6.1 Główna zasada architektury

Najważniejsze rozdzielenie odpowiedzialności: | Obszar | System nadrzędny | | -------------------------------------------------- | ------------------------------------------ | | Kartoteki towarów | Trawers | | Zamówienia sprzedaży | Trawers | | Zamówienia zakupu / produkcji | Trawers | | Dokumenty handlowe i magazynowe właściciela towaru | Trawers | | Stany właścicielskie: ile sztuk należy do firmy | Trawers | | Lokalizacje fizyczne w magazynie operatora | WMS operatora | | Kompletacja, pakowanie, etykiety, wysyłka | WMS operatora | | Automatyka magazynowa | WMS operatora albo jego warstwa techniczna | | Potwierdzenia wykonania operacji | WMS operatora Trawers | Czyli: Trawers mówi: co ma być przyjęte, wydane, zablokowane lub zwrócone. Operator WMS mówi: co faktycznie przyjął, wydał, spakował, wysłał albo uszkodził.

6.2 Model magazynu w Trawersie

W Trawersie warto założyć osobny magazyn logiczny, np.: MAG_3PL - magazyn zewnętrzny operatora Ten magazyn nie musi mieć pełnej struktury BinLoc po stronie Trawersa. Trawers nie musi wiedzieć, że towar leży w regale A-03-02 albo w automacie shuttle. To wie WMS operatora. W Trawersie wystarczy utrzymywać: | Dane | Poziom szczegółowości w Trawersie | | ------------------------- | --------------------------------- | | Towar | Tak | | Ilość | Tak | | Partia / seria | Tak, jeżeli istotne | | Data ważności | Tak, jeżeli istotna | | Status zapasu | Tak | | Lokalizacja fizyczna | Opcjonalnie, zwykle nie | | Nośnik / paleta / SSCC | Opcjonalnie | | Rezerwacje pod zamówienia | Tak | | Historia dokumentów | Tak | Czyli Trawers przechowuje zapas właścicielski, a WMS operatora przechowuje zapas fizyczno-operacyjny.

6.3 Kategorie wymienianych danych

Wymianę danych można podzielić na cztery grupy: 1. Dane słownikowe - co to jest za towar, klient, dostawca, jednostka, kod EAN. 2. Dyspozycje - co operator ma zrobić. 3. Potwierdzenia wykonania - co operator faktycznie zrobił. 4. Dane kontrolne - stany, różnice, korekty, inwentaryzacje, błędy. To jest zdrowszy model niż ciągła dwustronna synchronizacja wszystkich tabel.

6.4 Model danych - komunikaty podstawowe

A. Kartoteka towarowa Kierunek: Trawers -> WMS operatora Komunikat: `ITEM_MASTER` Minimalne pola: | Pole | Znaczenie | | -------------------- | ----------------------------------------- | | `item_id_erp` | Kod towaru w Trawersie | | `item_name` | Nazwa towaru | | `ean` | Kod kreskowy | | `unit_base` | Jednostka podstawowa, np. szt., kg, opak. | | `unit_sales` | Jednostka sprzedaży | | `conversion_factor` | Przelicznik jednostek | | `weight` | Masa | | `dimensions` | Wymiary | | `lot_required` | Czy wymagana partia | | `serial_required` | Czy wymagany numer seryjny | | `expiry_required` | Czy wymagana data ważności | | `storage_conditions` | Warunki składowania | | `abc_class` | Klasa rotacji, opcjonalnie | | `fifo_fefo_rule` | FIFO, FEFO, LIFO, ręcznie | | `hazard_class` | Towar niebezpieczny, opcjonalnie | | `is_active` | Czy kartoteka aktywna | Trawers powinien być źródłem prawdy dla kartoteki. Operator nie powinien samodzielnie zakładać nowych indeksów towarowych bez synchronizacji z Trawersem. B. Kontrahenci i adresy Kierunek: Trawers -> WMS operatora Komunikaty: `CUSTOMER_MASTER` `SUPPLIER_MASTER` `DELIVERY_ADDRESS` Minimalne pola: | Pole | Znaczenie | | ----------------------- | ---------------------------- | | `customer_id_erp` | Kod klienta w Trawersie | | `name` | Nazwa | | `tax_id` | NIP, opcjonalnie | | `address` | Adres podstawowy | | `delivery_address_id` | Identyfikator adresu dostawy | | `contact_person` | Osoba kontaktowa | | `phone` | Telefon | | `email` | E-mail | | `country_code` | Kraj | | `delivery_instructions` | Instrukcje dostawy | W praktyce operatorowi częściej potrzebny jest adres dostawy z konkretnego zlecenia, a nie pełna baza kontrahentów. Dlatego baza klientów może być przekazywana minimalnie, a pełne dane adresowe mogą przychodzić razem ze zleceniem wydania. C. Awizo przyjęcia Kierunek: Trawers -> WMS operatora Komunikat: `INBOUND_ADVICE` Źródłem może być: * zamówienie zakupu, * przesunięcie międzymagazynowe, * przyjęcie z produkcji, * zwrot od klienta, * import, * kompletacja zestawu. Minimalne pola nagłówka: | Pole | Znaczenie | | ---------------------- | ------------------------------------------ | | `inbound_id_erp` | Numer awiza w Trawersie | | `source_document_type` | Typ dokumentu: zakup, produkcja, zwrot, MM | | `source_document_no` | Numer dokumentu źródłowego | | `supplier_id` | Dostawca lub źródło | | `expected_date` | Planowana data przyjęcia | | `warehouse_id` | Np. MAG_3PL | | `priority` | Priorytet | | `remarks` | Uwagi | Pola pozycji: | Pole | Znaczenie | | ------------------------- | -------------------------- | | `line_no` | Numer pozycji | | `item_id_erp` | Kod towaru | | `qty_expected` | Ilość oczekiwana | | `unit` | Jednostka | | `lot_no` | Partia, jeśli znana | | `serial_no` | Numer seryjny, jeśli znany | | `expiry_date` | Data ważności | | `quality_status_expected` | Np. wolny, kwarantanna | | `sscc_expected` | Paleta/nośnik, opcjonalnie | D. Potwierdzenie przyjęcia Kierunek: WMS operatora -> Trawers Komunikat: `INBOUND_CONFIRMATION` To jest jeden z najważniejszych komunikatów, bo na jego podstawie Trawers powinien zaksięgować faktyczne przyjęcie do magazynu zewnętrznego. Pola nagłówka: | Pole | Znaczenie | | ----------------------- | --------------------------------------- | | `inbound_id_erp` | Numer awiza z Trawersa | | `inbound_id_wms` | Numer operacji w WMS operatora | | `confirmation_datetime` | Data i czas potwierdzenia | | `status` | Przyjęte, częściowo przyjęte, odrzucone | | `operator_reference` | Referencja operatora | Pola pozycji: | Pole | Znaczenie | | ---------------- | -------------------------- | | `item_id_erp` | Kod towaru | | `qty_received` | Ilość przyjęta | | `qty_damaged` | Ilość uszkodzona | | `qty_quarantine` | Ilość do kwarantanny | | `lot_no` | Partia | | `serial_no` | Numer seryjny | | `expiry_date` | Data ważności | | `quality_status` | Status jakościowy | | `sscc` | Paleta/nośnik, opcjonalnie | Efekt w Trawersie: utworzenie / zatwierdzenie dokumentu PZ, PW, MM+ albo przyjęcia zwrotu do MAG_3PL. E. Zlecenie wydania Kierunek: Trawers -> WMS operatora Komunikat: `OUTBOUND_ORDER` Źródłem może być: * zamówienie sprzedaży, * dyspozycja wydania do klienta, * przesunięcie do innego magazynu, * wysyłka do marketplace, * wysyłka B2B, * wysyłka B2C. Pola nagłówka: | Pole | Znaczenie | | -------------------------- | --------------------------- | | `outbound_id_erp` | Numer dyspozycji z Trawersa | | `sales_order_no` | Numer zamówienia sprzedaży | | `customer_id` | Klient | | `delivery_address` | Adres dostawy | | `requested_ship_date` | Oczekiwana data wysyłki | | `carrier_code` | Kurier / przewoźnik | | `service_code` | Usługa transportowa | | `cod_amount` | Pobranie, opcjonalnie | | `insurance_amount` | Ubezpieczenie, opcjonalnie | | `priority` | Priorytet | | `partial_shipment_allowed` | Czy można wysłać częściowo | | `remarks_for_warehouse` | Uwagi dla magazynu | | `remarks_for_carrier` | Uwagi dla kuriera | Pola pozycji: | Pole | Znaczenie | | ---------------------- | ------------------------------ | | `line_no` | Numer pozycji | | `item_id_erp` | Kod towaru | | `qty_ordered` | Ilość do wydania | | `unit` | Jednostka | | `lot_no_required` | Wymagana partia, opcjonalnie | | `expiry_rule` | FEFO / minimalna data ważności | | `serial_required` | Czy zwrócić numery seryjne | | `substitution_allowed` | Czy można zamiennik | | `packing_instruction` | Instrukcja pakowania | F. Potwierdzenie wydania / wysyłki Kierunek: WMS operatora -> Trawers Komunikat: `OUTBOUND_CONFIRMATION` To jest drugi krytyczny komunikat. Na jego podstawie Trawers powinien utworzyć lub zatwierdzić dokument WZ, rozchód magazynowy, fakturę albo status wysyłki. Pola nagłówka: | Pole | Znaczenie | | ------------------- | ------------------------------------- | | `outbound_id_erp` | Numer dyspozycji z Trawersa | | `outbound_id_wms` | Numer operacji w WMS | | `shipment_datetime` | Data i czas wysyłki | | `status` | Wysłane, częściowo wysłane, anulowane | | `carrier_code` | Kurier | | `tracking_no` | Numer przesyłki | | `parcel_count` | Liczba paczek | | `gross_weight` | Waga brutto | | `shipping_cost` | Koszt, opcjonalnie | Pola pozycji: | Pole | Znaczenie | | ----------------- | ------------------------------------- | | `line_no` | Pozycja zlecenia | | `item_id_erp` | Kod towaru | | `qty_picked` | Ilość pobrana | | `qty_shipped` | Ilość wysłana | | `lot_no` | Partia faktycznie wydana | | `serial_no` | Numer seryjny | | `expiry_date` | Data ważności | | `shortage_reason` | Powód braku, jeśli nie wydano całości | Efekt w Trawersie: zatwierdzenie WZ / rozchodu / statusu zamówienia / danych do faktury / numeru listu przewozowego. G. Stany magazynowe Są dwa możliwe modele. Model 1 - zdarzeniowy WMS wysyła do Trawersa każde zdarzenie zmieniające stan: `STOCK_MOVEMENT` Przykłady: * przyjęcie, * wydanie, * przesunięcie statusu, * blokada, * odblokowanie, * uszkodzenie, * korekta, * inwentaryzacja. To daje dużą szczegółowość, ale wymaga bardzo dobrej kontroli kolejności i idempotencji komunikatów. Model 2 - migawka stanu WMS raz na określony czas wysyła stan: `STOCK_SNAPSHOT` Pola: | Pole | Znaczenie | | ------------------- | ---------------------------- | | `snapshot_datetime` | Moment wykonania migawki | | `warehouse_id` | MAG_3PL | | `item_id_erp` | Kod towaru | | `qty_available` | Dostępne | | `qty_reserved` | Zarezerwowane | | `qty_blocked` | Zablokowane | | `qty_damaged` | Uszkodzone | | `qty_quarantine` | Kwarantanna | | `lot_no` | Partia | | `expiry_date` | Data ważności | | `serial_no` | Numer seryjny, jeśli dotyczy | Najpraktyczniejszy wariant to połączenie obu: potwierdzenia operacji online + dzienna migawka kontrolna. Czyli Trawers aktualizuje stany na podstawie potwierdzeń, a raz dziennie porównuje swoje saldo z saldem operatora. H. Korekty i inwentaryzacja Kierunek: WMS operatora -> Trawers, ale z zatwierdzeniem po stronie Trawersa Komunikaty: `STOCK_ADJUSTMENT_PROPOSAL` `INVENTORY_COUNT_RESULT` WMS nie powinien samodzielnie 'zmieniać księgowo' zapasu właściciela. Powinien zgłosić różnicę. Pola: | Pole | Znaczenie | | ---------------- | ------------------------------- | | `item_id_erp` | Kod towaru | | `lot_no` | Partia | | `serial_no` | Numer seryjny | | `qty_system_wms` | Ilość według WMS | | `qty_counted` | Ilość policzona | | `difference_qty` | Różnica | | `reason_code` | Powód | | `description` | Opis | | `evidence` | Zdjęcie / protokół, opcjonalnie | Efekt w Trawersie: operator zgłasza różnicę, a Trawers tworzy dokument korekty dopiero po akceptacji. I. Zwroty Kierunek podstawowy: Trawers -> WMS operatora Potwierdzenie: WMS operatora -> Trawers Komunikaty: `RETURN_ADVICE` `RETURN_CONFIRMATION` Zwrot powinien być awizowany, bo operator musi wiedzieć, czy towar wraca do sprzedaży, do kontroli, do naprawy, do utylizacji czy do reklamacji. Statusy zwrotu: | Status | Znaczenie | | ------------ | ---------------------- | | `AVAILABLE` | Towar pełnowartościowy | | `QUARANTINE` | Do kontroli | | `DAMAGED` | Uszkodzony | | `REPAIR` | Do naprawy | | `SCRAP` | Do utylizacji | | `UNKNOWN` | Nierozpoznany |

6.5 Model funkcjonalny

Proces 1 - wdrożenie nowego towaru 1. Użytkownik zakłada towar w Trawersie. 2. Trawers wysyła kartotekę do WMS operatora. 3. Operator potwierdza przyjęcie kartoteki. 4. Jeżeli towar wymaga partii, dat ważności, numerów seryjnych lub specjalnego składowania, te reguły trafiają do WMS. 5. WMS dopuszcza towar do obsługi. Funkcjonalnie: Trawers decyduje, że towar istnieje. WMS decyduje, jak technicznie go składować i kompletować. Proces 2 - dostawa do operatora 1. W Trawersie powstaje zamówienie zakupu, przyjęcie z produkcji albo przesunięcie do MAG_3PL. 2. Trawers wysyła do operatora awizo przyjęcia. 3. Towar fizycznie trafia do operatora. 4. WMS operatora przyjmuje towar, nadaje lokalizacje, ewentualnie palety/SSCC. 5. WMS wysyła potwierdzenie przyjęcia. 6. Trawers księguje przyjęcie do magazynu MAG_3PL. 7. Jeżeli są różnice, Trawers tworzy przyjęcie częściowe albo dokument rozbieżności. Proces 3 - sprzedaż i wydanie 1. Zamówienie klienta powstaje w Trawersie albo trafia do Trawersa z e-commerce / EDI / marketplace. 2. Trawers sprawdza dostępność w MAG_3PL. 3. Trawers rezerwuje towar. 4. Trawers wysyła zlecenie wydania do WMS operatora. 5. WMS kompletuje, pakuje i przekazuje paczkę przewoźnikowi. 6. WMS odsyła potwierdzenie wydania wraz z faktycznymi ilościami, partiami, numerami seryjnymi i trackingiem. 7. Trawers zatwierdza WZ, aktualizuje zamówienie i ewentualnie wystawia fakturę. 8. Numer trackingowy może wrócić do klienta, sklepu internetowego lub B2B. Proces 4 - wysyłka częściowa Ten proces trzeba przewidzieć od początku. Możliwe scenariusze: | Scenariusz | Obsługa | | ------------------------------------ | ----------------------------------------------------- | | Brak części towaru | WMS odsyła wydanie częściowe | | Trawers pozwala na częściową wysyłkę | Trawers zamyka część pozycji, resztę zostawia otwartą | | Trawers nie pozwala | WMS nie powinien wysłać bez akceptacji | | Towar uszkodzony przy kompletacji | WMS zgłasza zmianę statusu i niedobór | Decyzja, czy wolno wysłać częściowo, powinna pochodzić z Trawersa. Proces 5 - zwroty 1. W Trawersie powstaje zgłoszenie zwrotu / reklamacji. 2. Trawers wysyła awizo zwrotu do operatora. 3. Klient odsyła towar. 4. WMS przyjmuje zwrot. 5. WMS ocenia stan fizyczny. 6. WMS wysyła potwierdzenie zwrotu do Trawersa. 7. Trawers decyduje o korekcie sprzedaży, przyjęciu na stan, reklamacji albo utylizacji. Proces 6 - blokady jakościowe Przykłady: * reklamacja partii, * wycofanie produktu, * kontrola jakości, * uszkodzenie, * przeterminowanie, * blokada handlowa. Model: 1. Trawers wysyła do WMS dyspozycję blokady: `STOCK_BLOCK_REQUEST`. 2. WMS blokuje towar fizycznie albo statusowo. 3. WMS odsyła potwierdzenie blokady. 4. Trawers oznacza zapas jako niedostępny do sprzedaży. Analogicznie działa odblokowanie. Proces 7 - inwentaryzacja 1. Trawers zleca inwentaryzację całościową lub częściową. 2. WMS wykonuje liczenie. 3. WMS odsyła wyniki. 4. Trawers porównuje ilości. 5. Różnice trafiają do akceptacji. 6. Po akceptacji Trawers tworzy dokument korekty. Ważne: **różnica magazynowa u operatora nie powinna automatycznie zmieniać zapasu księgowego bez kontroli właściciela towaru.**

6.6 Statusy zapasu

Warto uzgodnić prosty wspólny słownik statusów. Propozycja: | Status | Znaczenie | | -------------------- | ---------------------- | | `AVAILABLE` | Dostępny do sprzedaży | | `RESERVED` | Zarezerwowany | | `PICKING` | W kompletacji | | `SHIPPED` | Wysłany | | `QUARANTINE` | Kwarantanna | | `BLOCKED` | Zablokowany | | `DAMAGED` | Uszkodzony | | `RETURNED_UNCHECKED` | Zwrot niezweryfikowany | | `SCRAP` | Do likwidacji | | `LOST` | Utracony | | `COUNTING` | W inwentaryzacji | Nie trzeba odwzorowywać wszystkich szczegółowych statusów WMS operatora w Trawersie. Wystarczy uzgodnić wspólny, biznesowy zestaw statusów.

6.7 Minimalny zestaw integracji - wersja MVP

Na początek nie integrowałbym wszystkiego. Minimalny sensowny zakres to: 1. Kartoteka towarowa Trawers -> WMS 2. Awizo przyjęcia Trawers -> WMS 3. Potwierdzenie przyjęcia WMS -> Trawers 4. Zlecenie wydania Trawers -> WMS 5. Potwierdzenie wydania z trackingiem WMS -> Trawers 6. Stany magazynowe / dzienna migawka WMS -> Trawers 7. Zwroty Trawers -> WMS 8. Korekty / różnice inwentaryzacyjne WMS -> Trawers, zatwierdzenie w Trawersie To wystarczy, żeby obsłużyć podstawowy fulfillment.

6.8 Docelowy model integracyjny

Docelowo warto mieć warstwę integracyjną pomiędzy Trawersem a operatorem. Schemat: Trawers ERP -> dokumenty, kartoteki, zamówienia, rezerwacje Warstwa integracyjna / API / EDI / kolejka komunikatów -> mapowanie, walidacja, logi, ponowienia, statusy WMS operatora -> przyjęcia, lokalizacje, kompletacja, pakowanie Automatyka / kurierzy / terminale -> wykonanie fizyczne Warstwa integracyjna powinna obsługiwać: * identyfikatory komunikatów, * potwierdzenia odbioru, * ponowienia po błędach, * walidację danych, * log błędów, * wersjonowanie komunikatów, * mapowanie kodów, * monitoring statusów.

6.9 Identyfikatory i kontrola spójności

Każdy komunikat powinien mieć: | Pole | Znaczenie | | ------------------- | ----------------------------------- | | `message_id` | Unikalny identyfikator komunikatu | | `message_type` | Typ komunikatu | | `source_system` | Trawers albo WMS | | `target_system` | WMS albo Trawers | | `created_at` | Data utworzenia | | `document_id_erp` | Numer dokumentu w Trawersie | | `document_id_wms` | Numer dokumentu w WMS | | `status` | Nowy, przyjęty, odrzucony, wykonany | | `error_code` | Kod błędu | | `error_description` | Opis błędu | To jest bardzo ważne, bo w praktyce największym problemem nie jest samo przesłanie pliku/API, tylko odpowiedź na pytania: * czy komunikat dotarł, * czy został przyjęty, * czy został wykonany, * czy został wykonany częściowo, * czy można go wysłać ponownie, * czy nie zaksięgowano go dwa razy.

6.10 Kto powinien być właścicielem dostępności towaru?

To jest decyzja projektowa. Rekomendowałbym: Trawers jest właścicielem dostępności handlowej. WMS operatora jest właścicielem dostępności fizycznej. Czyli WMS mówi: > Mam 100 sztuk, z czego 90 dostępne, 5 uszkodzone, 5 w kwarantannie. A Trawers decyduje: > Z tych 90 sztuk 70 można sprzedać, 20 jest zarezerwowane pod zamówienia. W praktyce dostępność dla handlowców / sklepu / B2B powinna być liczona w Trawersie, na podstawie potwierdzonego stanu z operatora.

6.11 Trzy możliwe warianty wdrożenia

Wariant A - prosty Trawers wysyła pliki CSV/XML, operator odsyła pliki z potwierdzeniami. Dobre dla małej liczby operacji. Plusy: * niski koszt, * szybkie uruchomienie, * łatwa diagnostyka. Minusy: * słabsza praca online, * opóźnienia, * większe ryzyko ręcznych korekt. Wariant B - standardowy Trawers komunikuje się z WMS przez API albo web service. Dobre dla średniej i dużej skali. Plusy: * szybka wymiana danych, * statusy prawie online, * lepsza kontrola błędów. Minusy: * większe wymagania techniczne, * konieczna dobra dokumentacja API. Wariant C - zaawansowany Komunikacja przez kolejkę zdarzeń / szynę integracyjną. Dobre dla wielu kanałów sprzedaży, wielu magazynów i dużej liczby operacji. Plusy: * odporność na awarie, * skalowalność, * pełny audyt zdarzeń. Minusy: * większa złożoność, * wyższy koszt wdrożenia.

6.12 Rekomendowany model dla Trawersa

Najbardziej praktyczny model: Trawers -> WMS operatora * kartoteki towarowe, * awiza przyjęcia, * zlecenia wydania, * blokady, * odblokowania, * awiza zwrotów. WMS operatora -> Trawers * potwierdzenia przyjęć, * potwierdzenia wydań, * numery trackingowe, * faktyczne partie / serie / daty ważności, * statusy zapasu, * różnice, * wyniki inwentaryzacji, * potwierdzenia zwrotów. Trawers * dokumentuje obrót, * utrzymuje stany właścicielskie, * wystawia dokumenty, * obsługuje sprzedaż, * decyduje o dostępności handlowej. Operator WMS * zarządza lokalizacjami, * wykonuje operacje, * steruje automatyką, * pakuje, * wysyła, * raportuje wykonanie.

6.13 Najkrótszy opis modelu

Można to nazwać tak: Trawers jako system zleceń i ewidencji właściciela towaru. WMS operatora jako system wykonawczy magazynu. Integracja jako dwustronna wymiana dyspozycji i potwierdzeń. Albo jeszcze prościej: Trawers mówi 'co'. WMS operatora mówi 'gdzie i jak'. Operator odsyła 'co faktycznie wykonano'. To jest najbezpieczniejszy model, bo nie zmusza Trawersa do odwzorowywania całej fizycznej organizacji magazynu operatora, a jednocześnie zachowuje kontrolę nad towarem, dokumentami i sprzedażą po stronie ERP.

7. Tematy powiązane

Zarządzanie zapasami Zarządzanie wysyłkami [SD][LD] KIM Kartoteka indeksów Realizacja zamówień sprzedaży Realizacja zamówień zakupu Słowa kluczowe #Magazyny-Automatyzacja #Magazyny-KodyKreskowe #Magazyny-Zapasy #Magazyny-Wskaźniki #Magazyny-Normy #Magazyny-Organizacja