EDI Elektroniczna Wymiana Dokumentów
Definicja Elektroniczna wymiana dokumentów to proces zautomatyzowanej wymiany informacji między aplikacjami systemów komputerowych odrębnych organizacji, odbywający się przy użyciu medium elektronicznego oraz na podstawie uzgodnionych standardów wiadomości wg. GS1 (dawniej EAN International)
Informacje podstawowe EDI Electronic Data Interchange Elektroniczna wymiana dokumentów Zestaw standardów opisujących elektroniczną wymianę dokumentów biznesowych, danych handlowych lub administracyjnych między różnymi systemami komputerowymi. Zastąpienie dokumentów papierowych, wymienianych między firmami w tradycyjny sposób, dokumentami elektronicznymi
Rys historyczny 1948 Berlin Zachodni, płk Ed Guilbert opracowuje standard komunikacji i opisu towarów; 1968 USA, Guilbert powołuje Amerykański Komitet ds. Koordynacji Danych Transportowych (TDCC); 1972 Szwecja, standard Dakom; 1974 Francja, GRNCOD; 1975 USA, pierwsze standardy EDI (głównie dla transportu) opracowane przez TDCC; 1977 Niemcy, SEDAS Invoice; 1978 USA, standard ANSI X12; 1979 Wlk. Brytania, standard Tradacoms; 1980 UN/ECE rozwinięcie Tradacoms do standardów GTDI (Guidelines for Trade Data Interchange); 1986 powołanie UN/JEDI; 1987 EDIFACT ustandaryzowane jako ISO-9735.
dok. transp. dok. finansowe EDI w środowisku biznesowym Przewoźnicy Banki dok. finansowe Kupujący dok. handlowe Sprzedający
Najpopularniejsze standardy UN/EDIFACT (United Nations / Electronic Data Interchange for Administration, Commerce and Transport) standard ISO-9735, w Polsce opisany normą PN-90/T-20091; ANSI ASC X12 Ameryka Pn.
Inne standardy Oparte na XML-u: ebxml Electronic Business using XML, xcbl XML Common Business Library, UBL Universal Business Language; Charakterystyczne dla niektórych działów gospodarki: ODETTE przemysł motoryzacyjny, IATA linie lotnicze, SWIFT bankowość; Wymiana plików płaskich (w szczególności CSV).
Dokumentacja dotycząca standardu ISO 9735 EDIFACT ISO 9735-1 Part 1: Syntax rules common to all parts, together with syntax service directories for each of the parts ISO 9735-2 Part 2: Syntax rules specific to batch EDI ISO 9735-3 Part 3: Syntax rules specific to interactive EDI ISO 9735-4 Part 4: Syntax and service report message for batch EDI (message type - CONTRL) ISO 9735-5 Part 5: Security rules for batch EDI (authenticity, integrity and non-repudiation of origin)
Dokumentacja dotycząca standardu ISO 9735 EDIFACT cd. ISO 9735-6 Part 6: Secure authentication and acknowledgement message (message type - AUTACK) ISO 9735-7 Part 7: Security rules for batch EDI (confidentiality) ISO 9735-8 Part 8: Associated data in EDI ISO 9735-9 Part 9: Security key and certificate management message (message type - KEYMAN) ISO 9735-10 Part 10: Security rules for interactive EDI
Architektura systemu EDI Dostawca Odbiorca Aplikacja biznesowa Aplikacja biznesowa Dokument Dokument Aplikacja EDI Aplikacja EDI Komunikat EDI Komunikat EDI Warstwa telekomunikacyjna
Funkcjonalności aplikacji EDI konwersja danych z programów biznesowych na komunikaty EDI, konwersja między wieloma standardami oraz wersjami standardów EDI, zarządzanie profilami partnerów, interfejs konfiguracyjny, moduł komunikacji sieciowej (różne protokoły), historia wymiany komunikatów, dziennik zdarzeń, mechanizmy bezpieczeństwa (szyfrowanie, uwierzytelnianie, itp.)
Komunikaty standardu UN/EDIFACT handlowe: zamówienie, faktura, katalog, transportowe: zlecenie transportowe, awizo dostawy, finansowe przelew informacja o zmianie stanu konta
Struktura organizacyjna komitetu ds. UN/EDIFACT ONZ ISO Sprawozdawcy Ameryka Europa Wsch. Europa Zach Australia Nowa Zelandia Azja Pacyfik Afryka Komisja EDIFACT Techniczny komitet koordynujący Grupy wsparcia Grupy projektowania komunikatów Handel Transport Finanse Przemysł inżynieryjny Administracja inne
Podział komunikatów EDIFACT Ze względu na funkcjonalność: dane podstawowe informacje o firmach i produktach wymiany handlowej transakcje dokumenty procesów handlowych (zamówienie, faktura, zlecenie zapłaty, itd.) raporty i planowanie aktualny stan magazynowy i plany na przyszłość komunikaty kontrolne potwierdzenie lub odrzucenie komunikatu, wymiany, itd. komunikaty ogólne wysyłane podczas transmisji informacji, dla której nie istnieje komunikat standardowy
Kodowanie komunikatów 7-bitowe wg ISO-646 8-bitowe wg ISO-6947 i ISO-8859 wymaga wcześniejszego uzgodnienia między partnerami Znaki dopuszczalne w transmisji: A-Z a-z 0-9 spacja ;,. ( ) < > /! % & * Znaki zarezerwowane: koniec segmentu + - separator danych : - separator danych złożonych? znak maski * - znak powtórzenia
Podstawowe definicje wg. ISO komunikat uporządkowany zbiór znaków zawierający informacje zbiór segmentów występujących w kolejności ustalonej w katalogu wiadomości, zaczynający się od znacznika początku a kończący na znaczniku końca komunikatu katalog komunikatu lista nazwanych i opisanych komunikatów katalog segmentów lista nazwanych i opisanych segmentów segment zbiór ściśle określonych elementów danych identyfikowanych przez pozycję w segmencie, segment umieszczony jest między znacznikami początku i końca segmentu element danych jednostka danych, dla której określono identyfikację, opis oraz wartość prosty element danych jednostka danych o jednej wartości złożony element danych jednostka danych składająca się z co najmniej 2 elementów danych
Podstawowe definicje wg. ISO c.d. składowy element danych prosty element danych występujący w złożonym elemencie danych wymiana komunikacja między partnerami, która odbywa się w formie określonego zbioru komunikatów i segmentów kontrolnych umieszczonych pomiędzy nagłówkiem wymiany a znacznikiem końca wymiany segment kontrolny segment wymagany do obsługi wymiany, ale nie zawierający informacji o dokumencie znacznik segmentu złożony element danych, w którym pierwszy element zawiera unikalny kod jednoznacznie identyfikujący dany segment w katalogu segmentów; kolejny element może być użyty warunkowo w celu oznaczenia poziomu zagłębienia oraz powtórzeń w hierarchii komunikatu
Hierarchiczna struktura wymiany komunikatów EDI START Połączenie STOP Wymiana Wymiana Wymiana UNA UNB ' Grupy lub Wyłącznie komunikaty UNZ ' UNG ' Komunikat Komunikat Komunikat UNE ' UNH ' Segment danych Segment danych Segment danych ' UNT Znacznik + Prosty element danych + Złożony element danych ' Wartość Składowy el. danych : Składowy el. danych Kod : Wartość Wartość Wartość
Segmenty komunikatu Rola segmentu Nazwa segmentu Obligatoryjność Rozpoczęcie wiadomości UNA NIE Nagłówek wymiany UNB TAK Nagłówek grupy UNG NIE Nagłówek wiadomości UNH TAK Koniec wiadomości UNT TAK Koniec grupy UNE NIE Stopka wymiany UNZ TAK Podział sekcji UNS NIE
Struktura dokumentu UN/EDIFACT UNA UNZ UNB UNG UNE UNG UNE UNH UNT UNH UNT UNH UNT UNH UNT dane dane dane dane
Reguły tworzenia komunikatów UN/EDIFACT Kompresja usuwanie białych znaków oraz nieznaczących zer z wartości numerycznych (wyjątek wartości rzeczywiste, gdzie przed i po separatorze dziesiętnym musi wystąpić cyfra). Powtórzenie: dosłowne lub domyślne. Obydwa typy powtórzenia nie mogą wystąpić jednocześnie w tym samym komunikacie. Segmenty poziomu 0 i segmenty kontrolne nie mogą być powtarzane. Hierarchia segmentów w komunikatach segmenty mogą być zagnieżdżane w segmencie wyższego poziomu metodą dosłowną lub domyślną. W danym komunikacie może być stosowana wyłącznie jedna metoda zagnieżdżania. Segmenty kontrolne oraz segmenty poziomu 0 nie mogą być zagnieżdżane.
Kompresja komunikatów Puste segmenty segmenty warunkowe bez danych powinny być pominięte łącznie ze znacznikami tych segmentów Warunkowe elementy danych elementy danych są identyfikowane przez ich pozycję w segmencie, jeśli taki element nie występuje to jego pozycję należy wskazać pozostawiając separator "+ przykład: tag+ed+ed+++ed+ed+ed' jeśli pominięto elementy danych na końcu segmentu, to można również pominąć odpowiadające im separatory przykład: tag+ed+ed+++ed Składowy element danych obowiązują podobne reguły jak przy warunkowych elementach danych przykład: tag+de+sed:sed+sed:::sed' tag+de+sed+sed'
dosłowne: Powtórzenia w powtarzanym segmencie pierwszy element składowy to kod segmentu a następny jest numerem kolejnego wystąpienia tego segmentu domyślne: segmenty występują w określonej specyfikacją kolejności, o powtórzeniu świadczy pozycja w komunikacie, a nie numer wystąpienia
Hierarchia segmentów - zagnieżdżanie Zagnieżdżenie dosłowne w segmencie zagnieżdżonym pierwszym elementem danych powinien być kod segmentu, następnie umieszczane są warunkowe elementy danych w kolejności wskazującej na poziom oraz liczność powtórzenia. liczba składowych elementów danych zależy od poziomu w hierarchii na którym znajduje się segment. Po kodzie segmentu następny element jest na poziomie 1, kolejny znajduje się na poziomie 2 itp. kiedy segment warunkowy na wyższym poziomie nie jest wykorzystany to poziom wskazują zastosowane separatory dla niewykorzystanych poziomów. Zagnieżdżenie domyślne kolejność segmentów w komunikacie ściśle odpowiada strukturze na diagramie konkretnego komunikatu. relacja zagnieżdżenia pomiędzy segmentami wynika więc z kolejności wystąpienia i nie jest konieczne inne oznaczenie tych relacji.
Hierarchia segmentów - przykład Poziom 0 1 UNH M 1 AAA M 1 BBB M 2 CCC M 1 DDD M 9 EEE C 1 UNT M 1 2 M 2 Wielopoziomowy komunikat EDI w postaci łańcucha znaków: UNH+data'AAA+data'BBB:1+data'BBB:2+data'CCC:1+data'DDD:1:1 +data'ddd:1:2+data'ccc:2+data'ddd:2:1+data'eee+data'unt+da ta'
Komunikaty handlowe EDI wg EANCOM APERAK Application Error and Acknowledgement Message Błąd aplikacji, potwierdzenie CNTCND Contractual Conditions Warunki kontraktowe COACSU Commercial Account Summary Wyciąg z bilansu handlowego CONDRA Drawing Administration Zdjęcie, film, rysunek CAD, itp. COMDIS Commercial Dispute Spór handlowy CONTRL Syntax and Service Report Komunikat kontrolny DELFOR Delivery Schedule Harmonogram dostaw DESADV Despatch Advice Awizo wysyłki GENRAL General Message Komunikat ogólny INSDES Instruction To Despatch Instrukcja do wysyłki INVOIC Invoice Faktura INVRPT Inventory Report Raport o zapasach MSCONS Metered Services Consumption Report Raport zużycia wg licznika ORDCHG Purchase Order Change Request Zmiany w zamówieniu ORDERS Purchase Order Zamówienie ORDRSP Purchase Order Response Odpowiedź na zamówienie OSTENQ Order Status Enquiry Zapytanie o status zamówienia OSTRPT Order Status Report Raport o statusie zamówienia
Komunikaty handlowe c.d. PARTIN Party Information Informacja adresowa PAYDUC Payroll Deductions Advice PRICAT Price/Sales Catalogue Katalog/cennik PRODAT Product Data Dane o produkcie PROINQ Product Inquiry Zapytanie o produkt QALITY Quality Test Report Raport z testu jakościowego QUOTES Quotation Oferta cenowa RECADV Receiving Advice Awizo przyjęcia REMADV Remittance Advice Awizo przelewu REQOTE Request for Quotation Prośba o ofertę cenową RETANN Announcement for Returns Zawiadomienie o zwrotach RETINS Instruction for Returns Instrukcja dla zwrotów SLSFCT Sales Forecast Report Prognoza sprzedaży SLSRPT Sales Data Report Raport o sprzedaży TAXCON Tax Control Kontrola podatków
Komunikaty transportowe Etykieta Nazwa angielska Nazwa polska HANMOV IFCSUM Cargo/Goods Handling and Movement Multiple Consignment Transport Instruction Przeładunek przesyłki/towarów Instrukcja transportowa dla zróżnicowanej przesyłki IFTMAN Arrival Notice Zawiadomienie o przybyciu IFTMBC Booking Confirmation Potwierdzenie rezerwacji IFTMBF Firm Booking Stała rezerwacja IFTMIN Transport Instruction Instrukcja transportowa IFTSTA Transport Status Status transportu
Komunikaty bankowe Etykieta Nazwa angielska Nazwa polska BANSTA Banking Status Status bankowy CREMUL Multiple Credit Advice Informacja o kredycie DEBMUL Multiple Debit Advice Informacja o debecie DIRDEB Direct Debit Polecenie zapłaty FINCAN Financial Cancellation Odwołanie dyspozycji finansowej FINSTA Financial Statement Bilans PAYMUL Multiple Payment Order Zlecenie zapłaty
Identyfikacja partnerów wg EANCOM Wszyscy partnerzy identyfikowani kodem EAN.UCC GLN (EAN.UCC Global Location Number) GLN trzynastocyfrowy kod służący do identyfikacji: jednostek prawnych (np. firma, organizacja,...) jednostek funkcjonalnych (np. dział, filia,...) jednostek fizycznych (np. rampa danego magazynu,...)
Nadawanie GLN W Polsce instytucją odpowiedzialną za nadawanie kodów GLN jest Instytut Logistyki i Magazynowania w Poznaniu Firma może otrzymać: jeden numer GLN identyfikujący całą firmę powinna go podać partnerowi EDI i dostawcy usług EDI pulę numerów firma sama decyduje, jaki numer z puli zastosować, do jakiej lokalizacji i uzgadnia z partnerami, które z numerów będzie wykorzystywać w komunikacji EDI
Struktura numeru GLN Dla firm zarejestrowanych w Polsce wygląda następująco: Prefiks EAN.UCC Numer podmiotu gospodarczego Numer szczegółowej lokalizacji 590 od 4 do 9 cyfr 9 dł. numeru podmiotu gosp. (0-5 cyfr) K Cyfra kontrolna Numer podmiotu gospodarczego przydzielany jest przez ILiM (polski oddział GS1) Numer szczegółowej lokalizacji przydziela podmiot gospodarczy jednostkom niższego szczebla wg własnego uznania
GTIN (Global Trade Item Number) Numer GTIN Służy do oznaczania towarów i ich zestawów Prefiks EAN.UCC Numer jednostki kodującej Indywidualny numer towaru Cyfra kontrolna 590 od 4 do 7 cyfr 9 dł. ind. numeru towaru (2-5 cyfr) K Zawartość Prefiks 590 Polska Kod firmy nadany przez ILiM Indywidualny kod towaru GTIN (Global Trade Item Number) Poza komunikatem PRICAT (Cennik/Katalog) nie ma potrzeby stosowania nazw towarów, wystarczy numer GTIN
EDI w handlu i transporcie
Strony transakcji Handel Transport Dostawca Kupujący Producent Dystrybutor Centrum dystrybucji Magazyn Dostawca usług logistycznych Skład celny Przewoźnik Stacja kontenerowa Zarząd portu
Komunikaty w handlu i transporcie Handel Zamówienie Awizo wysyłki Awizo przyjęcia Faktura Oferta cenowa Status transportu Instrukcja transportowa Przeładunek przesyłki Deklaracja celna Plan rozmieszczenia ładunku Specyfikacja niebezpiecznego ładunku Manifest przewozowy Wstępne awizo przybycia Transport
Informacje w łańcuchu dostaw Handel Transport GTIN Cena/ilość Charakterystyka (rozmiar, kolor itp.) Data zapakowania SSCC Ilość i typ opakowań Rozmiar i waga Opis towarów
Ogólny model przepływu danych EANCOM część 1 K U P U J Ą C Y Informacja adresowa (PARTIN) Zapytanie handlowe (PARTIN) Katalog/cennik (PRICAT) Informacja o produkcie (PRODAT) D O S T A W C A
Ogólny model przepływu danych EANCOM część 2 K U P U J Ą C Y Zapytanie ofertowe (REQOTE) Oferta cenowa (QUOTES) Zamówienie (ORDERS) Zmiana w zamówieniu (ORDCHG) Odpowiedź na zamówienie (ORDRSP) D O S T A W C A
Ogólny model przepływu danych EANCOM część 3 K U P U J Ą C Y Instrukcja transportowa (IFTMIN) Przeładunek przesyłki (HANMOV) PRZEWOŹNIK SPEDYTOR Awizo wysyłki (DESADV) Awizo przyjęcia (RECADV) DOSTAWCA USŁUG LOGISTYCZNYCH Instrukcja transportowa (IFTMIN) Przeładunek przesyłki (HANMOV) D O S T A W C A
Ogólny model przepływu danych EANCOM część 4 K U P U J Ą C Y Status transportu (IFTSTA) Zapytanie o status zamówienia (OSTENQ) Raport o statusie zamówienia (OSTRPT) Zapytanie o status zamówienia (OSTENQ) Raport o statusie zamówienia (OSTRPT) PRZEWOŹNIK SPEDYTOR DOSTAWCA USŁUG LOGISTYCZNYCH Status transportu (IFTSTA) Zapytanie o status zamówienia (OSTENQ) Raport o statusie zamówienia (OSTRPT) D O S T A W C A
Ogólny model przepływu danych EANCOM część 5 K U P U J Ą C Y Faktura (INVOIC) Awizo przelewu (REMADV) D O S T A W C A
Ogólny model przepływu danych EANCOM część 6 K U P U J Ą C Y Raport o sprzedaży (SLSRPT) Prognoza sprzedaży (SLSFCT) Raport o zapasach (INVRPT) D O S T A W C A
Przykładowy scenariusz I
Przykładowy scenariusz 2
Odnośniki w komunikatach handlowych i transportowych
Funkcje stron w wymianie w obszarach handlu i transportu HANDEL Kupujący Strona akceptująca Przedstawiciel kupującego Pełnomocnik spółki Odbiorca dostawy Importer Odbiorca faktury Zamawiający Płatnik Dostawca usług logistycznych Agencja celna Dystrybutor Spedytor Właściciel składu Załadowujący Hurtownik Urząd celny TRANSPORT Odbiorca (adresat) Przedstawiciel odbiorcy Depozytariusz Końcowy klient Końcowy odbiorca Dostawca usług logistycznych Agencja celna Dystrybutor Spedytor Właściciel składu Załadowujący Hurtownik
Funkcje stron w wymianie w obszarach handlu i transportu c.d. HANDEL Dostawca Pełnomocnik spółki Strona wysyłająca Dystrybutor Eksporter Załadowujący Producent Zamawiający Sprzedający Płatnik Przedstawiciel dostawcy TRANSPORT Przewoźnik Przedstawiciel przewoźnika Spedytor Właściciel środków transportu Właściciel wyposażenia (sprzętu) Strona wysyłająca pusty sprzęt Strona odbierająca pusty sprzęt Strona akceptująca Załadowujący Przedsiębiorca przeładunkowy Nadawca (wysyłający) Załadowujący Spedytor Nadawca ładunku
EDI w handlu i finansach
Strony transakcji Handel Dostawca Wierzyciel Bank wykonujący zlecenie Finanse Kupujący Beneficjent Posiadacz rachunku Sprzedający Klient zlecający Bank beneficjenta Wystawca faktury Płatnik Bank pośredniczący Bank realizujący czek
Wymieniane dane Handel Awizowanie Identyfikacja partnera handlowego Odnośniki pomiędzy partnerami handlowymi Szczegóły płatności Kwota płatności Opis płatności Odnośniki dotyczące płatności Odnośniki międzybankowe Zależności między rachunkami Finanse
Wybrane komunikaty EDIFACT Handel ORDERS Finanse INVOIC DESADV PAYMUL DEBMUL CREMUL FINCAN FINSTA BANSTA Międzybankowa wymiana danych
Przepływ dokumentów finansowych w EDIFACT
Translacja do XML
XML/EDI 1997 powołanie kilkusetosobowej grupy roboczej XML/EDI, której celem jest stworzenie uniwersalnego standardu. Komisja Europejska zaleca wstrzymanie się od tworzenia standardów narodowych i branżowych
Bezpieczeństwo EDI/XML Metody ogólne typy: VPN (Virtual Private Network) VLAN (Virtual Local Area Network) SSL (Secure Socket Layer) S/MIME (Secure Multipurpose Internet Mail Extensions) ochrona całej zawartości dokumentu VPN i SSL ochrona wyłącznie na czas transmisji uwierzytelnianie systemów a nie autorów wiadomości
Bezpieczeństwo EDI/XML cd. Zastosowanie standardów bezpieczeństwa języka XML standardy: XML Signature podpis elektroniczny XML Encryption szyfrowanie możliwości: zabezpieczenie dowolnych fragmentów dokumentu XML zabezpieczenie kilku fragmentów jednym mechanizmem stosowanie różnych zabezpieczeń (podpisów i szyfrów) dla tych samych danych stosowanie różnych algorytmów kryptograficznych lub tych samych, ale z różnymi parametrami zabezpieczenie danych binarnych dowolne dzielenie lub łączenie danych zabezpieczonych i danych źródłowych (m.in. danych rozproszonych w sieci)č