# EDIFACT

UN/EDIFACT (United Nations / Electronic Data Interchange for Administration, Commerce and Transport) ist ein branchenübergreifender internationaler Standard für das Format elektronischer Daten im Geschäftsverkehr. EDIFACT ist einer von mehreren internationalen EDI-Standards. Verantwortlich für den EDIFACT-Standard ist eine UN-Einrichtung namens CEFACT, die der UNECE angegliedert ist.

## Geschichte

Es gab diverse Vorläufer von EDIFACT, aus denen im Laufe der Zeit der Wunsch aufkam, diese vielfältigen elektronischen Formulare in einem weltweiten Standard zu fusionieren.
* USA: Pionierarbeit wurde 1975 in den USA mit der Entwicklung des EDI-Transportstandards Transport Data Coordination Commitee (TDCC) und den Probeläufen von 1977 bis 1982 mit Uniform Communication Standard (UCS) geleistet. Parallel begann ab 1978 die Entwicklung der US-Norm ANSI ASC X12.
* Europa: In den frühen siebziger Jahren fanden die ersten Standardisierungen von EDI-Nachrichten statt, teilweise national wie etwa SEDAS in Deutschland und TRADACOMS im Vereinigten Königreich, oder über länderübergreifende Branchenverbände.
1983 wurde Trade Data Interchange (TDI) zuerst der europäischen Kommission – für einen europäischen einheitlichen Standard – und wenig später der United Nations Economic Commission for Europe (UN/ECE) für einen weltweiten Standard vorgeschlagen. Innerhalb der Vereinten Nationen begann die Untersuchung die europäischen und US-amerikanischen Standards zu kombinieren, und dies mündete 1986 in die Definition der UN/EDIFACT-Syntax und -Richtlinien zum Aufbau von Nachrichten. Anschließend wurde in einer Rekordzeit von 18 Monaten im Jahr 1987 die UN/EDIFACT-Syntax als internationale Norm ISO 9735 veröffentlicht. Das Verzeichnis der Handelsdatenelemente (United Nations/Trade Data Elements Directory, UN/TDED) wurde ebenfalls als Norm ISO 7372 veröffentlicht. Zahlreiche Verbände, Organisationen und Unternehmen stellten in den Jahren danach weltweit ihre Geschäftsprozesse auf EDIFACT um.
Die Pflege des EDIFACT-Standards erfolgt unter dem Vorsitz der Arbeitsgruppe UN/CEFACT (United Nations/Center of Trade Facilitation and Electronic Business). Diverse internationale Organisationen, Verbände, nationale Vertreter usw. wirken an der Weiterentwicklung in vielfältigen Arbeitsgruppen mit.

## EDIFACT-Verzeichnisse

Die verschiedenen EDIFACT-Versionen werden Verzeichnisse genannt.
Diese EDIFACT-Verzeichnisse werden zweimal jährlich zum 1. April und 1. Oktober überarbeitet, um neue EDIFACT-Nachrichten aufzunehmen oder bestehende zu aktualisieren. EDIFACT-Verzeichnisse haben Namen wie D.03B.

## EDIFACT-Subsets

Aufgrund der Komplexität haben sich branchenspezifisch sogenannte Subsets von EDIFACT entwickelt. Diese Subsets sind Teilmengen von EDIFACT und beinhalten nur die für bestimmte Anwendergruppen relevanten Funktionen.
* CEFIC – Chemische Industrie
* EANCOM – Konsumgüterindustrie
* Edi@Energy – Strom und Gas (nur für Deutschland gültig)
* EDIBDB – Baustoffbranche
* EDIFICE – Elektronik-, Software- und Telekommunikationsbranche
* EDIFOR – Speditionsbranche
* EDIFURN – Möbelbranche
* EDIGAS – Ferngasgeschäft
* EDILEKTRO – Elektroindustrie / Elektrogroßhandel
* EDILIBE – Buchhandel
* EDIPAP – Papierhersteller / -großhandel / -verarbeitende Industrie
* EDITEC – Sanitärbranche
* EDITEX – Textilindustrie
* EDITRANS – Transportwirtschaft
* EDIWHEEL – Reifen- und Räderhersteller (inkl. AdHoc EDI)
* ETIS – Telekommunikation (nur für Rechnung)
* ODA/ODIF – Allgemeine Dokumentenformate
* ODETTE – Automobilindustrie
* RINET – Versicherungswirtschaft
* VDA – Automobilindustrie

## EDIFACT-Nachrichtentypen

Grundlegendes Standardisierungskonzept von EDIFACT ist, dass es einheitliche Nachrichtentypen gibt, deren englischer Name United Nations Standard Message (UNSM) lautet. In sogenannten Subsets können die Nachrichtentypen branchenspezifisch tiefer in ihren Ausprägungen spezifiziert werden. Nachfolgend eine Auswahl der häufigsten Nachrichtentypen, die alle immer genau einen Kurznamen haben, der aus sechs Großbuchstaben besteht:

