Glossary Term

UN/CEFACT

The United Nations Centre for Trade Facilitation and Electronic Business — the UNECE intergovernmental body that produces the Cross Industry Invoice (CII), the second of the two XML syntaxes accepted by EN 16931. UN/CEFACT also publishes the Core Component Library that underpins CII, ZUGFeRD, Factur-X, and most non-UBL e-business standards used in Europe.

Quick Facts

Full name
United Nations Centre for Trade Facilitation and Electronic Business
Pairs with
OASIS (UBL) as the other EN 16931 syntax body
Parent body
UNECE (UN Economic Commission for Europe)
Headquarters
Geneva, Switzerland
Other major standard
EDIFACT (and Core Component Library)
Code lists in EN 16931
Rec 20/21 (units), Rec 1001 (doc type codes)
Key e-invoicing output
Cross Industry Invoice (CII), D16B schema
EN 16931 syntax binding
Part 3-3 — CII D16B SCRDM subset

Definition

What it is

UN/CEFACT — the United Nations Centre for Trade Facilitation and Electronic Business — is a subsidiary intergovernmental body of the UN Economic Commission for Europe (UNECE), headquartered in Geneva. It is the standards body that produces the Cross Industry Invoice (CII), the second of the two XML syntaxes that EN 16931 accepts. Where OASIS gives Europe UBL, UN/CEFACT gives Europe CII.

Membership is open to UN Member States, plus standards bodies, industry associations, and NGOs that participate as observers. Plenary meetings are held annually, with technical work conducted by specialist Programme Development Areas (PDAs) and Domain Coordination Groups in between. UN/CEFACT outputs are recommendations to governments and standards bodies, not laws — they become binding only when an EU directive, a national mandate, or a private-sector standard adopts them by reference.

What UN/CEFACT produces

