What is EDIFACT?

EDIFACT is the acronym for Electronic Data Interchange for Administration, Commerce and Transport.

It is the international standard for Electronic Data Interchange (EDI), which was developed by the United Nations (UN). The standard was approved as the ISO 9735 standard by the International Organization for Standardization (ISO) in 1987. The EDIFACT standard provides rules on how to structure data and standardize messages for multi-industry and multi-country exchange.

EDIFACT is also known as United Nations/Electronic Data Interchange For Administration, Commerce and Transport (UN/EDIFACT).

The work of maintenance and further development of this standard is done through the United Nations Center for Trade Facilitation and Electronic Business (UN/CEFACT) under the UN Economic Commission for Europe (UN/ECE).


EDIFACT Directory

An EDIFACT Directory contains all EDIFACT messages for a certain release, e.g. Directory D01B. EDIFACT Directories are released twice every year from the United Nations (UN). The EDIFACT Direcories of older versions are still valid, a new EDIFACT Directory does not make the Directories of previous years invalid. There is no issue, if you e.g. use a Directory like D96.A, if you have agreed this with your trading partner, but the latest Directory is D17B.

Please find here all EDIFACT Directories, which we actually have in our database.


EDIFACT Structure

EDIFACT has a hierarchical structure where the top level is referred to as an interchange, and lower levels contain multiple messages which consist of segments, which in turn consist of composites. The final iteration is an element which is derived from the United Nations Trade Data Element Directory (UNTDED); these are normalised throughout the EDIFACT standard.

All EDIFACT messages are based on the ISO9735, in which the syntax units are described in detail, and have the following structure:

         Service String Advice     UNA  Conditional
  +----- Interchange Header        UNB  Mandatory
  | +--- Functional Group Header   UNG  Conditional
  | | +- Message Header            UNH  Mandatory
  | | |  User Data Segments             As required
  | | +- Message Trailer           UNT  Mandatory
  | +--- Functional Group Trailer  UNE  Conditional
  +----- Interchange Trailer       UNZ  Mandatory


What is an EDIFACT message?

An EDIFACT message is a single business document. Each EDIFACT message is always identified by a six character name.

Typical EDIFACT messages are the following:
ORDERS - Purchase Order Message
ORDCHG - Purchase Order Change Request Message
ORDRSP - Purchase Order Response Message
DESADV - Despatch Advice Message
INVOIC - Invoice Message

EDIFACT messages are made up of a collection of sequenced segments within defined areas. Some segments may be used in more than one area. Messages begin with the Message Header Segment (UNH) and end with the Message Trailer Segment (UNT).

Please find here all EDIFACT Messages, based on the different Directories which we actually have in our database.


What is an EDIFACT Segment?

An EDIFACT segment is a collection of logically-related data elements in a fixed, defined sequence. EDIFACT segments contain:
- a three-character alphanumeric code that identifies the segment. This is called the segment tag.
- Variable length data elements. These can be either simple or composite.

EDIFACT segments must be separated by a data element separator (data element delimeter), which is normally "+" and ":", and terminated by a segment terminator, normally "‘".

All segments are fully documented in the United Nations Trade Data Interchange Directory (UNTDID). These tables list the segment position, segment tag and segment name. Segment tables also specify if a segment must appear in a message using the requirements designator "M" (Mandatory) or "C" (Conditional), and how many times a particular segment may repeat (repetition field).

In EDIFACT, there are two kinds of segments: Service Segments and Generic Segments.

Service Segments are:
- Envelopes (UNB-UNZ, UNG-UNE, UNH-UNT)
- Delimiter String Advice (UNA)
- Section Separator (UNS)

Generic Segments are for example:
- BGM for the beginning of a message, which contains the document number
- DTM for dates and times
- NAD for name and address data
- MOA for monetary amounts

Please find here all EDIFACT Segments, based on the different Directories which we actually have in our database.


What is an EDIFACT Data Element?

A simple data element contains one piece of information.

The composite data element contains more than one piece of information, usually containing qualifiers.

In EDIFACT, all mandatory data elements must contain data. Conditional data elements may or may not contain data, depending on the requirements of the particular transmission.

Since data elements must be accounted for by their position in the segment, if an optional or conditional data element does not have data, that data element must still be accounted for in its position within the segment by using the appropriate number of data element separators to ‘skip over’ the empty field.

Data Elements can have different types: numeric, alphabetical and alphanumeric.

Please find here all EDIFACT Data Elements, based on the different Directories which we actually have in our database.


What is an EDIFACT Qualifier?

A Composite Data Element is made up of two or more pieces of data (known as components) which form a single data unit. Typically the first data element is the value, which is being qualified. The second data element is typically the qualifier. These are typically ID (code values) fields. The qualifier gives additional definition to the value.


EDIFACT Delimiters

EDIFACT is using the following delimeters:

Segment delimiter        '     apostrophe          Hex: 0x27
Element delimiter        +     plus sign           Hex: 0x2B
Subelement delimiter     :     colon               Hex: 0x3A
Decimal Separator        .     period              Hex: 0x2E
Release character        ?     question mark       Hex: 0x3F



The following data is a very simple example of an EDIFACT (Purchase) ORDERS:

UNH+1+ORDERS:D:96A:UN'             Message Header                  EDIFACT ORDERS D.96A
BGM+220+PO123456+9'                Beginning of message            PO Number
DTM+137:20171129:102'              Date/Time                       Document Date
DTM+2:20171201:102'                Date/Time                       Requested Delivery Date
RFF+CR:ABC'                        Reference                       Customer Reference Number
NAD+BY+1234567890123::9'           Name and address                GLN Buyer
NAD+SU+9876543210987::9'           Name and address                GLN Supplier
NAD+DP+4567890123456::9'           Name and address                GLN Ship-to
LIN+1++4123456789012:EN'           Line Item Details               GTIN
QTY+21:10:PCE'                     Quantity                        Ordered quantity
PRI+AAA:9.99'                      Price details                   Net price
UNS+S'                             Section control                 Start of the summary section
CNT+2:1'                           Control total                   Number of line items in message
UNT+14+1'                          Message Trailer                 Total number of segments, control reference number from UNH