### Service-Meldungen

Zur Bestätigung/Ablehnung einer Nachricht werden CONTRL- und APERAK-Meldungen gesendet.
Prüfschritte:
* CONTRL – Syntax-Prüfung und Rückmeldung über Ankunft der Meldung (Syntax- und Servicereport-Meldungen für automatische EDI-Verarbeitung, englisch Control)
* APERAK – Fachliche Fehlermeldungen und Quittierung (Application error and acknowledgement message)

### Datenaustausch

* CREMUL – Gutschriftsavisierung (multiple credit advice)
* DELFOR – Lieferabruf (delivery forecast)
* DELJIT – Feinabruf mit genauen Vorgaben bzgl. Lieferreihenfolge und Zeitvorgaben (delivery Just-in-time)
* DESADV – Lieferavis (despatch advice message)
* IFCSUM – Bordero (International Forwarding and/or Transport Message Consolidation Summary)
* IFTDGN – Gefahrgut-Ankündigung (dangerous goods notification message)
* IFTMBC – Buchungsbestätigung (transport booking confirmation)
* IFTMBF – Buchungsauftrag (transport booking request)
* IFTMBP – Buchungsanfrage (provisional booking message)
* IFTMIN – Transport-/Speditionsauftrag (instructions of transport)
* IFTSTA – Statusnachricht zu einer Lieferung (status of transport)
* IMBNOT – Statusnachricht zu einem Transport in der Gaswirtschaft (status of transport; imbalance notification)
* INSDES – Dispositionsnachricht (instruction to despatch message)
* INSRPT – Prüfbericht (inspection report)
* INVOIC – Rechnung (invoice message)
* INVRPT – Lagerbestandsbericht (inventory report)
* MSCONS – Verbrauchszählerwerte (metered services consumption report message)
* ORDCHG – Änderungsmitteilung einer Bestellung (purchase order change message)
* ORDERS – Bestellung (purchase order message)
* ORDRSP – Antwort auf eine Bestellung (purchase order response message)
* QALITY – Ergebnisse einer Qualitätsprüfung (quality data message)
* QUOTES – Angebotserstellung (offer production)
* PAYMUL – Überweisungen im Zahlungsverkehr (multiple payment order)
* PAYORD – Zahlungsanweisung (payment order message)
* PRICAT – Preisliste/Katalog (price catalogue message)
* PRODAT – Produktdaten (product data message)
* RECADV – Wareneingangsmeldung (receiving advice)
* REMADV – Zahlungsavise (remittance advice)
* REQOTE – Angebotsanfrage (request for quote)
* SLSRPT – Abverkaufsbenachrichtigung (sales report)
* UTILMD – Stammdaten zu Kunden, Verträgen und Zählpunkten (utilities master data message)

## EDIFACT-Aufbau

Jede Nachricht besteht aus einem Umschlag (englisch envelope), der den Nachrichteninhalt ähnlich wie ein Briefkuvert umhüllt. Dieser Umschlag besteht aus den Segmenten UNB und UNZ. In diesem Umschlag stehen jeweils vereinbarte Codenummern für Absender und Empfänger, sowie Nachrichteninhalt, Zeiten zur Rückverfolgung, sowie Prüfelemente. Eine Nachricht selbst besteht aus Segmenten, Datenelementgruppen und Datenelementen. Im folgenden Beispiel werden diese Begriffe näher erläutert.
Das optionale Segment UNA spielt eine Sonderrolle, da es das Segment- und Elementtrennzeichen sowie das Dezimaltrennzeichen für alle folgenden Daten definiert.
Funktionsgruppen (UNG-UNE) und Meldungen (UNH-UNT) sind wiederholbar. Im UNT wird für Prüfzwecke noch die Anzahl der Segmente der Meldung angegeben (inkl. der UNH-UNT Segmente).

## Beispiel