The deliverables relevant to EU e-invoicing are:

  • The Core Component Library (UN/CCL). A catalogue of reusable semantic building blocks ("Core Components") used across all UN/CEFACT messages. "Trade Party," "Monetary Summation," "Document Reference" — each is defined once, in the CCL, and reused in dozens of messages.

  • The Reference Data Model (RDM). A higher-level integrated data model — most importantly the Supply Chain Reference Data Model (SCRDM) — into which the Core Components are assembled. The Cross Industry Invoice is a subset of the SCRDM.

  • XML Schemas. Each RDM message is published as a set of W3C XSD files. The current generation is the D16B release (December 2016 Baseline), which is the version EN 16931 references.

  • XML Naming and Design Rules (XML NDRs). The conventions that govern how Core Components map to XML — element naming, namespace structure, type definitions. This is the rulebook every UN/CEFACT XSD follows.

  • EDIFACT. UN/CEFACT also maintains EDIFACT, the original UN trade-message standard that predates XML by two decades. EDIFACT is still in active use across retail and automotive supply chains (the INVOIC D96A message is the most widely deployed pre-Peppol invoice format).

  • Recommendations. Numbered recommendations (Rec 20 on units of measure, Rec 21 on package codes, Rec 24 on transport status codes) that EN 16931 and Peppol both reference as code lists.
  • UN/CEFACT also produces newer work on Buy-Ship-Pay reference models, single-window architectures, JSON-LD bindings for trade documents, and supply-chain traceability — but the e-invoicing-relevant stack is centred on the CCL plus the SCRDM plus the D16B XSDs.

    UN/CEFACT vs. OASIS

    EN 16931 has two syntaxes because Europe inherited two pre-existing XML invoice standards, each backed by a different standards body:

  • OASIS (Organization for the Advancement of Structured Information Standards) — a US-based consortium that produced UBL (Universal Business Language). UBL is industry-driven, member-funded, and ISO-ratified (ISO/IEC 19845:2015).

  • UN/CEFACT — intergovernmental, UNECE-hosted, with a longer history (descending from EDIFACT) and a heavier semantic apparatus (the CCL).
  • The two standards model the same business reality with different design philosophies. UBL tends to be flatter, with more aggressive name shortening (cbc:, cac:). CII tends to be deeper, with reusable Core Components nested into longer XML paths and explicit type-coded values everywhere. Neither is technically superior; the choice is mostly historical. German-speaking markets and France lean CII (driven by ZUGFeRD and Factur-X, which embed CII inside PDF/A-3 as a hybrid invoice). The Nordics, Benelux, and the Peppol network lean UBL.

    Where CII shows up in practice

    For an ERP vendor in EU e-invoicing, UN/CEFACT enters the picture in three concrete places:

    1. Pure CII e-invoices. Customers in France (PPF and certified Plateformes Agréées), Germany (XRechnung supports both syntaxes; many large enterprises prefer CII), and Italy (FatturaPA is a national derivative, not pure CII, but inherits structural conventions) ship invoices in CII. Anything targeting Factur-X is, by definition, CII.
    2. Hybrid ZUGFeRD / Factur-X. The XML embedded in a ZUGFeRD or Factur-X PDF/A-3 is a CII document, not a UBL document. Generating ZUGFeRD output means generating CII.
    3. Code lists. Even an ERP that ships UBL exclusively still depends on UN/CEFACT code lists. The unit-of-measure attribute on every quantity (KGM for kilograms, EA for each, LTR for litres) is UN/CEFACT Recommendation 20 / 21. The invoice type code (380 for commercial invoice, 381 for credit note, 384 for corrected invoice) is from UN/CEFACT Recommendation 1001. These code lists are not optional even in UBL-only deployments.

    UN/CEFACT and EN 16931 maintenance

    EN 16931 is maintained by CEN/TC 434, the technical committee under CEN (the European Committee for Standardization). The CII syntax binding inside EN 16931 — Part 3-3: Syntax binding for UN/CEFACT XML Industry Invoice D16B — is the formal contract between EN 16931 and UN/CEFACT.

    Updates flow in one direction: when CEN/TC 434 needs new behaviour, it can either extend the syntax binding (rare) or update the EN 16931 Schematron artefacts to add new business rules. The underlying UN/CEFACT D16B schema is effectively frozen for EU purposes; future UN/CEFACT releases (D17A, D18A, etc.) are not used by EN 16931. This intentional stability avoids forcing ERP vendors to chase syntax churn.

    Why this matters at the ERP integration layer

    The practical consequence of UN/CEFACT's role is that any ERP claiming "EN 16931 compliance" must be honest about whether it supports CII at all. UBL-only support covers Peppol, Belgium, the Netherlands, and the Nordic mandates — but it does not cover ZUGFeRD, Factur-X, or French PPF flows that prefer CII. Adding CII support is non-trivial: the XSDs are larger, the XPaths are deeper, and the Schematron rule set is parallel-but-different.

    For most ERP vendors the right sequence is to internalise EN 16931 as a syntax-neutral semantic model (the BT- and BG- business terms), then emit UBL or CII via a syntax-binding layer driven by the customer's target platform. That is the architecture UN/CEFACT and OASIS both implicitly endorse — and it is the one EN 16931 was designed to enable.

    XML Examples

    CII (ZUGFeRD, Factur-X)

    <!-- A CII invoice carries UN/CEFACT namespaces throughout -->
    <rsm:CrossIndustryInvoice xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
                              xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
                              xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
                              xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100">
      <rsm:ExchangedDocumentContext>
        <ram:GuidelineSpecifiedDocumentContextParameter>
          <ram:ID>urn:cen.eu:en16931:2017</ram:ID>
        </ram:GuidelineSpecifiedDocumentContextParameter>
      </rsm:ExchangedDocumentContext>
      <rsm:ExchangedDocument>
        <ram:ID>INV-2026-001</ram:ID>
        <ram:TypeCode>380</ram:TypeCode>
        <ram:IssueDateTime>
          <udt:DateTimeString format="102">20260521</udt:DateTimeString>
        </ram:IssueDateTime>
      </rsm:ExchangedDocument>
      <!-- ... -->
    </rsm:CrossIndustryInvoice>

    Related Content