EDIFACT (UN/EDIFACT)
EDIFACT, formally UN/EDIFACT, is an international standard maintained by the United Nations through UN/CEFACT that defines a common syntax and a library of message types — including ORDERS, INVOIC, DESADV, and PRICAT — for exchanging structured business documents such as purchase orders, invoices, shipping notices, and price catalogs between trading partners' computer systems. It is the EDI standard that dominates outside North America, where ANSI X12 is more common, and it predates the XML-based catalog and punchout standards many procurement systems now layer on top of it.
How an EDIFACT message is built
An EDIFACT interchange is the outer envelope, opened and closed by UNB and UNZ segments. Inside it, one or more messages are each bounded by a header (UNH) and trailer (UNT), and built from segments — BGM for the document type and number, NAD for names and addresses, LIN for line items — which are in turn made of data elements. A UNA service-string-advice line, when present, declares the delimiter characters; convention defaults to a colon for component separation, a plus sign for element separation, and an apostrophe to terminate each segment.
GS1 publishes EANCOM, a retail and consumer-goods subset of UN/EDIFACT that many product-data trading relationships actually run on rather than the full standard. Transmission is separate from the message format itself: interchanges move over value-added networks (VANs), or increasingly point-to-point via AS2 or SFTP.
The message types product-data teams touch
| Message | Direction | Carries |
|---|---|---|
ORDERS | Buyer → supplier | A purchase order |
ORDRSP | Supplier → buyer | Order acknowledgment or response |
DESADV | Supplier → buyer | Advance ship notice — what's on the way, down to the pallet |
INVOIC | Supplier → buyer | The invoice |
PRICAT | Supplier → buyer | A price/sales catalog syncing product master data — descriptions, dimensions, identifiers |
PRICAT and the LIN segments inside ORDERS/INVOIC are where product master data actually flows through EDIFACT. If the GTIN or supplier article number carried there is wrong or stale, every downstream order, invoice, and shipment built against it inherits the error.
EDIFACT vs ANSI X12 vs cXML/BMEcat
| EDIFACT | ANSI X12 | cXML / BMEcat | |
|---|---|---|---|
| Dominant region | Europe, international trade | North America | Platform-driven, region-agnostic |
| Document identity | Named messages (ORDERS, INVOIC) | Numeric transaction sets (e.g., 850 for a PO) | XML document types |
| Era / orientation | Batch EDI, decades old | Batch EDI, decades old | Web-native, built for real-time PunchOut sessions and catalog syndication |
| Governance | UN/CEFACT | ASC X12 | Vendor-originated (Ariba for cXML), industry consortium (BMEcat) |
A distributor selling into both US and international accounts often has to support X12 and EDIFACT concurrently for different trading partners, and increasingly cXML for procurement platforms on top of both.
Where EDIFACT breaks on bad product data
The message format is rarely the failure point after a trading relationship is live; the data behind it is. The recurring causes: a mapping error where an ERP field lands in the wrong EDIFACT segment or qualifier, product attributes that are incomplete or inconsistent feeding the PRICAT, a directory-version or EANCOM-subset mismatch between trading partners, and identifiers that changed in a source system without the EDI mapping layer being updated — so every subsequent transaction carries an orphaned code. None of these show up as an EDIFACT syntax error; they show up as a rejected order or an invoice that won't match a receipt.
Frequently asked questions
What is EDIFACT used for?
EDIFACT is used to exchange structured business documents — purchase orders, order responses, invoices, advance ship notices, and price catalogs — electronically between trading partners' systems, without either side needing to interpret a proprietary format. It is the EDI standard most common outside North America.
What's the difference between EDIFACT and ANSI X12?
Both are segment-based EDI standards for the same kinds of documents, but EDIFACT dominates in Europe and international trade while ANSI X12 dominates in North America. EDIFACT identifies documents by name (`ORDERS`, `INVOIC`); X12 uses numeric transaction-set codes (`850`, `810`). Companies trading on both sides of the Atlantic typically support both.
Is EDIFACT still used, or has it been replaced by XML and API standards?
It's still in active, heavy use for high-volume batch transactions like ordering and invoicing, particularly in Europe. Newer XML standards like cXML and BMEcat have taken over more interactive use cases such as PunchOut catalog sessions, but many enterprises run both side by side rather than replacing one with the other.
What is a PRICAT message?
PRICAT is the EDIFACT message type for a price and sales catalog — it's how a supplier syncs product master data, such as descriptions, dimensions, and identifiers like GTINs, to a trading partner's system electronically, rather than through a manual file exchange.
How are EDIFACT messages actually transmitted?
The message format is independent of the transport. In practice, EDIFACT interchanges move over value-added networks (VANs), which act as intermediary mailboxes, or increasingly through direct point-to-point connections using AS2 (an encrypted, HTTPS-based protocol with delivery receipts) or SFTP.