Ein Ausschnitt aus einer EDIFACT-Nachricht könnte so aussehen:
Diese ganze Zeile wird als Segment bezeichnet. Die Bedeutung der einzelnen Codes ist folgende:
* DTM ist der Segment-Bezeichner (englisch Tag) und ist das Kennzeichen, dass es sich bei den folgenden Daten um Datum/Zeit-Angaben handelt (DTM steht für Date/Time).
* 11 ist ein Datenelement (kurz: Element). In diesem Beispiel beschreibt ein Qualifier, welche Art von Zeitpunkt gemeint ist. Der Code 11 bedeutet: Versendezeitpunkt (z. B. einer Warenlieferung).
* 200606200730 ist ein weiteres Element. Hier stellt es das Datum in der Schreibweise JJJJMMTThhmm dar.
* 203 ist ebenso ein Element. 203 ist eine Kennung für das Datumsformat. In diesem Beispiel bedeutet 203, dass das Datum im Format JJJJMMTThhmm (das heißt 4 Stellen für das Jahr, 2 für den Monat, 2 für den Tag, es folgt die Uhrzeit mit 2 Stellen für die Stunde und 2 Stellen für die Minuten) angegeben ist.
* Der gesamte Block 11:200606200730:203 wird Datenelementgruppe (englisch composite elements, kurz: composites) genannt (erkennbar am Trennzeichen Doppelpunkt statt Plus).
* Die Datenelementgruppen (Blöcke) werden durch ein Plus-Zeichen voneinander getrennt. Hier gibt es nur eine Datenelementgruppe, die vom einleitenden Segment-Bezeichner DTM durch Plus getrennt wird.
Ein kompletter UN/EDIFACT Interchange, der hier z. B. eine Bestellung entsprechend dem Standard vom Frühling 1996 enthält, könnte so aussehen:
Hierbei ist zu beachten, dass diese Nachricht ohne Zeilenumbrüche, die in diesem Beispiel zur Lesbarkeit eingefügt wurden, gepackt wird. Ob mit oder ohne Umbruch übermittelt wird, ist dabei zwischen den Partnern zu vereinbaren. Die meisten EDI-Konverter können mit beidem umgehen. In allen UN/EDIFACT Interchanges legt UNA:+.? ' als erstes Advise Segment der Nachricht die Trennzeichen fest. Der Doppelpunkt („:“) wird zum Component Separator, das Pluszeichen („+“) zum Element Separator, der Punkt („.“) wird als Dezimaltrennzeichen festgelegt, das Fragezeichen („?“) zum Release Indicator, das Leerzeichen („ “) bleibt ein Leerzeichen, und das Hochkomma („' “) ist Segment Terminator. Der Release Indicator ist notwendig, damit die Bedeutung eines Separators aufgehoben wird, um beispielsweise ein Pluszeichen in Freitext darzustellen (Escape-Sequenz). Danach folgen dem UNB Interchange Header die einzelnen Nachrichten, welche mit UNH beginnen und mit UNT aufhören. Selten benutzt wird die Möglichkeit, Nachrichten zu gruppieren. Dies geschieht mittels der Segmente UNG und UNE. Ein UNZ-Segment beendet den Interchange, wiederholt dessen Nummer und summiert die Anzahl der Nachrichten, so wie das UNT-Segment die Anzahl der Segmente innerhalb einer Nachricht summiert.
Sender- und Empfängerkennung werden als Global Location Number (GLN) übermittelt, Produkte mit ihrer Global Trade Item Number (GTIN) oder European Article Number (EAN), der dem auf Waren aufgedruckten Strichcode entspricht, übertragen.

## Datenformat

EDIFACT ist ein Standard für das Datenformat, nicht für die Übertragung der Daten, das heißt, im Prinzip können EDIFACT-Nachrichten über jedes Medium (siehe Publikationsform) ausgetauscht werden, das zur Übertragung elektronischer Daten benutzt werden kann. EDIFACT ist unabhängig vom verwendeten Übertragungsprotokoll.
Ursprünglich war EDIFACT die Domäne der Mehrwertnetze (Value Added Network, VAN) oder wurde auf Standleitungen eingesetzt. Es gab Projekte, die EDIFACT-Nachrichten per Diskette oder Magnetband transportierten. EDIFACT wird mittlerweile ebenso über das Internet genutzt, beispielsweise mit Übertragungsprotokollen wie X.400, E-Mail, AS2, MBS/IP, FTP oder OFTP2.
Entweder sind die beteiligten Anwendungsprogramme in der Lage, EDIFACT-Nachrichten zu erzeugen oder zu verarbeiten, oder es wird ein Konverter dazwischengeschaltet, der die Daten entsprechend umwandelt. Wie die Daten konvertiert werden, ist konfigurierbar. Mit einem Editor können sogenannte Mappingtabellen erzeugt werden, die dem Konverter zugeführt werden. Eine Umwandlung von EDIFACT in ein XML-Format und umgekehrt ist möglich. Hier wird zusätzlich eine Steuerung verwendet, die den Kommunikationsprozess von der Partnerverwaltung, der Tabellenverwaltung, dem Logging und der Archivierung vollautomatisch übernimmt. Einige Unternehmen setzen derartige Software vor Ort ein, andere lassen die Konvertierung von Dritten durchführen (EDI-Outsourcing). Es gibt einige open-source-Konverter.
UN/EDIFACT ist ein Format, das die ganz überwiegende Mehrheit aller Geschäftspapiere beschreibt. Es ist notwendig, zwischen den Partnern (Trading partner) genaue Vereinbarungen über Dateninhalte zu treffen, die die Kannfelder und Mussfelder in ausgewählten Segmenten festlegen. Häufig werden zudem private Code List Extensions nötig sein, um den realen Geschäftsablauf präzise abzubilden. Aus diesen Code List Extensions entstehen Branchenstandards, die in Subsets standardisiert werden. Für Anwendungsfelder, in denen Branchenstandards fehlen oder Spezialprozesse zum Einsatz kommen, werden diese Vereinbarungen z. B. über eine EDI-Vereinbarung bilateral festgelegt.